On 10/06/2015 12:50 PM, Russell King - ARM Linux wrote:
> On Tue, Oct 06, 2015 at 12:44:30PM -0700, Stephen Boyd wrote:
>> On 10/05, York Sun wrote:
>>> Michael and Stephen,
>>>
>>> Can you help me to understand "#define MAX_CON_ID 16" in clkdev.c? I am 
>>> trying
>>> to use clk_get() to acquire the clock with its name. This fails when the 
>>> clock
>>> name is more than 15 characters. I traced it to this macro.
>>>
>>> The reason of using clk_get() is I don't have device tree for my platform 
>>> until
>>> device tree overlay is officially supported. So I use clkdev_add() in the 
>>> clock
>>> driver.
>>>
>>> So my issue is with the MAX_CON_ID. Is there a reason to limit it to 16?
>>> Wouldn't it be better to use kstrdup() in vclkdev_alloc()?
>>>
>>
>> Mike and I are not the maintainers of clkdev. The maintainer of
>> clkdev is Russell King.
>>
>> I believe we can't use kstrdup() in vclkdev_alloc() because we
>> don't know if vclkdev_alloc() is called before the slab
>> allocators are up and running (this is why we have a
>> __clkdev_alloc() function). The simplest solution is to use
>> shorter names, can you do that?
> 
> Why does anyone need a _connection_ _id_ longer than 15 characters
> anyway?
> 
> It's not a system clock name - it's supposed to be a device _specific_
> clock _input_ name.  This statement comes from many years experience,
> where people have repeatedly passed clk_get(NULL, "global clock name")
> and eventually run into great problems, ending up having to pass clk
> connection names through platform data, or clk pointers through
> platform data.  Both are abhorrent.
> 
> Use the API as it was designed to be used: always use
> clk_get(device, "device-input-name") or clk_get_sys("device-name",
> "device-input-name") and not clk_get(NULL, "global-clock-name").
> 

Thanks to all for the guidance.

York
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to