clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h
authorGeliang Tang <geliangtang@163.com>
Fri, 8 Jan 2016 15:51:46 +0000 (23:51 +0800)
committerStephen Boyd <sboyd@codeaurora.org>
Fri, 29 Jan 2016 20:59:50 +0000 (12:59 -0800)
to_clk_*(_hw) macros have been repeatedly defined in many places.
This patch moves all the to_clk_*(_hw) definitions in the common
clock framework to public header clk-provider.h, and drop the local
definitions.

Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
25 files changed:
drivers/clk/clk-composite.c
drivers/clk/clk-divider.c
drivers/clk/clk-fixed-factor.c
drivers/clk/clk-fixed-rate.c
drivers/clk/clk-fractional-divider.c
drivers/clk/clk-gate.c
drivers/clk/clk-gpio.c
drivers/clk/clk-multiplier.c
drivers/clk/clk-mux.c
drivers/clk/imx/clk-busy.c
drivers/clk/imx/clk-fixup-div.c
drivers/clk/imx/clk-fixup-mux.c
drivers/clk/imx/clk-gate-exclusive.c
drivers/clk/mediatek/clk-gate.c
drivers/clk/mediatek/clk-gate.h
drivers/clk/mvebu/common.c
drivers/clk/mvebu/kirkwood.c
drivers/clk/mxs/clk-div.c
drivers/clk/nxp/clk-lpc18xx-ccu.c
drivers/clk/st/clkgen-mux.c
drivers/clk/ti/composite.c
drivers/clk/ti/divider.c
drivers/clk/ti/gate.c
drivers/clk/ti/mux.c
include/linux/clk-provider.h

index 4735de0660cc912f1bafea1e31388bcf9843543d..1f903e1f86a281385a817d0a450404240ac40109 100644 (file)
@@ -19,8 +19,6 @@
 #include <linux/err.h>
 #include <linux/slab.h>
 
