aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/twl4030-power.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
index e7688b041264..5284c7c169a5 100644
--- a/drivers/mfd/twl4030-power.c
+++ b/drivers/mfd/twl4030-power.c
@@ -379,6 +379,7 @@ static int __init load_twl4030_script(struct twl4030_script *tscript,
379 u8 address) 379 u8 address)
380{ 380{
381 int err; 381 int err;
382 static int order;
382 383
383 /* Make sure the script isn't going beyond last valid address (0x3f) */ 384 /* Make sure the script isn't going beyond last valid address (0x3f) */
384 if ((address + tscript->size) > END_OF_SCRIPT) { 385 if ((address + tscript->size) > END_OF_SCRIPT) {
@@ -399,6 +400,7 @@ static int __init load_twl4030_script(struct twl4030_script *tscript,
399 err = twl4030_config_wakeup12_sequence(address); 400 err = twl4030_config_wakeup12_sequence(address);
400 if (err) 401 if (err)
401 goto out; 402 goto out;
403 order = 1;
402 } 404 }
403 if (tscript->flags & TWL4030_WAKEUP3_SCRIPT) { 405 if (tscript->flags & TWL4030_WAKEUP3_SCRIPT) {
404 err = twl4030_config_wakeup3_sequence(address); 406 err = twl4030_config_wakeup3_sequence(address);
@@ -406,6 +408,10 @@ static int __init load_twl4030_script(struct twl4030_script *tscript,
406 goto out; 408 goto out;
407 } 409 }
408 if (tscript->flags & TWL4030_SLEEP_SCRIPT) 410 if (tscript->flags & TWL4030_SLEEP_SCRIPT)
411 if (order)
412 pr_warning("TWL4030: Bad order of scripts (sleep "\
413 "script before wakeup) Leads to boot"\
414 "failure on some boards\n");
409 err = twl4030_config_sleep_sequence(address); 415 err = twl4030_config_sleep_sequence(address);
410out: 416out:
411 return err; 417 return err;