[PATCH 0/2] Common struct clk implementation, v14

Saravana Kannan skannan at codeaurora.org
Thu Apr 14 15:29:52 EDT 2011

On 04/14/2011 05:09 AM, Russell King - ARM Linux wrote:
> On Thu, Apr 14, 2011 at 07:59:58AM -0400, Nicolas Pitre wrote:
>> On Thu, 14 Apr 2011, Russell King - ARM Linux wrote:
>>> On Thu, Apr 14, 2011 at 08:25:05PM +1000, Benjamin Herrenschmidt wrote:
>>>> On Thu, 2011-04-14 at 11:00 +0100, Russell King - ARM Linux wrote:
>>>>> I will take it, but at the moment I'm rather unhappy about the response
>>>>> from the community to Linus' complaint.
>>>>> If existing platform maintainers can show that moving over to this will
>>>>> result in a net reduction of code under arch/arm, then that will be good.
>>>>> What I don't want to see at the moment is arch/arm increasing in size as
>>>>> a result of any change.  We desperately need to see a reduction for the
>>>>> next merge window.
>>>> It's a chicken and egg... platform maintainers wait for you to take it
>>>> and you wait for them to take it :-)
>>>> It seems to me that this fits well into the category of "better common
>>>> abstractions" that was discussed in the thread initiated by Linus as one
>>>> of the ways to improve on the "clutter"...
>>> That depends - sometimes creating generic stuff results in a net increase
>>> in the overall size, and that's something that Linus also complained about.
>>> According to linux-next, where we are at the moment with arch/arm is a
>>> net increase of 6000 lines since the close of the last merge window,
>>> and arch/arm is responsible for almost 75% of arch/ changes.  It looks
>>> very much like the same situation which Linus complained about.
>> Quoting Linus:
>> | Umm. The whole "number of lines of code" thing has become a total red
>> | herring.
>> |
>> |
>> | The reason I point out the number of lines of code is because it's one
>> | of the more obvious _symptoms_ of the problem.
>> So we need to work on infrastructure, and the clock API is exactly that.
>> Obviously adding it will increase the number of lines of code initially,
>> but eventually this will help _reduce_ them, and more importantly it
>> will allow for the reduction of mindless duplication of code that was
>> identified as being the actual problem causing maintenance pain.
> Adding it without anyone using it doesn't solve anything.  We need
> people to commit to producing patches to use it for the next merge
> window.


In your first reply to Jeremy you said this:
"I will take it, but at the moment I'm rather unhappy about the response
from the community to Linus' complaint."

So, if you are going to pull in his patches for the next merge, you can 
ignore this most of this email.

Talking for MSM, I'm waiting for some kind of certainty that these APIs 
will not be changed again before I rework our clock code to it. Even if 
I decide to move to this new framework without that certainty, it's 
going to be hard to convince driver teams to start using this new API if 
it's not already accepted upstream. At which point we would be back to 
square one -- "we need to see drivers (clock consumers) use these new 
APIs/rework before we pull it in".

Long story short, it's exactly the chicken and egg problem Nicolas was 
talking about and we need to break the egg :-)

Also, Jeremy's changes are more than just consolidation. They add 
clk_prepare/clk_unprepare APIs and those would be quite beneficial to 
quite a few machs/archs.

> And if you think its not about lines of code - grab the current linux-next
> tree and look at the diff between v2.6.39-rc1 and master for arch/arm, and
> then tell me whether using LOC is unreasonable given the patch content.

I'm sure lines of code is important, but saying we won't add any 
architectural improvements because it adds LOC seems backwards. If we go 
by that policy, the end result would be a freeze of the kernel.

Btw, what's your position on device tree for ARM? Device tree should 
help out a lot with clock data taking up too many LOCs.


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