Message ID | 1309555626-22608-4-git-send-email-b-cousson@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
cc'ing Kevin, since this touches mach-omap2/pm.c - an ack would be great if you have the chance On Fri, 1 Jul 2011, Benoit Cousson wrote: > From: Rajendra Nayak <rnayak@ti.com> > > sleep_switch which is initialised to 0 in omap_set_pwrdm_state > happens to be a valid sleep_switch type (FORCEWAKEUP_SWITCH) > which are defined as: > > #define FORCEWAKEUP_SWITCH 0 > #define LOWPOWERSTATE_SWITCH 1 > > This causes the function to wrongly program some clock domains > even when the Powerdomain is in ON state. > > Signed-off-by: Rajendra Nayak <rnayak@ti.com> > Cc: Paul Walmsley <paul@pwsan.com> Thanks, this patch has been queued for 3.1 at git://git.pwsan.com/linux-2.6 in the 'powerdomain_fixes_3.1' branch. - Paul
Paul Walmsley <paul@pwsan.com> writes: > cc'ing Kevin, since this touches mach-omap2/pm.c - an ack would be great > if you have the chance > > On Fri, 1 Jul 2011, Benoit Cousson wrote: > >> From: Rajendra Nayak <rnayak@ti.com> >> >> sleep_switch which is initialised to 0 in omap_set_pwrdm_state >> happens to be a valid sleep_switch type (FORCEWAKEUP_SWITCH) >> which are defined as: >> >> #define FORCEWAKEUP_SWITCH 0 >> #define LOWPOWERSTATE_SWITCH 1 >> >> This causes the function to wrongly program some clock domains >> even when the Powerdomain is in ON state. >> >> Signed-off-by: Rajendra Nayak <rnayak@ti.com> >> Cc: Paul Walmsley <paul@pwsan.com> Acked-by: Kevin Hilman <khilman@ti.com> > > Thanks, this patch has been queued for 3.1 at > git://git.pwsan.com/linux-2.6 in the 'powerdomain_fixes_3.1' branch. > > > - Paul
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 49486f5..d48813f 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c @@ -106,7 +106,7 @@ static void omap2_init_processor_devices(void) int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state) { u32 cur_state; - int sleep_switch = 0; + int sleep_switch = -1; int ret = 0; if (pwrdm == NULL || IS_ERR(pwrdm))