Hi, On Wed, Nov 21, 2012 at 02:45:46PM +0200, Roger Quadros wrote: > >> spin_unlock_irqrestore(&tll->lock, flags); > >> > >> - return 0; > >> + return i; > >> } > >> +EXPORT_SYMBOL_GPL(omap_tll_enable); > >> > >> -static int usbtll_runtime_suspend(struct device *dev) > >> +int omap_tll_disable(void) > > > > why ?? Why are you actually dropping runtime PM from this driver ? have > > you tested PM transitions after applying this patch ? > > > > I'm not dropping runtime PM as such. Just separating enabling of channel > clocks from runtime PM (read enabling hwmod). The only user for this > driver is omap-usb-host.c via the omap_tll_enable/disable() calls. > > These calls still call pm_runtime_get/put() to enable the TLL hwmod. > > I have tested PM transitions on bus suspend/resume and modprobe/rmmod. > They still work fine.
weird, I didn't see any dev_pm_ops being re-added to your
platform_driver structure :-s
On your original patch I see this:
-static const struct dev_pm_ops usbtllomap_dev_pm_ops = {
- SET_RUNTIME_PM_OPS(usbtll_runtime_suspend,
- usbtll_runtime_resume,
- NULL)
-};
-
-static struct platform_driver usbtll_omap_driver = {
- .driver = {
- .name = (char *)usbtll_driver_name,
- .owner = THIS_MODULE,
- .pm = &usbtllomap_dev_pm_ops,
- },
- .probe = usbtll_omap_probe,
- .remove = __devexit_p(usbtll_omap_remove),
-};
but there is never anythying re-adding that dev_pm_ops, so runtime pm
callbacks are literally dropped from this driver. If that's still fine,
please make it clear on commit log.
--
balbi
signature.asc
Description: Digital signature
