[PATCH v6 1/2] ARM: davinci: Export two clocks function

Sekhar Nori nsekhar at ti.com
Thu Dec 8 04:39:37 PST 2016


On Thursday 08 December 2016 06:02 PM, Sekhar Nori wrote:
> On Wednesday 07 December 2016 10:39 PM, Alexandre Bailon wrote:
>> Rename and export __clk_enable() and __clk_disable() in order
>> to use them from usb-da8xx.c. This file implements the usb20 phy clock
>> that must be able to enable or disable usb20 clock.
>> To prevent a recurssive call to clk_enable() that would cause a recursive
>> locking issue, we must use __clk_enable() and __clk_disable().
>> Rename these methods in davinci_clk_enable() and davinci_clk_disable(),
>> and export them.
>>
>> Signed-off-by: Alexandre Bailon <abailon at baylibre.com>
>> Suggested-by: David Lechner <david at lechnology.com>
>> ---
>>  arch/arm/mach-davinci/clock.c | 14 ++++++++------
>>  arch/arm/mach-davinci/clock.h |  2 ++
>>  2 files changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mach-davinci/clock.c b/arch/arm/mach-davinci/clock.c
>> index df42c93..0f967c3 100644
>> --- a/arch/arm/mach-davinci/clock.c
>> +++ b/arch/arm/mach-davinci/clock.c
>> @@ -31,10 +31,10 @@ static LIST_HEAD(clocks);
>>  static DEFINE_MUTEX(clocks_mutex);
>>  static DEFINE_SPINLOCK(clockfw_lock);
>>  
>> -static void __clk_enable(struct clk *clk)
>> +void davinci_clk_enable(struct clk *clk)
>>  {
>>  	if (clk->parent)
>> -		__clk_enable(clk->parent);
>> +		davinci_clk_enable(clk->parent);
>>  	if (clk->usecount++ == 0) {
>>  		if (clk->flags & CLK_PSC)
>>  			davinci_psc_config(clk->domain, clk->gpsc, clk->lpsc,
>> @@ -43,8 +43,9 @@ static void __clk_enable(struct clk *clk)
>>  			clk->clk_enable(clk);
>>  	}
>>  }
>> +EXPORT_SYMBOL(davinci_clk_enable);
> 
> We don't want to export these as we dont want drivers to use this API.
> This is to be used within mach-davinci only.

Also, subject line is pretty vague. What about:

ARM: davinci: provide lock-less versions of clk_{enable|disable}

In the description too, please talk about on the main difference between
davinci_clk_{enable|disable}() (lockless) vs clk_enable() (locked). Use
USB case only as an example. Using them in usb-da8xx.c might be the
current motivation but this addresses similar needs in future too.

Thanks,
Sekhar



More information about the linux-arm-kernel mailing list