Messages in this thread | | | From | Ricardo Ribalda Delgado <> | Date | Tue, 21 Jun 2016 10:38:53 +0200 | Subject | Re: [PATCH 1/3] clk: Add new function of_clk_is_provider() |
| |
Hi Stephen
On Tue, Jun 21, 2016 at 3:30 AM, Stephen Boyd <sboyd@codeaurora.org> wrote: > (Please don't top post)
Sorry about that
> > I was thinking that of_clk_init() would mark any nodes that > matched and provided clk providers as OF_POPULATED. That way, > when of_platform_populate() ran, it would *not* add platform > devices for clk providers that we registered during the > of_clk_init() phase. Then we could have platform drivers and > CLK_OF_DECLARE drivers for the same compatible strings, but we > wouldn't probe random platform drivers for the nodes that we > handled early on and we wouldn't need to litter > of_clk_is_provider() in driver probe routines. >
Ok, now I get it. I didn't realised that you wanted to set the flag.
I have prepared two new patches. now setup does something like:
void __init of_fixed_factor_clk_setup(struct device_node *node) { if (!_of_fixed_factor_clk_setup(node)) of_node_set_flag(node, OF_POPULATED); }
If we probe this method to be valid, on a future stage I can make a MACRO like:
CLK_OF_DECLARE_PLATFORM(fixed_factor_clk, "fixed-factor-clock", _of_fixed_factor_clk_setup, clk_unregister_fixed_factor);
That sets the flag, instantiate MODULE_DEVICE_TABLE, builtin_platform_driver, and does the platform_set_drvdata.....
Driver developers can choose to use CLK_OF_DECLARE_PLATFORM or CLK_OF_DECLARE
Thanks!
-- Ricardo Ribalda
| |