diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2013-04-03 07:53:37 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-08 09:21:03 -0400 |
commit | c25feaa53cca696321540ca0f8564bf484224cac (patch) | |
tree | 2e0937995d8e3da5a27b00b57af905f1dd0ff77f /drivers/mfd | |
parent | 87d3af4ac0554afc2e86069d7578f74b12f3f67a (diff) |
mfd: arizona: Wait for internal clocks to startup after reset
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/arizona-core.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index ae10af798843..41856b4c0d17 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c | |||
@@ -529,8 +529,10 @@ int arizona_dev_init(struct arizona *arizona) | |||
529 | goto err_enable; | 529 | goto err_enable; |
530 | } | 530 | } |
531 | 531 | ||
532 | if (arizona->pdata.reset) | 532 | if (arizona->pdata.reset) { |
533 | gpio_set_value_cansleep(arizona->pdata.reset, 1); | 533 | gpio_set_value_cansleep(arizona->pdata.reset, 1); |
534 | msleep(1); | ||
535 | } | ||
534 | 536 | ||
535 | regcache_cache_only(arizona->regmap, false); | 537 | regcache_cache_only(arizona->regmap, false); |
536 | 538 | ||
@@ -589,6 +591,8 @@ int arizona_dev_init(struct arizona *arizona) | |||
589 | goto err_reset; | 591 | goto err_reset; |
590 | } | 592 | } |
591 | 593 | ||
594 | msleep(1); | ||
595 | |||
592 | ret = regcache_sync(arizona->regmap); | 596 | ret = regcache_sync(arizona->regmap); |
593 | if (ret != 0) { | 597 | if (ret != 0) { |
594 | dev_err(dev, "Failed to sync device: %d\n", ret); | 598 | dev_err(dev, "Failed to sync device: %d\n", ret); |