On Tue, Jul 3, 2012 at 5:34 AM, Rajendra Nayak <rnayak@xxxxxx> wrote: > Hi Mike, > > > On Thursday 14 June 2012 06:16 PM, Rajendra Nayak wrote: >> >> Most platforms end up using a mix of basic clock types and >> some which use clk_hw_foo struct for filling in custom platform >> information when the clocks don't fit into basic types supported. >> >> In platform code, its useful to know if a clock is using a basic >> type or clk_hw_foo, which helps platforms know if they can >> safely use to_clk_hw_foo to derive the clk_hw_foo pointer from >> clk_hw. >> >> Mark all basic clocks with a CLK_IS_BASIC flag. >> >> Signed-off-by: Rajendra Nayak<rnayak@xxxxxx> > > > While you have already pulled all of my other patches touching > the Common Clk framework, which were part of this series, this is > one patch where there hasn't been any discussion. Do you have any > thoughts on this patch? > See 'Patch 15/29: ARM: omap: clk: list all clk_hw_omap clks to > enable/disable autoidle' how I use this to create a clk_hw_omap > specific list to handle clock autoidle in OMAP. > Hi Rajendra, I don't have any outstanding review comments for this patch and I've taken it into clk-next. Pull the latest and you'll find it there. Thanks, Mike > regards, > Rajendra > >> --- >> drivers/clk/clk-divider.c | 2 +- >> drivers/clk/clk-fixed-factor.c | 2 +- >> drivers/clk/clk-fixed-rate.c | 2 +- >> drivers/clk/clk-gate.c | 2 +- >> drivers/clk/clk-mux.c | 2 +- >> include/linux/clk-private.h | 2 +- >> include/linux/clk-provider.h | 1 + >> 7 files changed, 7 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c >> index e4911ee..53f9dd7 100644 >> --- a/drivers/clk/clk-divider.c >> +++ b/drivers/clk/clk-divider.c >> @@ -266,7 +266,7 @@ struct clk *clk_register_divider(struct device *dev, >> const char *name, >> >> init.name = name; >> init.ops =&clk_divider_ops; >> - init.flags = flags; >> + init.flags = flags | CLK_IS_BASIC; >> init.parent_names = (parent_name ?&parent_name: NULL); >> >> init.num_parents = (parent_name ? 1 : 0); >> >> diff --git a/drivers/clk/clk-fixed-factor.c >> b/drivers/clk/clk-fixed-factor.c >> index c8c003e..a489985 100644 >> --- a/drivers/clk/clk-fixed-factor.c >> +++ b/drivers/clk/clk-fixed-factor.c >> @@ -82,7 +82,7 @@ struct clk *clk_register_fixed_factor(struct device >> *dev, const char *name, >> >> init.name = name; >> init.ops =&clk_fixed_factor_ops; >> - init.flags = flags; >> + init.flags = flags | CLK_IS_BASIC; >> init.parent_names =&parent_name; >> >> init.num_parents = 1; >> >> diff --git a/drivers/clk/clk-fixed-rate.c b/drivers/clk/clk-fixed-rate.c >> index cbd2462..7e14645 100644 >> --- a/drivers/clk/clk-fixed-rate.c >> +++ b/drivers/clk/clk-fixed-rate.c >> @@ -63,7 +63,7 @@ struct clk *clk_register_fixed_rate(struct device *dev, >> const char *name, >> >> init.name = name; >> init.ops =&clk_fixed_rate_ops; >> - init.flags = flags; >> + init.flags = flags | CLK_IS_BASIC; >> init.parent_names = (parent_name ?&parent_name: NULL); >> >> init.num_parents = (parent_name ? 1 : 0); >> >> diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c >> index 578465e..15114fe 100644 >> --- a/drivers/clk/clk-gate.c >> +++ b/drivers/clk/clk-gate.c >> @@ -130,7 +130,7 @@ struct clk *clk_register_gate(struct device *dev, >> const char *name, >> >> init.name = name; >> init.ops =&clk_gate_ops; >> - init.flags = flags; >> + init.flags = flags | CLK_IS_BASIC; >> init.parent_names = (parent_name ?&parent_name: NULL); >> >> init.num_parents = (parent_name ? 1 : 0); >> >> diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c >> index fd36a8e..508c032 100644 >> --- a/drivers/clk/clk-mux.c >> +++ b/drivers/clk/clk-mux.c >> @@ -106,7 +106,7 @@ struct clk *clk_register_mux(struct device *dev, const >> char *name, >> >> init.name = name; >> init.ops =&clk_mux_ops; >> - init.flags = flags; >> + init.flags = flags | CLK_IS_BASIC; >> init.parent_names = parent_names; >> init.num_parents = num_parents; >> >> diff --git a/include/linux/clk-private.h b/include/linux/clk-private.h >> index 2479239..0835bda 100644 >> --- a/include/linux/clk-private.h >> +++ b/include/linux/clk-private.h >> @@ -64,7 +64,7 @@ struct clk { >> .parent_names = _parent_names, \ >> .num_parents = ARRAY_SIZE(_parent_names), \ >> .parents = _parents, \ >> - .flags = _flags, \ >> + .flags = _flags | CLK_IS_BASIC, \ >> } >> >> #define DEFINE_CLK_FIXED_RATE(_name, _flags, _rate, \ >> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h >> index aa63aca..4b94f59 100644 >> --- a/include/linux/clk-provider.h >> +++ b/include/linux/clk-provider.h >> @@ -25,6 +25,7 @@ >> #define CLK_SET_RATE_PARENT BIT(2) /* propagate rate change up one >> level */ >> #define CLK_IGNORE_UNUSED BIT(3) /* do not gate even if unused */ >> #define CLK_IS_ROOT BIT(4) /* root clk, has no parent */ >> +#define CLK_IS_BASIC BIT(5) /* Basic clk, can't do a >> to_clk_foo() */ >> >> struct clk_hw; >> > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html