ARM: davinci: da8xx: Add full regulator constraints for non-DT boot
authorAxel Haslam <ahaslam@baylibre.com>
Wed, 26 Oct 2016 19:41:55 +0000 (21:41 +0200)
committerSekhar Nori <nsekhar@ti.com>
Mon, 31 Oct 2016 11:28:21 +0000 (16:58 +0530)
The phy framework requests an optional "phy" regulator. If it does
not find one, it returns -EPROBE_DEFER. In the case of non-DT boot
for the omap138-lcdk board, this would prevent the usb11 phy to probe
correctly and ohci would not enumerate.

By calling regulator_has_full_constraints(), An error would be returned
instead of -EPROBE_DEFER for the regulator, and the probe of the phy driver
can continue normally without a regulator.

Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
[nsekhar@ti.com: minor commit message updates]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/board-da830-evm.c
arch/arm/mach-davinci/board-omapl138-hawk.c

index 8b9d9053a98423e9b9aa2ae5ea858c245b766104..6001b32305ecb5a0d002e711dba2c7cf8cae1408 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/platform_data/mtd-davinci-aemif.h>
 #include <linux/platform_data/spi-davinci.h>
 #include <linux/platform_data/usb-davinci.h>
+#include <linux/regulator/machine.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -652,6 +653,8 @@ static __init void da830_evm_init(void)
        ret = da8xx_register_spi_bus(0, ARRAY_SIZE(da830evm_spi_info));
        if (ret)
                pr_warn("%s: spi 0 registration failed: %d\n", __func__, ret);
+
+       regulator_has_full_constraints();
 }
 
 #ifdef CONFIG_SERIAL_8250_CONSOLE
index a403ed9782c413706f4800b7f7496ff498b07699..70ed5ef2ef8c6b57d2843c4e7f674c640868ed47 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/gpio.h>
 #include <linux/mfd/da8xx-cfgchip.h>
 #include <linux/platform_data/gpio-davinci.h>
+#include <linux/regulator/machine.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -322,6 +323,8 @@ static __init void omapl138_hawk_init(void)
        if (ret)
                pr_warn("%s: dsp/rproc registration failed: %d\n",
                        __func__, ret);
+
+       regulator_has_full_constraints();
 }
 
 #ifdef CONFIG_SERIAL_8250_CONSOLE