-#define to_clk_composite(_hw) container_of(_hw, struct clk_composite, hw)
-
 static u8 clk_composite_get_parent(struct clk_hw *hw)
 {
        struct clk_composite *composite = to_clk_composite(hw);
index aa1dacdaa39d29bfd304051b40d3ebc773d9c51b..7d62dc30e969e2d7b15c21ae7e086ee56514a6a4 100644 (file)
@@ -28,8 +28,6 @@
  * parent - fixed parent.  No clk_set_parent support
  */
 
-#define to_clk_divider(_hw) container_of(_hw, struct clk_divider, hw)
-
 #define div_mask(width)        ((1 << (width)) - 1)
 
 static unsigned int _get_table_maxdiv(const struct clk_div_table *table,
index 83de57aeceea514dfaf53fc5a0271b1ca7d3b13d..f0ddf37d5e15d168f0ab96b3aa3a1860a942cead 100644 (file)
@@ -23,8 +23,6 @@
  * parent - fixed parent.  No clk_set_parent support
  */
 
-#define to_clk_fixed_factor(_hw) container_of(_hw, struct clk_fixed_factor, hw)
-
 static unsigned long clk_factor_recalc_rate(struct clk_hw *hw,
                unsigned long parent_rate)
 {
index f85ec8d1711fb7f36ac2e724308745dbf7b1ef47..e156beb871f085eba0075dd083be95ab2e81b47a 100644 (file)
@@ -26,8 +26,6 @@
  * parent - fixed parent.  No clk_set_parent support
  */
 
-#define to_clk_fixed_rate(_hw) container_of(_hw, struct clk_fixed_rate, hw)
-
 static unsigned long clk_fixed_rate_recalc_rate(struct clk_hw *hw,
                unsigned long parent_rate)
 {
index 5c4955e33f7a259711b960593941df38d526f2bb..1abcd76b4993805f2b135b92e5bc285b10de5c95 100644 (file)
@@ -16,8 +16,6 @@
 #include <linux/slab.h>
 #include <linux/rational.h>
 
-#define to_clk_fd(_hw) container_of(_hw, struct clk_fractional_divider, hw)
-
 static unsigned long clk_fd_recalc_rate(struct clk_hw *hw,
                                        unsigned long parent_rate)
 {
index de0b322f5f58d4a57677455e6a5a2a78dcf0687d..d0d8ec8e1f1b0c8ae6de9457179ddf6bb8616434 100644 (file)
@@ -26,8 +26,6 @@
  * parent - fixed parent.  No clk_set_parent support
  */
 
-#define to_clk_gate(_hw) container_of(_hw, struct clk_gate, hw)
-
 /*
  * It works on following logic:
  *
index 19fed65587e8206c20f6ee13a1b736276e8922ae..cbbea2985cc9776787757f4b8843ba7cfba049a8 100644 (file)
@@ -31,8 +31,6 @@
  * parent - fixed parent.  No clk_set_parent support
  */
 
-#define to_clk_gpio(_hw) container_of(_hw, struct clk_gpio, hw)
-
 static int clk_gpio_gate_enable(struct clk_hw *hw)
 {
        struct clk_gpio *clk = to_clk_gpio(hw);
index fe7806506bf34e8a554a815cef99c5afba754b26..9e449c7b751c328e23b074186e1bebf426172087 100644 (file)
@@ -14,8 +14,6 @@
 #include <linux/of.h>
 #include <linux/slab.h>
 
-#define to_clk_multiplier(_hw) container_of(_hw, struct clk_multiplier, hw)
-
 static unsigned long __get_mult(struct clk_multiplier *mult,
                                unsigned long rate,
                                unsigned long parent_rate)
index 5ed03c8a8df9e122b904d5c62bb603f884d4deb5..252188fd8bcdf49872bff06d313142df6d297ba3 100644 (file)
@@ -26,8 +26,6 @@
  * parent - parent is adjustable through clk_set_parent
  */
 
-#define to_clk_mux(_hw) container_of(_hw, struct clk_mux, hw)
-
 static u8 clk_mux_get_parent(struct clk_hw *hw)
 {
        struct clk_mux *mux = to_clk_mux(hw);
index 4bb1bc419b798e5323652d36c0cf1413e45ccf31..5cc99590f9a33a397bc1fc51ffaf821867aeb6e9 100644 (file)
@@ -38,7 +38,7 @@ struct clk_busy_divider {
 
 static inline struct clk_busy_divider *to_clk_busy_divider(struct clk_hw *hw)
 {
-       struct clk_divider *div = container_of(hw, struct clk_divider, hw);
+       struct clk_divider *div = to_clk_divider(hw);
 
        return container_of(div, struct clk_busy_divider, div);
 }
@@ -123,7 +123,7 @@ struct clk_busy_mux {
 
 static inline struct clk_busy_mux *to_clk_busy_mux(struct clk_hw *hw)
 {
-       struct clk_mux *mux = container_of(hw, struct clk_mux, hw);
+       struct clk_mux *mux = to_clk_mux(hw);
 
        return container_of(mux, struct clk_busy_mux, mux);
 }
index 21db020b1f2dccee6b7646ac4cd0a4f6e8308e7d..ce57227327153064b9f359d82ce91da148e6f02e 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/slab.h>
 #include "clk.h"
 
-#define to_clk_div(_hw) container_of(_hw, struct clk_divider, hw)
 #define div_mask(d)    ((1 << (d->width)) - 1)
 
 /**
@@ -35,7 +34,7 @@ struct clk_fixup_div {
 
 static inline struct clk_fixup_div *to_clk_fixup_div(struct clk_hw *hw)
 {
-       struct clk_divider *divider = to_clk_div(hw);
+       struct clk_divider *divider = to_clk_divider(hw);
 
        return container_of(divider, struct clk_fixup_div, divider);
 }
@@ -60,7 +59,7 @@ static int clk_fixup_div_set_rate(struct clk_hw *hw, unsigned long rate,
                            unsigned long parent_rate)
 {
        struct clk_fixup_div *fixup_div = to_clk_fixup_div(hw);
-       struct clk_divider *div = to_clk_div(hw);
+       struct clk_divider *div = to_clk_divider(hw);
        unsigned int divider, value;
        unsigned long flags = 0;
        u32 val;
index 0d40b35c557cba39980ad2644e6d4a97902f9555..c9b327e0a8dd9b2fd6f9c939f762c6dd46ae9917 100644 (file)
@@ -15,8 +15,6 @@
 #include <linux/slab.h>
 #include "clk.h"
 
-#define to_clk_mux(_hw) container_of(_hw, struct clk_mux, hw)
-
 /**
  * struct clk_fixup_mux - imx integer fixup multiplexer clock
  * @mux: the parent class
index c12f5f2e04dc1dda3d2a55c795e07e55ed012e52..3bd9dee618b2c2c06a9d18aa6f4efde5e8bf0f0d 100644 (file)
@@ -31,7 +31,7 @@ struct clk_gate_exclusive {
 
 static int clk_gate_exclusive_enable(struct clk_hw *hw)
 {
-       struct clk_gate *gate = container_of(hw, struct clk_gate, hw);
+       struct clk_gate *gate = to_clk_gate(hw);
        struct clk_gate_exclusive *exgate = container_of(gate,
                                        struct clk_gate_exclusive, gate);
        u32 val = readl(gate->reg);
index 576bdb7c98b8c98f6ece22aea9ae80443ad2b887..2a76901bf04bf377c3903bf19ff58670c96cd332 100644 (file)
@@ -25,7 +25,7 @@
 
 static int mtk_cg_bit_is_cleared(struct clk_hw *hw)
 {
-       struct mtk_clk_gate *cg = to_clk_gate(hw);
+       struct mtk_clk_gate *cg = to_mtk_clk_gate(hw);
        u32 val;
 
        regmap_read(cg->regmap, cg->sta_ofs, &val);
@@ -37,7 +37,7 @@ static int mtk_cg_bit_is_cleared(struct clk_hw *hw)
 
 static int mtk_cg_bit_is_set(struct clk_hw *hw)
 {
-       struct mtk_clk_gate *cg = to_clk_gate(hw);
+       struct mtk_clk_gate *cg = to_mtk_clk_gate(hw);
        u32 val;
 
        regmap_read(cg->regmap, cg->sta_ofs, &val);
@@ -49,14 +49,14 @@ static int mtk_cg_bit_is_set(struct clk_hw *hw)
 
 static void mtk_cg_set_bit(struct clk_hw *hw)
 {
-       struct mtk_clk_gate *cg = to_clk_gate(hw);
+       struct mtk_clk_gate *cg = to_mtk_clk_gate(hw);
 
        regmap_write(cg->regmap, cg->set_ofs, BIT(cg->bit));
 }
 
 static void mtk_cg_clr_bit(struct clk_hw *hw)
 {
-       struct mtk_clk_gate *cg = to_clk_gate(hw);
+       struct mtk_clk_gate *cg = to_mtk_clk_gate(hw);
 
        regmap_write(cg->regmap, cg->clr_ofs, BIT(cg->bit));
 }
index 11e25c992948fdcc7ea00c5cfa31f0274e6dfb53..b1821603b887f2874f97c6fb1819ff0fddfcd619 100644 (file)
@@ -29,7 +29,7 @@ struct mtk_clk_gate {
        u8              bit;
 };
 
-static inline struct mtk_clk_gate *to_clk_gate(struct clk_hw *hw)
+static inline struct mtk_clk_gate *to_mtk_clk_gate(struct clk_hw *hw)
 {
        return container_of(hw, struct mtk_clk_gate, hw);
 }
index 28aac67e7b92b0c668fee1d2d7c637a708141cef..daa6ebdac13112fbd50ee7bcfe4a6cf665b8bf67 100644 (file)
@@ -199,8 +199,6 @@ struct clk_gating_ctrl {
        u32 saved_reg;
 };
 
-#define to_clk_gate(_hw) container_of(_hw, struct clk_gate, hw)
-
 static struct clk_gating_ctrl *ctrl;
 
 static struct clk *clk_gating_get_src(
index 99550f25975ea74b8963bb77910b5cf1614f3594..a2a8d614039da91a1b3f99272aa98e5952b79037 100644 (file)
@@ -256,8 +256,6 @@ static const struct clk_muxing_soc_desc kirkwood_mux_desc[] __initconst = {
                11, 1, 0 },
 };
 
-#define to_clk_mux(_hw) container_of(_hw, struct clk_mux, hw)
-
 static struct clk *clk_muxing_get_src(
        struct of_phandle_args *clkspec, void *data)
 {
index 049ee27d5a22e680fad65c689a69813086d157e8..f75e989c578ffca5ce8474262a60b9809e13fd7f 100644 (file)
@@ -33,7 +33,7 @@ struct clk_div {
 
 static inline struct clk_div *to_clk_div(struct clk_hw *hw)
 {
-       struct clk_divider *divider = container_of(hw, struct clk_divider, hw);
+       struct clk_divider *divider = to_clk_divider(hw);
 
        return container_of(divider, struct clk_div, divider);
 }
index 558da89555afb82cd21568913be9facd90d09521..f7136b94fd0ea51f8b877e6403f076a9463263da 100644 (file)
@@ -28,8 +28,6 @@
 #define CCU_BRANCH_IS_BUS      BIT(0)
 #define CCU_BRANCH_HAVE_DIV2   BIT(1)
 
-#define to_clk_gate(_hw) container_of(_hw, struct clk_gate, hw)
-
 struct lpc18xx_branch_clk_data {
        const char **name;
        int num;
index 5dc5ce21796065df6739d4e395a35ce5c50375b2..0d9a74b66ea3d7fb2b76cc7843ba5ddc0573bddc 100644 (file)
@@ -822,11 +822,10 @@ err:
                if (!clk_data->clks[i])
                        continue;
 
-               composite = container_of(__clk_get_hw(clk_data->clks[i]),
-                                        struct clk_composite, hw);
-               kfree(container_of(composite->gate_hw, struct clk_gate, hw));
-               kfree(container_of(composite->rate_hw, struct clk_divider, hw));
-               kfree(container_of(composite->mux_hw, struct clk_mux, hw));
+               composite = to_clk_composite(__clk_get_hw(clk_data->clks[i]));
+               kfree(to_clk_gate(composite->gate_hw));
+               kfree(to_clk_divider(composite->rate_hw));
+               kfree(to_clk_mux(composite->mux_hw));
        }
 
        kfree(clk_data->clks);
index dbef218fe5ecd3ad64319700ac1b142d9c42a89c..43345c417815473f9160ef94ca599357fa3d6841 100644 (file)
@@ -28,8 +28,6 @@
 #undef pr_fmt
 #define pr_fmt(fmt) "%s: " fmt, __func__
 
-#define to_clk_divider(_hw) container_of(_hw, struct clk_divider, hw)
-
 static unsigned long ti_composite_recalc_rate(struct clk_hw *hw,
                                              unsigned long parent_rate)
 {
index df2558350fc1d6be681d818c361339acd2afaba3..b4e5de16e561e05a3d2e9ff41d38beb52f48555f 100644 (file)
@@ -26,8 +26,6 @@
 #undef pr_fmt
 #define pr_fmt(fmt) "%s: " fmt, __func__
 
-#define to_clk_divider(_hw) container_of(_hw, struct clk_divider, hw)
-
 #define div_mask(d)    ((1 << ((d)->width)) - 1)
 
 static unsigned int _get_table_maxdiv(const struct clk_div_table *table)
index 5429d35343639632a821548ef7837ccacd172a31..bc05f276f32b90039a0eed1879d7a1201930ea97 100644 (file)
@@ -24,8 +24,6 @@
 
 #include "clock.h"
 
-#define to_clk_divider(_hw) container_of(_hw, struct clk_divider, hw)
-
 #undef pr_fmt
 #define pr_fmt(fmt) "%s: " fmt, __func__
 
index dab9ba88b9d6d2b1b97e2472694bbb588997d8de..618ded96ace36ba47a32e2b00bf9be053431fb0b 100644 (file)
@@ -26,8 +26,6 @@
 #undef pr_fmt
 #define pr_fmt(fmt) "%s: " fmt, __func__
 
-#define to_clk_mux(_hw) container_of(_hw, struct clk_mux, hw)
-
 static u8 ti_clk_mux_get_parent(struct clk_hw *hw)
 {
        struct clk_mux *mux = to_clk_mux(hw);
index 408a60dca35335aacc9ecb957cbe80b599b9749e..33dc814d0f43907f8d0f540e0ebea9a7c155ff58 100644 (file)
@@ -276,6 +276,8 @@ struct clk_fixed_rate {
        u8              flags;
 };
 
+#define to_clk_fixed_rate(_hw) container_of(_hw, struct clk_fixed_rate, hw)
+
 extern const struct clk_ops clk_fixed_rate_ops;
 struct clk *clk_register_fixed_rate(struct device *dev, const char *name,
                const char *parent_name, unsigned long flags,
@@ -314,6 +316,8 @@ struct clk_gate {
        spinlock_t      *lock;
 };
 
+#define to_clk_gate(_hw) container_of(_hw, struct clk_gate, hw)
+
 #define CLK_GATE_SET_TO_DISABLE                BIT(0)
 #define CLK_GATE_HIWORD_MASK           BIT(1)
 
@@ -376,6 +380,8 @@ struct clk_divider {
        spinlock_t      *lock;
 };
 
+#define to_clk_divider(_hw) container_of(_hw, struct clk_divider, hw)
+
 #define CLK_DIVIDER_ONE_BASED          BIT(0)
 #define CLK_DIVIDER_POWER_OF_TWO       BIT(1)
 #define CLK_DIVIDER_ALLOW_ZERO         BIT(2)
@@ -441,6 +447,8 @@ struct clk_mux {
        spinlock_t      *lock;
 };
 
+#define to_clk_mux(_hw) container_of(_hw, struct clk_mux, hw)
+
 #define CLK_MUX_INDEX_ONE              BIT(0)
 #define CLK_MUX_INDEX_BIT              BIT(1)
 #define CLK_MUX_HIWORD_MASK            BIT(2)
@@ -484,6 +492,8 @@ struct clk_fixed_factor {
        unsigned int    div;
 };
 
+#define to_clk_fixed_factor(_hw) container_of(_hw, struct clk_fixed_factor, hw)
+
 extern const struct clk_ops clk_fixed_factor_ops;
 struct clk *clk_register_fixed_factor(struct device *dev, const char *name,
                const char *parent_name, unsigned long flags,
@@ -515,6 +525,8 @@ struct clk_fractional_divider {
        spinlock_t      *lock;
 };
 
+#define to_clk_fd(_hw) container_of(_hw, struct clk_fractional_divider, hw)
+
 extern const struct clk_ops clk_fractional_divider_ops;
 struct clk *clk_register_fractional_divider(struct device *dev,
                const char *name, const char *parent_name, unsigned long flags,
@@ -551,6 +563,8 @@ struct clk_multiplier {
        spinlock_t      *lock;
 };
 
+#define to_clk_multiplier(_hw) container_of(_hw, struct clk_multiplier, hw)
+
 #define CLK_MULTIPLIER_ZERO_BYPASS             BIT(0)
 #define CLK_MULTIPLIER_ROUND_CLOSEST   BIT(1)
 
@@ -580,6 +594,8 @@ struct clk_composite {
        const struct clk_ops    *gate_ops;
 };
 
+#define to_clk_composite(_hw) container_of(_hw, struct clk_composite, hw)
+
 struct clk *clk_register_composite(struct device *dev, const char *name,
                const char * const *parent_names, int num_parents,
                struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
@@ -602,6 +618,8 @@ struct clk_gpio {
        struct gpio_desc *gpiod;
 };
 
+#define to_clk_gpio(_hw) container_of(_hw, struct clk_gpio, hw)
+
 extern const struct clk_ops clk_gpio_gate_ops;
 struct clk *clk_register_gpio_gate(struct device *dev, const char *name,
                const char *parent_name, unsigned gpio, bool active_low,