|
@@ -222,6 +222,13 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)
|
|
arm_reg = regulator_get(cpu_dev, "arm");
|
|
arm_reg = regulator_get(cpu_dev, "arm");
|
|
pu_reg = regulator_get_optional(cpu_dev, "pu");
|
|
pu_reg = regulator_get_optional(cpu_dev, "pu");
|
|
soc_reg = regulator_get(cpu_dev, "soc");
|
|
soc_reg = regulator_get(cpu_dev, "soc");
|
|
|
|
+ if (PTR_ERR(arm_reg) == -EPROBE_DEFER ||
|
|
|
|
+ PTR_ERR(soc_reg) == -EPROBE_DEFER ||
|
|
|
|
+ PTR_ERR(pu_reg) == -EPROBE_DEFER) {
|
|
|
|
+ ret = -EPROBE_DEFER;
|
|
|
|
+ dev_dbg(cpu_dev, "regulators not ready, defer\n");
|
|
|
|
+ goto put_reg;
|
|
|
|
+ }
|
|
if (IS_ERR(arm_reg) || IS_ERR(soc_reg)) {
|
|
if (IS_ERR(arm_reg) || IS_ERR(soc_reg)) {
|
|
dev_err(cpu_dev, "failed to get regulators\n");
|
|
dev_err(cpu_dev, "failed to get regulators\n");
|
|
ret = -ENOENT;
|
|
ret = -ENOENT;
|