> -----Original Message----- > From: Eduardo Valentin [mailto:eduardo.valentin@xxxxxxxxx] > Sent: Tuesday, May 04, 2010 11:57 AM > To: ext Lesly A M > Cc: linux-omap@xxxxxxxxxxxxxxx; Lesly A M; Nishanth Menon; David Derrick; > Samuel Ortiz > Subject: Re: [PATCH v5 1/5] omap3: pm: fix for twl4030 script load > > Hello Lesly, > > On Mon, Apr 19, 2010 at 01:43:00PM +0200, ext Lesly A M wrote: > > This patch will fix the TRITON sleep/wakeup sequence. > > OK. > > > > > Since the function to populate the sleep script is getting called always > > irrespective of the flag "TWL4030_SLEEP_SCRIPT", other scripts data > > is getting over written by the sleep script. > > Yes, and that is because of missing curls {}. > > > > > Also removing the order checking while loading the scripts, > > since the order doesn't matter. Only the values configured > > in the register, which is pointing to the starting address > > of each sequence should be correct. > > Are sure about that. Please check commig > 75a7456539224c5c5c254130afdb18bd7eb2286f > At least from that description, Amit was very convincing that loading > order matters. > > Author: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> > Date: Mon Aug 17 17:01:56 2009 +0300 > > mfd: Print warning for twl4030 out-of-order script loading > > When the sleep script is loaded before the wakeup script, there is a > chance that the system might go to sleep before the wakeup script > loading is completed. This will lead to a system that does not wakeup > and has been observed to cause non-booting boards. > > > > > Signed-off-by: Lesly A M <x0080970@xxxxxx> > > Cc: Nishanth Menon <nm@xxxxxx> > > Cc: David Derrick <dderrick@xxxxxx> > > Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> > > --- > > drivers/mfd/twl4030-power.c | 6 ------ > > 1 files changed, 0 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c > > index 7efa878..bd98733 100644 > > --- a/drivers/mfd/twl4030-power.c > > +++ b/drivers/mfd/twl4030-power.c > > @@ -423,7 +423,6 @@ static int __init load_twl4030_script(struct > twl4030_script *tscript, > > u8 address) > > { > > int err; > > - static int order; > > > > /* Make sure the script isn't going beyond last valid address (0x3f) > */ > > if ((address + tscript->size) > END_OF_SCRIPT) { > > @@ -444,7 +443,6 @@ static int __init load_twl4030_script(struct > twl4030_script *tscript, > > err = twl4030_config_wakeup12_sequence(address); > > if (err) > > goto out; > > - order = 1; > > } > > if (tscript->flags & TWL4030_WAKEUP3_SCRIPT) { > > err = twl4030_config_wakeup3_sequence(address); > > @@ -452,10 +450,6 @@ static int __init load_twl4030_script(struct > twl4030_script *tscript, > > goto out; > > } > > if (tscript->flags & TWL4030_SLEEP_SCRIPT) > > - if (order) > > - pr_warning("TWL4030: Bad order of scripts (sleep "\ > > - "script before wakeup) Leads to boot"\ > > - "failure on some boards\n"); > > err = twl4030_config_sleep_sequence(address); > > > If the problem you are trying to address is the fact that everything goes > to > sleep address, then just embrace the conditional into brackets. > Hi Eduardo, The load_twl4030_script() is called from twl4030_power_init() which is again called from twl_probe(), and this is getting called before omap3_idle_init(). So the scripts are loaded before the cpuidle is initialized. Then I don't think the system will hit sys_off before loading the scripts. Regards, Lesly -- 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