[PATCH 2/2] clk: Move init fields from clk to clk_hw

Saravana Kannan skannan at codeaurora.org
Wed Apr 11 15:57:44 EDT 2012


On 04/11/2012 10:59 AM, Turquette, Mike wrote:
> On Thu, Apr 5, 2012 at 6:30 PM, Saravana Kannan<skannan at codeaurora.org>  wrote:
>> (*nudge*) (*nudge*) again :-)
>>
>> Sorry to keep nudging you on this often. The longer we wait for this, the
>> more churn it will cause later on. That's why I'm being persistent on this.
>> Also, once this goes in, I can start working on upstreaming MSM clock
>> support.

<SNIP>

> TL;DR: I think a combination of your change to expose the
> not-so-private parts of struct clk into struct clk_hw are OK and have
> real benefits for the clk-provider.h code.  However we need to
> implement it such that all the statically initialized data can be
> __initdata.

Sounds like a reasonable compromise.

> My only concern with this series is that platform clock code will
> access struct clk_hw members without the appropriate lock held (namely
> prepare_lock).  I'm a bit worried that there might be a case where
> some clock code access clk_hw->name when clk_hw has somehow been
> destroyed/altered (e.g. if clk_put every finally gets implemented...).
>   Besides clk_put are there any real instances where this might happen?

This problem is true for any struct/field marked as __init_data. So, I 
don't think this is a real problem. If someone is stupid enough to mark 
their data as __init_data and access them later, then there is not much 
we can do. Also, I believe the compiler throws out some warning when you 
try to access __init_data from non-init code.

> I'll be pushing my fixes branch out to the list soon.  Do you want to
> rebase this change on top of it taking into account the __initdata
> bits?

I thought it might be easier for you to base your changes on top of my 
patch. But I can try to rebase mine on top of your changes. Hopefully 
your fixes aren't crazy big/complex.

This is a busy week for me at work. I will try to send a patch in a day 
or two.

Thanks,
Saravana

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.



More information about the linux-arm-kernel mailing list