As we are using a custom boot sequence we don't need to wait for the
standard boot sequence in device init when the normal write sequence is
disabled.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
                }
        }
 
-       ret = arizona_wait_for_boot(arizona);
-       if (ret != 0) {
-               dev_err(arizona->dev, "Device failed initial boot: %d\n", ret);
-               goto err_reset;
+       switch (arizona->type) {
+       case WM5102:
+               ret = regmap_read(arizona->regmap, 0x19, &val);
+               if (ret != 0)
+                       dev_err(dev,
+                               "Failed to check write sequencer state: %d\n",
+                               ret);
+               else if (val & 0x01)
+                       break;
+               /* Fall through */
+       default:
+               ret = arizona_wait_for_boot(arizona);
+               if (ret != 0) {
+                       dev_err(arizona->dev,
+                               "Device failed initial boot: %d\n", ret);
+                       goto err_reset;
+               }
+               break;
        }
 
        if (apply_patch) {