Adrian, > -----Original Message----- > From: Adrian Hunter [mailto:adrian.hunter@xxxxxxxxx] > Sent: Tuesday, July 20, 2010 1:40 PM > To: Ghorai, Sukumar > Cc: linux-mmc@xxxxxxxxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx; Shilimkar, > Santosh; Chikkature Rajashekar, Madhusudhan; Andrew Morton > Subject: Re: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not > define > > Ghorai, Sukumar wrote: > > > >> -----Original Message----- > >> From: Adrian Hunter [mailto:adrian.hunter@xxxxxxxxx] > >> Sent: Tuesday, July 20, 2010 12:39 PM > >> To: Ghorai, Sukumar > >> Cc: linux-mmc@xxxxxxxxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx; 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? [Ghorai] do men when CONFIG_PM is not enabled still we should do power saving in mmc? Because issue is iclk/fclk is quite depended on PRCM framework when we are using omap_hsmmc_ps_ops operation table. > > > > > 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 [Ghorai] the fix I send is to guard in MMC/SD host driver to avoid mistake in board file(s). And this file is used for multiple omap3, omap4 boards. > > > > >>> Signed-off-by: Sukumar Ghorai <s-ghorai@xxxxxx> > >>> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > >>> CC: Madhusudhan Chikkature <madhu.cr@xxxxxx> > >>> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > >>> --- > >>> 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 majordomo@xxxxxxxxxxxxxxx > >>> 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 majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html