|
@@ -257,7 +257,7 @@ unsigned long dev_pm_opp_get_max_volt_latency(struct device *dev)
|
|
|
}
|
|
|
|
|
|
reg = dev_opp->regulator;
|
|
|
- if (IS_ERR_OR_NULL(reg)) {
|
|
|
+ if (IS_ERR(reg)) {
|
|
|
/* Regulator may not be required for device */
|
|
|
if (reg)
|
|
|
dev_err(dev, "%s: Invalid regulator (%ld)\n", __func__,
|
|
@@ -798,6 +798,9 @@ static struct device_opp *_add_device_opp(struct device *dev)
|
|
|
of_node_put(np);
|
|
|
}
|
|
|
|
|
|
+ /* Set regulator to a non-NULL error value */
|
|
|
+ dev_opp->regulator = ERR_PTR(-ENXIO);
|
|
|
+
|
|
|
/* Find clk for the device */
|
|
|
dev_opp->clk = clk_get(dev, NULL);
|
|
|
if (IS_ERR(dev_opp->clk)) {
|
|
@@ -845,7 +848,7 @@ static void _remove_device_opp(struct device_opp *dev_opp)
|
|
|
if (dev_opp->prop_name)
|
|
|
return;
|
|
|
|
|
|
- if (!IS_ERR_OR_NULL(dev_opp->regulator))
|
|
|
+ if (!IS_ERR(dev_opp->regulator))
|
|
|
return;
|
|
|
|
|
|
/* Release clk */
|
|
@@ -975,7 +978,7 @@ static bool _opp_supported_by_regulators(struct dev_pm_opp *opp,
|
|
|
{
|
|
|
struct regulator *reg = dev_opp->regulator;
|
|
|
|
|
|
- if (!IS_ERR_OR_NULL(reg) &&
|
|
|
+ if (!IS_ERR(reg) &&
|
|
|
!regulator_is_supported_voltage(reg, opp->u_volt_min,
|
|
|
opp->u_volt_max)) {
|
|
|
pr_warn("%s: OPP minuV: %lu maxuV: %lu, not supported by regulator\n",
|
|
@@ -1441,7 +1444,7 @@ int dev_pm_opp_set_regulator(struct device *dev, const char *name)
|
|
|
}
|
|
|
|
|
|
/* Already have a regulator set */
|
|
|
- if (WARN_ON(!IS_ERR_OR_NULL(dev_opp->regulator))) {
|
|
|
+ if (WARN_ON(!IS_ERR(dev_opp->regulator))) {
|
|
|
ret = -EBUSY;
|
|
|
goto err;
|
|
|
}
|
|
@@ -1492,7 +1495,7 @@ void dev_pm_opp_put_regulator(struct device *dev)
|
|
|
goto unlock;
|
|
|
}
|
|
|
|
|
|
- if (IS_ERR_OR_NULL(dev_opp->regulator)) {
|
|
|
+ if (IS_ERR(dev_opp->regulator)) {
|
|
|
dev_err(dev, "%s: Doesn't have regulator set\n", __func__);
|
|
|
goto unlock;
|
|
|
}
|
|
@@ -1501,7 +1504,7 @@ void dev_pm_opp_put_regulator(struct device *dev)
|
|
|
WARN_ON(!list_empty(&dev_opp->opp_list));
|
|
|
|
|
|
regulator_put(dev_opp->regulator);
|
|
|
- dev_opp->regulator = ERR_PTR(-EINVAL);
|
|
|
+ dev_opp->regulator = ERR_PTR(-ENXIO);
|
|
|
|
|
|
/* Try freeing device_opp if this was the last blocking resource */
|
|
|
_remove_device_opp(dev_opp);
|