Ghorai, Sukumar wrote:

-----Original Message-----
From: Adrian Hunter [mailto:adrian.hun...@nokia.com]
Sent: Tuesday, July 20, 2010 12:39 PM
To: Ghorai, Sukumar
Cc: linux-mmc@vger.kernel.org; linux-o...@vger.kernel.org; Shilimkar,
Santosh; Chikkature Rajashekar, Madhusudhan; Andrew Morton
Subject: Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not
define

Sukumar Ghorai wrote:
    Issue if power_saving option passed from board file and CONFIG_PM
not define.
    This is because hosts refer to wrong operation table and that try to
power save.

power_saving is not related to power management.  It should work with or
without
CONFIG_PM.  What problem are you seeing?
[Ghorai] when CONFIG_PM is not defined but power_saving flag is TRUE, then host operation table point to table which handles in state machine as: ENABLE -> CARDSLEEP -> REGSLEEP -> DISABLED for power/clock cut. And do the reverse for the enable clock/power. And power saving is not required and wont work when CONFIG_PM is not enabled.

How is that a problem?  It would be useful to know what you need?


So if CONFIG_PM is not enable, then it should do simple clock disable/enable, 
and not via the power state machine.

If that is what you want, simply change your board file:

#if CONFIG_PM
        .power_saving = true,
#else
        .power_saving = false,
#end


Signed-off-by: Sukumar Ghorai <s-gho...@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilim...@ti.com>
CC: Madhusudhan Chikkature <madhu...@ti.com>
CC: Andrew Morton <a...@linux-foundation.org>
---
 Tested on omap3, omap4430 ES2.0

 drivers/mmc/host/omap_hsmmc.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c
b/drivers/mmc/host/omap_hsmmc.c
index b032828..f84eed0 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2015,9 +2015,11 @@ static int __init omap_hsmmc_probe(struct
platform_device *pdev)
        platform_set_drvdata(pdev, host);
        INIT_WORK(&host->mmc_carddetect_work, omap_hsmmc_detect);

+#ifdef CONFIG_PM
        if (mmc_slot(host).power_saving)
                mmc->ops     = &omap_hsmmc_ps_ops;
        else
+#endif
                mmc->ops     = &omap_hsmmc_ops;

        /*
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Regards,
Ghorai
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to