RE: [PATCH] omap: hsmmc funtionality breaks when CONFIG_PM not define

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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.

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

> 
> >
> > 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-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux