Message ID | 201106080016.43271.jkrzyszt@tis.icnet.pl (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kevin Hilman |
Headers | show |
Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> writes: > On Tue 07 Jun 2011 at 23:17:49 Kevin Hilman wrote: >> Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> writes: >> > ... Or should >> > arch/arm/mach-omap1/pm_bus.c be always built in and >> > pm_runtime_clk_add_notifier() called from there in order to enable >> > clocks on device initialization even if CONFIG_PM_RUNTIME is not >> > set? Or still a better solution? >> >> You're on the right track already. >> >> Yes, the notifier init should be done even on the !PM_RUNTIME case so >> that clocks are enabled when the device is added and disabled when >> the device is removed. >> >> Can you try the patch below (only compile tested) > > It's OK, but kind of no-op unless something like below is also applied. Indeed. > With it appended to your patch, you can add my Tested-by or what-else-by > you may find appropriate. Thanks, will fold your diff into the patch, add your Tested-by and submit as a PM fix for v3.0. Thanks, Kevin > Thanks, > Janusz > > --- > --- git/arch/arm/mach-omap1/Makefile.orig 2011-06-06 18:06:57.000000000 +0200 > +++ git/arch/arm/mach-omap1/Makefile 2011-06-07 23:40:11.000000000 +0200 > @@ -4,14 +4,14 @@ > > # Common support > obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o > -obj-y += clock.o clock_data.o opp_data.o reset.o > +obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o > > obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o > > obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o > > # Power Management > -obj-$(CONFIG_PM) += pm.o sleep.o pm_bus.o > +obj-$(CONFIG_PM) += pm.o sleep.o > > # DSP > obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o > -- > >> If it works, and with your Tested-by, I'll queue this as a fix for >> v3.0-rc. >> >> Thanks, >> >> Kevin >> >> >From 971a6b1ba5cbca7b38fb14ae834b124c6e7bf9b5 Mon Sep 17 00:00:00 >> >2001 >> >> From: Kevin Hilman <khilman@ti.com> >> Date: Tue, 7 Jun 2011 14:13:33 -0700 >> Subject: [PATCH] OMAP1: PM: register notifiers with generic clock ops >> even when !PM_RUNTIME >> >> When runtime PM is disabled, device clocks need to be enabled on >> device add and disabled on device remove. This currently is not >> happening because in the !PM_RUNTIME case, no notifiers are >> registered for OMAP1 devices. >> >> Fix this by ensuring notifiers are registered, even in the >> !PM_RUNTIME case. >> >> Reported-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> >> Signed-off-by: Kevin Hilman <khilman@ti.com> >> --- >> arch/arm/mach-omap1/pm_bus.c | 8 ++++++-- >> 1 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm/mach-omap1/pm_bus.c >> b/arch/arm/mach-omap1/pm_bus.c index fe31d93..334fb88 100644 >> --- a/arch/arm/mach-omap1/pm_bus.c >> +++ b/arch/arm/mach-omap1/pm_bus.c >> @@ -56,9 +56,13 @@ static struct dev_power_domain >> default_power_domain = { USE_PLATFORM_PM_SLEEP_OPS >> }, >> }; >> +#define OMAP1_PWR_DOMAIN (&default_power_domain) >> +#else >> +#define OMAP1_PWR_DOMAIN NULL >> +#endif /* CONFIG_PM_RUNTIME */ >> >> static struct pm_clk_notifier_block platform_bus_notifier = { >> - .pwr_domain = &default_power_domain, >> + .pwr_domain = OMAP1_PWR_DOMAIN, >> .con_ids = { "ick", "fck", NULL, }, >> }; >> >> @@ -72,4 +76,4 @@ static int __init omap1_pm_runtime_init(void) >> return 0; >> } >> core_initcall(omap1_pm_runtime_init); >> -#endif /* CONFIG_PM_RUNTIME */ >> + -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- git/arch/arm/mach-omap1/Makefile.orig 2011-06-06 18:06:57.000000000 +0200 +++ git/arch/arm/mach-omap1/Makefile 2011-06-07 23:40:11.000000000 +0200 @@ -4,14 +4,14 @@ # Common support obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o -obj-y += clock.o clock_data.o opp_data.o reset.o +obj-y += clock.o clock_data.o opp_data.o reset.o pm_bus.o obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o # Power Management -obj-$(CONFIG_PM) += pm.o sleep.o pm_bus.o +obj-$(CONFIG_PM) += pm.o sleep.o # DSP obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o