* [PATCH v2 3/4] mmc: sdhci-s3c: revert "fix missing clock for gpio card-detect"
@ 2013-08-02 14:09 Jaehoon Chung
2013-08-30 1:22 ` Chris Ball
0 siblings, 1 reply; 4+ messages in thread
From: Jaehoon Chung @ 2013-08-02 14:09 UTC (permalink / raw)
To: linux-mmc@vger.kernel.org
Cc: 'Chris Ball', Kyungmin Park, Heiko Stübner
Fixed the warning message.(clk_disable/enable didn't pair)
[ 2.110000] ------------[ cut here ]------------
[ 2.110000] WARNING: at drivers/clk/clk.c:780 clk_disable+0x18/0x24()
[ 2.110000] Modules linked in:
[ 2.110000] CPU: 0 PID: 34 Comm: kworker/0:1 Not tainted 3.10.0-rc1-00313-g60e5410-dirty #26
[ 2.110000] Workqueue: pm pm_runtime_work
[ 2.110000] [<c0015824>] (unwind_backtrace+0x0/0x138) from [<c0012868>] (show_stack+0x10/0x14)
[ 2.110000] [<c0012868>] (show_stack+0x10/0x14) from [<c00247fc>] (warn_slowpath_common+0x4c/0x68)
[ 2.110000] [<c00247fc>] (warn_slowpath_common+0x4c/0x68) from [<c0024834>] (warn_slowpath_null+0x1c/0x24)
[ 2.110000] [<c0024834>] (warn_slowpath_null+0x1c/0x24) from [<c03de910>] (clk_disable+0x18/0x24)
[ 2.110000] [<c03de910>] (clk_disable+0x18/0x24) from [<c03b93fc>] (sdhci_s3c_runtime_suspend+0x50/0x64)
[ 2.110000] [<c03b93fc>] (sdhci_s3c_runtime_suspend+0x50/0x64) from [<c02bfd54>] (pm_generic_runtime_suspend+0x2c/0x40)
[ 2.110000] [<c02bfd54>] (pm_generic_runtime_suspend+0x2c/0x40) from [<c02c41d8>] (__rpm_callback+0x34/0x70)
[ 2.110000] [<c02c41d8>] (__rpm_callback+0x34/0x70) from [<c02c423c>] (rpm_callback+0x28/0x88)
[ 2.110000] [<c02c423c>] (rpm_callback+0x28/0x88) from [<c02c466c>] (rpm_suspend+0xec/0x628)
[ 2.110000] [<c02c466c>] (rpm_suspend+0xec/0x628) from [<c02c5b60>] (__pm_runtime_suspend+0x5c/0x74)
[ 2.110000] [<c02c5b60>] (__pm_runtime_suspend+0x5c/0x74) from [<c02c026c>] (pm_generic_runtime_idle+0x44/0x4c)
[ 2.110000] [<c02c026c>] (pm_generic_runtime_idle+0x44/0x4c) from [<c02c41d8>] (__rpm_callback+0x34/0x70)
[ 2.110000] [<c02c41d8>] (__rpm_callback+0x34/0x70) from [<c02c4d20>] (rpm_idle+0x104/0x2b8)
[ 2.110000] [<c02c4d20>] (rpm_idle+0x104/0x2b8) from [<c02c5cc0>] (pm_runtime_work+0x88/0x98)
[ 2.110000] [<c02c5cc0>] (pm_runtime_work+0x88/0x98) from [<c003ef38>] (process_one_work+0x138/0x43c)
[ 2.110000] [<c003ef38>] (process_one_work+0x138/0x43c) from [<c003f664>] (worker_thread+0x134/0x3e0)
[ 2.110000] [<c003f664>] (worker_thread+0x134/0x3e0) from [<c0045118>] (kthread+0xa4/0xb0)
[ 2.110000] [<c0045118>] (kthread+0xa4/0xb0) from [<c000ead8>] (ret_from_fork+0x14/0x3c)
[ 2.110000] ---[ end trace 3c3a259d4aa3ba0a ]--
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <Kyungmin.park@samsung.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
---
Changelog v2:
- Added acked/tested by Heiko (on s3c2416)
drivers/mmc/host/sdhci-s3c.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
index 6debda9..f974778 100644
--- a/drivers/mmc/host/sdhci-s3c.c
+++ b/drivers/mmc/host/sdhci-s3c.c
@@ -373,27 +373,18 @@ static struct sdhci_ops sdhci_s3c_ops = {
static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
{
struct sdhci_host *host = platform_get_drvdata(dev);
-#ifdef CONFIG_PM_RUNTIME
- struct sdhci_s3c *sc = sdhci_priv(host);
-#endif
unsigned long flags;
if (host) {
spin_lock_irqsave(&host->lock, flags);
if (state) {
dev_dbg(&dev->dev, "card inserted.\n");
-#ifdef CONFIG_PM_RUNTIME
- clk_prepare_enable(sc->clk_io);
-#endif
host->flags &= ~SDHCI_DEVICE_DEAD;
host->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION;
} else {
dev_dbg(&dev->dev, "card removed.\n");
host->flags |= SDHCI_DEVICE_DEAD;
host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
-#ifdef CONFIG_PM_RUNTIME
- clk_disable_unprepare(sc->clk_io);
-#endif
}
tasklet_schedule(&host->card_tasklet);
spin_unlock_irqrestore(&host->lock, flags);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 3/4] mmc: sdhci-s3c: revert "fix missing clock for gpio card-detect"
2013-08-02 14:09 [PATCH v2 3/4] mmc: sdhci-s3c: revert "fix missing clock for gpio card-detect" Jaehoon Chung
@ 2013-08-30 1:22 ` Chris Ball
2013-08-30 2:59 ` Jaehoon Chung
2013-09-03 12:26 ` Jaehoon Chung
0 siblings, 2 replies; 4+ messages in thread
From: Chris Ball @ 2013-08-30 1:22 UTC (permalink / raw)
To: Jaehoon Chung
Cc: linux-mmc@vger.kernel.org, Kyungmin Park, Heiko Stübner
Hi,
On Fri, Aug 02 2013, Jaehoon Chung wrote:
> Fixed the warning message.(clk_disable/enable didn't pair)
> [..]
>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Kyungmin Park <Kyungmin.park@samsung.com>
> Acked-by: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Heiko Stuebner <heiko@sntech.de>
> ---
> Changelog v2:
> - Added acked/tested by Heiko (on s3c2416)
>
> drivers/mmc/host/sdhci-s3c.c | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> index 6debda9..f974778 100644
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -373,27 +373,18 @@ static struct sdhci_ops sdhci_s3c_ops = {
> static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
> {
> struct sdhci_host *host = platform_get_drvdata(dev);
> -#ifdef CONFIG_PM_RUNTIME
> - struct sdhci_s3c *sc = sdhci_priv(host);
> -#endif
> unsigned long flags;
>
> if (host) {
> spin_lock_irqsave(&host->lock, flags);
> if (state) {
> dev_dbg(&dev->dev, "card inserted.\n");
> -#ifdef CONFIG_PM_RUNTIME
> - clk_prepare_enable(sc->clk_io);
> -#endif
> host->flags &= ~SDHCI_DEVICE_DEAD;
> host->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION;
> } else {
> dev_dbg(&dev->dev, "card removed.\n");
> host->flags |= SDHCI_DEVICE_DEAD;
> host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
> -#ifdef CONFIG_PM_RUNTIME
> - clk_disable_unprepare(sc->clk_io);
> -#endif
> }
> tasklet_schedule(&host->card_tasklet);
> spin_unlock_irqrestore(&host->lock, flags);
Jaehoon/Heiko, it looks this patch was itself a bug fix -- can we
not find a way to support cd-gpios and runtime PM at the same time?
Thanks,
- Chris.
--
Chris Ball <cjb@laptop.org> <http://printf.net/>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 3/4] mmc: sdhci-s3c: revert "fix missing clock for gpio card-detect"
2013-08-30 1:22 ` Chris Ball
@ 2013-08-30 2:59 ` Jaehoon Chung
2013-09-03 12:26 ` Jaehoon Chung
1 sibling, 0 replies; 4+ messages in thread
From: Jaehoon Chung @ 2013-08-30 2:59 UTC (permalink / raw)
To: Chris Ball
Cc: Jaehoon Chung, linux-mmc@vger.kernel.org, Kyungmin Park,
Heiko Stübner
Dear, Chris.
On 08/30/2013 10:22 AM, Chris Ball wrote:
> Hi,
>
> On Fri, Aug 02 2013, Jaehoon Chung wrote:
>> Fixed the warning message.(clk_disable/enable didn't pair)
>> [..]
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <Kyungmin.park@samsung.com>
>> Acked-by: Heiko Stuebner <heiko@sntech.de>
>> Tested-by: Heiko Stuebner <heiko@sntech.de>
>> ---
>> Changelog v2:
>> - Added acked/tested by Heiko (on s3c2416)
>>
>> drivers/mmc/host/sdhci-s3c.c | 9 ---------
>> 1 file changed, 9 deletions(-)
>>
>> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
>> index 6debda9..f974778 100644
>> --- a/drivers/mmc/host/sdhci-s3c.c
>> +++ b/drivers/mmc/host/sdhci-s3c.c
>> @@ -373,27 +373,18 @@ static struct sdhci_ops sdhci_s3c_ops = {
>> static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
>> {
>> struct sdhci_host *host = platform_get_drvdata(dev);
>> -#ifdef CONFIG_PM_RUNTIME
>> - struct sdhci_s3c *sc = sdhci_priv(host);
>> -#endif
>> unsigned long flags;
>>
>> if (host) {
>> spin_lock_irqsave(&host->lock, flags);
>> if (state) {
>> dev_dbg(&dev->dev, "card inserted.\n");
>> -#ifdef CONFIG_PM_RUNTIME
>> - clk_prepare_enable(sc->clk_io);
>> -#endif
>> host->flags &= ~SDHCI_DEVICE_DEAD;
>> host->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION;
>> } else {
>> dev_dbg(&dev->dev, "card removed.\n");
>> host->flags |= SDHCI_DEVICE_DEAD;
>> host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
>> -#ifdef CONFIG_PM_RUNTIME
>> - clk_disable_unprepare(sc->clk_io);
>> -#endif
>> }
>> tasklet_schedule(&host->card_tasklet);
>> spin_unlock_irqrestore(&host->lock, flags);
>
> Jaehoon/Heiko, it looks this patch was itself a bug fix -- can we
> not find a way to support cd-gpios and runtime PM at the same time?
I will find them.
Thanks for review.
Best Regards,
Jaehoon Chung
>
> Thanks,
>
> - Chris.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 3/4] mmc: sdhci-s3c: revert "fix missing clock for gpio card-detect"
2013-08-30 1:22 ` Chris Ball
2013-08-30 2:59 ` Jaehoon Chung
@ 2013-09-03 12:26 ` Jaehoon Chung
1 sibling, 0 replies; 4+ messages in thread
From: Jaehoon Chung @ 2013-09-03 12:26 UTC (permalink / raw)
To: Chris Ball
Cc: Jaehoon Chung, linux-mmc@vger.kernel.org, Kyungmin Park,
Heiko Stübner
Hi,
On 08/30/2013 10:22 AM, Chris Ball wrote:
> Hi,
>
> On Fri, Aug 02 2013, Jaehoon Chung wrote:
>> Fixed the warning message.(clk_disable/enable didn't pair)
>> [..]
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <Kyungmin.park@samsung.com>
>> Acked-by: Heiko Stuebner <heiko@sntech.de>
>> Tested-by: Heiko Stuebner <heiko@sntech.de>
>> ---
>> Changelog v2:
>> - Added acked/tested by Heiko (on s3c2416)
>>
>> drivers/mmc/host/sdhci-s3c.c | 9 ---------
>> 1 file changed, 9 deletions(-)
>>
>> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
>> index 6debda9..f974778 100644
>> --- a/drivers/mmc/host/sdhci-s3c.c
>> +++ b/drivers/mmc/host/sdhci-s3c.c
>> @@ -373,27 +373,18 @@ static struct sdhci_ops sdhci_s3c_ops = {
>> static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
>> {
>> struct sdhci_host *host = platform_get_drvdata(dev);
>> -#ifdef CONFIG_PM_RUNTIME
>> - struct sdhci_s3c *sc = sdhci_priv(host);
>> -#endif
>> unsigned long flags;
>>
>> if (host) {
>> spin_lock_irqsave(&host->lock, flags);
>> if (state) {
>> dev_dbg(&dev->dev, "card inserted.\n");
>> -#ifdef CONFIG_PM_RUNTIME
>> - clk_prepare_enable(sc->clk_io);
>> -#endif
>> host->flags &= ~SDHCI_DEVICE_DEAD;
>> host->quirks |= SDHCI_QUIRK_BROKEN_CARD_DETECTION;
>> } else {
>> dev_dbg(&dev->dev, "card removed.\n");
>> host->flags |= SDHCI_DEVICE_DEAD;
>> host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
>> -#ifdef CONFIG_PM_RUNTIME
>> - clk_disable_unprepare(sc->clk_io);
>> -#endif
>> }
>> tasklet_schedule(&host->card_tasklet);
>> spin_unlock_irqrestore(&host->lock, flags);
>
> Jaehoon/Heiko, it looks this patch was itself a bug fix -- can we
> not find a way to support cd-gpios and runtime PM at the same time?
I will check with slot-gpio.c. If it's working well, i think good that sdhci-s3c use it.
Then Patch v2 3/4~4/4 can be dropped. I will send the other patch series on this week.
Best Regards,
Jaehoon Chung
>
> Thanks,
>
> - Chris.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-09-03 12:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-02 14:09 [PATCH v2 3/4] mmc: sdhci-s3c: revert "fix missing clock for gpio card-detect" Jaehoon Chung
2013-08-30 1:22 ` Chris Ball
2013-08-30 2:59 ` Jaehoon Chung
2013-09-03 12:26 ` Jaehoon Chung
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).