[PATCH 06/11] gpio/omap: add clk_prepare and clk_unprepare

DebBarma, Tarun Kanti
2012-06-25T10:22:58Z

On Mon, Jun 25, 2012 at 12:32 PM, Rajendra Nayak <rnayak@ti.com> wrote:
> On Monday 25 June 2012 11:41 AM, DebBarma, Tarun Kanti wrote:
>>
>> On Mon, Jun 25, 2012 at 11:00 AM, Rajendra Nayak<rnayak@ti.com> ?wrote:
>>>
>>> On Saturday 23 June 2012 12:47 AM, Paul Walmsley wrote:
>>>>
>>>>
>>>> Hi
>>>>
>>>> On Fri, 22 Jun 2012, Rajendra Nayak wrote:
>>>>
>>>>> In preparation of OMAP moving to Common Clk Framework(CCF) add
>>>>> clk_prepare()
>>>>> for omap gpio debounce clock.
>>>>>
>>>>> Signed-off-by: Rajendra Nayak<rnayak@ti.com>
>>>>> Cc: Grant Likely<grant.likely@secretlab.ca>
>>>>> ---
>>>>> ?drivers/gpio/gpio-omap.c | ? ?2 ++
>>>>> ?1 files changed, 2 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
>>>>> index c4ed172..6a73b01 100644
>>>>> --- a/drivers/gpio/gpio-omap.c
>>>>> +++ b/drivers/gpio/gpio-omap.c
>>>>> @@ -893,6 +893,8 @@ static int gpio_debounce(struct gpio_chip *chip,
>>>>> unsigned offset,
>>>>> ? ? ? ? ? ? ? ?bank->dbck = clk_get(bank->dev, "dbclk");
>>>>> ? ? ? ? ? ? ? ?if (IS_ERR(bank->dbck))
>>>>> ? ? ? ? ? ? ? ? ? ? ? ?dev_err(bank->dev, "Could not get gpio dbck\n");
>>>>> + ? ? ? ? ? ? ? else
>>>>> + ? ? ? ? ? ? ? ? ? ? ? clk_prepare(bank->dbck);
>>>>> ? ? ? ?}
>>>>>
>>>>> ? ? ? ?spin_lock_irqsave(&bank->lock, flags);
>>>>
>>>>
>>>>
>>>> What code unprepares this clock?
>>>>
>>>> Put differently, doesn't this driver need at least a platform_driver
>>>> .remove function pointer, that would call clk_unprepare() and clk_put()?
>>>
>>>
>>>
>>> Maybe because this driver can never be built as a module. It gets
>>> complied in with CONFIG_ARCH_OMAP=y.
>>>
>>> Adding Tarun and Santosh who can comment further.
>>>
>>>
>>>>
>>>> Also, it looks to me that the bank->dbck init should be in
>>>> omap_gpio_chip_init(), not gpio_debounce()?
>>>
>>>
>>>
>>> Tarun, can you comment on why the dbck init is in gpio_debounce
>>> and not in omap_gpio_chip_init()?
>>
>> BTW, bank->dbck is initialized in gpio_debounce() even before the cleanup
>> and fixes series. I am not quite sure if there was specific intent for
>> keeping
>> it here. Personally I do not see issues in doing clk_get of bank->dbck in
>> omap_gpio_chip_init().
>
>
> Care to send a patch to move it into omap_gpio_chip_init() then? Also
> can you comment on the above point that Paul made, as to why this driver
> has a .remove missing? If adding that is a non-issue, would be great if
> you can drop in a patch for that too.
Yes, I will have a re-look before generating the patches.
--
Tarun
>>>>
>>>>
>>>> - Paul
>>>
>>>
>>>
>