Hi Stephen, On Thu, May 14, 2020 at 10:37 PM Stephen Boyd <[email protected]> wrote: [...] > Do you have some sort of array of clk_hw pointers to register? Maybe we > could make a new clk registration structure to simplify this for users, > but I'm not super interested in introducing yet another registration > API! :/ > > struct clk_hw_desc { > struct clk_hw *hw; > struct clk_init_data *init; > }; I could make an array of clk_hw pointers but I think it will make things more complicated then they have to be. In another version of my MMC controller patches I had a dedicated array of clk_init_data: [0]
compare this with the latest version (which has made it to linux-next yesterday) where I'm initializing all clocks inside a few functions (meson_mx_sdhc_register_clkc, rather than a static table): [1] it's not great because it means I can't use a loop to register everything. but it's fairly easy to read so I think it's the best I can do for now. With the "solution" from [1] I also don't run into the issue which I described in my original mail because now clk_init_data only exists on the stack. I'm not sure if this is a recurring pattern or not, but for now I feel like a new API is not needed. Thank you for your time, Martin [0] https://patchwork.kernel.org/patch/11515631/ [1] https://patchwork.kernel.org/patch/11543939/

