mfd: arizona: Wait for internal clocks to startup after reset
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Wed, 3 Apr 2013 11:53:37 +0000 (12:53 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 8 Apr 2013 13:21:03 +0000 (15:21 +0200)
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>
drivers/mfd/arizona-core.c

index ae10af798843bd04647cb626acb7457700d636f9..41856b4c0d173797263d4508a6cc958a86e980c5 100644 (file)
@@ -529,8 +529,10 @@ int arizona_dev_init(struct arizona *arizona)
                goto err_enable;
        }
 
-       if (arizona->pdata.reset)
+       if (arizona->pdata.reset) {
                gpio_set_value_cansleep(arizona->pdata.reset, 1);
+               msleep(1);
+       }
 
        regcache_cache_only(arizona->regmap, false);
 
@@ -589,6 +591,8 @@ int arizona_dev_init(struct arizona *arizona)
                        goto err_reset;
                }
 
+               msleep(1);
+
                ret = regcache_sync(arizona->regmap);
                if (ret != 0) {
                        dev_err(dev, "Failed to sync device: %d\n", ret);