diff mbox

[1/1] mtd:nand:clk: preparation for switch to common clock framework

Message ID 1347899860-24358-2-git-send-email-m-karicheri2@ti.com (mailing list archive)
State Awaiting Upstream
Headers show

Commit Message

Murali Karicheri Sept. 17, 2012, 4:37 p.m. UTC
As a first step towards migrating davinci platforms to use common clock
framework, replace all instances of clk_enable() with clk_prepare_enable()
and clk_disable() with clk_disable_unprepare(). Until the platform is
switched to use the CONFIG_HAVE_CLK_PREPARE Kconfig variable, this just
adds a might_sleep() call and would work without any issues.

This will make it easy later to switch to common clk based implementation
of clk driver from DaVinci specific driver.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Reviewed-by: Mike Turquette <mturquette@linaro.org>

Comments

Murali Karicheri Sept. 28, 2012, 4:10 p.m. UTC | #1
>> -----Original Message-----
>> From: Karicheri, Muralidharan
>> Sent: Monday, September 17, 2012 12:38 PM
>> To: dwmw2@infradead.org; artem.bityutskiy@linux.intel.com; hs@denx.de;
>> mikedunn@newsguy.com; linux-mtd@lists.infradead.org; linux-kernel@vger.kernel.org;
>> davinci-linux-open-source@linux.davincidsp.com; linux-arm-kernel@lists.infradead.org
>> Cc: Karicheri, Muralidharan
>> Subject: [PATCH 1/1] mtd:nand:clk: preparation for switch to common clock framework
>> 
>> As a first step towards migrating davinci platforms to use common clock
>> framework, replace all instances of clk_enable() with clk_prepare_enable()
>> and clk_disable() with clk_disable_unprepare(). Until the platform is
>> switched to use the CONFIG_HAVE_CLK_PREPARE Kconfig variable, this just
>> adds a might_sleep() call and would work without any issues.
>> 
>> This will make it easy later to switch to common clk based implementation
>> of clk driver from DaVinci specific driver.
>> 
>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
>> Reviewed-by: Mike Turquette <mturquette@linaro.org>
>> 
>> diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
>> index f386b3c..df1ab7d 100644
>> --- a/drivers/mtd/nand/davinci_nand.c
>> +++ b/drivers/mtd/nand/davinci_nand.c
>> @@ -724,7 +724,7 @@ static int __init nand_davinci_probe(struct platform_device
>> *pdev)
>>  		goto err_clk;
>>  	}
>> 
>> -	ret = clk_enable(info->clk);
>> +	ret = clk_prepare_enable(info->clk);
>>  	if (ret < 0) {
>>  		dev_dbg(&pdev->dev, "unable to enable AEMIF clock, err %d\n",
>>  			ret);
>> @@ -835,7 +835,7 @@ syndrome_done:
>> 
>>  err_scan:
>>  err_timing:
>> -	clk_disable(info->clk);
>> +	clk_disable_unprepare(info->clk);
>> 
>>  err_clk_enable:
>>  	clk_put(info->clk);
>> @@ -872,7 +872,7 @@ static int __exit nand_davinci_remove(struct platform_device
>> *pdev)
>> 
>>  	nand_release(&info->mtd);
>> 
>> -	clk_disable(info->clk);
>> +	clk_disable_unprepare(info->clk);
>>  	clk_put(info->clk);
>> 
>>  	kfree(info);
>> --
>> 1.7.9.5

Could you please review and apply this patch to mtd subsystem tree for linux-next?

Murali Karicheri
Software Design Engineer
Sekhar Nori Oct. 9, 2012, 1:03 p.m. UTC | #2
On 9/17/2012 10:07 PM, Murali Karicheri wrote:
> As a first step towards migrating davinci platforms to use common clock
> framework, replace all instances of clk_enable() with clk_prepare_enable()
> and clk_disable() with clk_disable_unprepare(). Until the platform is
> switched to use the CONFIG_HAVE_CLK_PREPARE Kconfig variable, this just
> adds a might_sleep() call and would work without any issues.
> 
> This will make it easy later to switch to common clk based implementation
> of clk driver from DaVinci specific driver.
> 
> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
> Reviewed-by: Mike Turquette <mturquette@linaro.org>

Tested this using NAND flash on DA850 EVM.

Acked-by: Sekhar Nori <nsekhar@ti.com>

Any chance this can make into the v3.7 kernel?

Thanks,
Sekhar
Sekhar Nori Oct. 9, 2012, 1:09 p.m. UTC | #3
On 10/9/2012 6:33 PM, Sekhar Nori wrote:
> On 9/17/2012 10:07 PM, Murali Karicheri wrote:
>> As a first step towards migrating davinci platforms to use common clock
>> framework, replace all instances of clk_enable() with clk_prepare_enable()
>> and clk_disable() with clk_disable_unprepare(). Until the platform is
>> switched to use the CONFIG_HAVE_CLK_PREPARE Kconfig variable, this just
>> adds a might_sleep() call and would work without any issues.
>>
>> This will make it easy later to switch to common clk based implementation
>> of clk driver from DaVinci specific driver.
>>
>> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
>> Reviewed-by: Mike Turquette <mturquette@linaro.org>
> 
> Tested this using NAND flash on DA850 EVM.
> 
> Acked-by: Sekhar Nori <nsekhar@ti.com>
> 
> Any chance this can make into the v3.7 kernel?

Just noticed another thread where Artem replied saying this patch is
pushed. Sorry about the noise.

Thanks,
Sekhar
Artem Bityutskiy Oct. 11, 2012, 9:57 a.m. UTC | #4
On Fri, 2012-09-28 at 16:10 +0000, Karicheri, Muralidharan wrote:
> >> -----Original Message-----
> >> From: Karicheri, Muralidharan
> >> Sent: Monday, September 17, 2012 12:38 PM
> >> To: dwmw2@infradead.org; artem.bityutskiy@linux.intel.com; hs@denx.de;
> >> mikedunn@newsguy.com; linux-mtd@lists.infradead.org; linux-kernel@vger.kernel.org;
> >> davinci-linux-open-source@linux.davincidsp.com; linux-arm-kernel@lists.infradead.org
> >> Cc: Karicheri, Muralidharan
> >> Subject: [PATCH 1/1] mtd:nand:clk: preparation for switch to common clock framework

I do not see this patch in my mailbox. Can you please re-send with all
the acks?
Sekhar Nori Oct. 11, 2012, 10:07 a.m. UTC | #5
Hi Artem,

On 10/11/2012 3:27 PM, Artem Bityutskiy wrote:
> On Fri, 2012-09-28 at 16:10 +0000, Karicheri, Muralidharan wrote:
>>>> -----Original Message-----
>>>> From: Karicheri, Muralidharan
>>>> Sent: Monday, September 17, 2012 12:38 PM
>>>> To: dwmw2@infradead.org; artem.bityutskiy@linux.intel.com; hs@denx.de;
>>>> mikedunn@newsguy.com; linux-mtd@lists.infradead.org; linux-kernel@vger.kernel.org;
>>>> davinci-linux-open-source@linux.davincidsp.com; linux-arm-kernel@lists.infradead.org
>>>> Cc: Karicheri, Muralidharan
>>>> Subject: [PATCH 1/1] mtd:nand:clk: preparation for switch to common clock framework
> 
> I do not see this patch in my mailbox. Can you please re-send with all
> the acks?

This patch is already applied to linux-next. Do you need it still?

http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=ea73fe7f0d562154975a77fe77ae3da6ab4d3e77

Thanks,
Sekhar
Artem Bityutskiy Oct. 11, 2012, 10:09 a.m. UTC | #6
On Thu, 2012-10-11 at 15:37 +0530, Sekhar Nori wrote:
> Hi Artem,
> 
> On 10/11/2012 3:27 PM, Artem Bityutskiy wrote:
> > On Fri, 2012-09-28 at 16:10 +0000, Karicheri, Muralidharan wrote:
> >>>> -----Original Message-----
> >>>> From: Karicheri, Muralidharan
> >>>> Sent: Monday, September 17, 2012 12:38 PM
> >>>> To: dwmw2@infradead.org; artem.bityutskiy@linux.intel.com; hs@denx.de;
> >>>> mikedunn@newsguy.com; linux-mtd@lists.infradead.org; linux-kernel@vger.kernel.org;
> >>>> davinci-linux-open-source@linux.davincidsp.com; linux-arm-kernel@lists.infradead.org
> >>>> Cc: Karicheri, Muralidharan
> >>>> Subject: [PATCH 1/1] mtd:nand:clk: preparation for switch to common clock framework
> > 
> > I do not see this patch in my mailbox. Can you please re-send with all
> > the acks?
> 
> This patch is already applied to linux-next. Do you need it still?
> 
> http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commit;h=ea73fe7f0d562154975a77fe77ae3da6ab4d3e77

Ah, right, no, I don't, thanks!
diff mbox

Patch

diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index f386b3c..df1ab7d 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -724,7 +724,7 @@  static int __init nand_davinci_probe(struct platform_device *pdev)
 		goto err_clk;
 	}
 
-	ret = clk_enable(info->clk);
+	ret = clk_prepare_enable(info->clk);
 	if (ret < 0) {
 		dev_dbg(&pdev->dev, "unable to enable AEMIF clock, err %d\n",
 			ret);
@@ -835,7 +835,7 @@  syndrome_done:
 
 err_scan:
 err_timing:
-	clk_disable(info->clk);
+	clk_disable_unprepare(info->clk);
 
 err_clk_enable:
 	clk_put(info->clk);
@@ -872,7 +872,7 @@  static int __exit nand_davinci_remove(struct platform_device *pdev)
 
 	nand_release(&info->mtd);
 
-	clk_disable(info->clk);
+	clk_disable_unprepare(info->clk);
 	clk_put(info->clk);
 
 	kfree(info);