Commit dcf77c39 authored by Viresh Kumar's avatar Viresh Kumar Committed by Greg Kroah-Hartman

greybus: arche-apb: NULL is a valid regulator

Since NULL could in theory be a valid regulator we ought to check for
IS_ERR() rather than for NULL. In practice this is unlikely to be an
issue but it's better for neatness.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarVaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent bd62fa5e
...@@ -170,14 +170,14 @@ static int apb_ctrl_init_seq(struct platform_device *pdev, ...@@ -170,14 +170,14 @@ static int apb_ctrl_init_seq(struct platform_device *pdev,
} }
/* Enable power to APB */ /* Enable power to APB */
if (apb->vcore) { if (!IS_ERR(apb->vcore)) {
ret = regulator_enable(apb->vcore); ret = regulator_enable(apb->vcore);
if (ret) { if (ret) {
dev_err(dev, "failed to enable core regulator\n"); dev_err(dev, "failed to enable core regulator\n");
return ret; return ret;
} }
} }
if (apb->vio) { if (!IS_ERR(apb->vio)) {
ret = regulator_enable(apb->vio); ret = regulator_enable(apb->vio);
if (ret) { if (ret) {
dev_err(dev, "failed to enable IO regulator\n"); dev_err(dev, "failed to enable IO regulator\n");
...@@ -246,16 +246,12 @@ static int apb_ctrl_get_devtree_data(struct platform_device *pdev, ...@@ -246,16 +246,12 @@ static int apb_ctrl_get_devtree_data(struct platform_device *pdev,
/* Regulators are optional, as we may have fixed supply coming in */ /* Regulators are optional, as we may have fixed supply coming in */
apb->vcore = devm_regulator_get(dev, "vcore"); apb->vcore = devm_regulator_get(dev, "vcore");
if (IS_ERR(apb->vcore)) { if (IS_ERR(apb->vcore))
dev_info(dev, "no core regulator found\n"); dev_info(dev, "no core regulator found\n");
apb->vcore = NULL;
}
apb->vio = devm_regulator_get(dev, "vio"); apb->vio = devm_regulator_get(dev, "vio");
if (IS_ERR(apb->vio)) { if (IS_ERR(apb->vio))
dev_info(dev, "no IO regulator found\n"); dev_info(dev, "no IO regulator found\n");
apb->vio = NULL;
}
apb->pinctrl = devm_pinctrl_get(&pdev->dev); apb->pinctrl = devm_pinctrl_get(&pdev->dev);
if (IS_ERR(apb->pinctrl)) { if (IS_ERR(apb->pinctrl)) {
...@@ -275,10 +271,10 @@ static void apb_ctrl_cleanup(struct arche_apb_ctrl_drvdata *apb) ...@@ -275,10 +271,10 @@ static void apb_ctrl_cleanup(struct arche_apb_ctrl_drvdata *apb)
{ {
unsigned long flags; unsigned long flags;
if (apb->vcore && regulator_is_enabled(apb->vcore) > 0) if (!IS_ERR(apb->vcore) && regulator_is_enabled(apb->vcore) > 0)
regulator_disable(apb->vcore); regulator_disable(apb->vcore);
if (apb->vio && regulator_is_enabled(apb->vio) > 0) if (!IS_ERR(apb->vio) && regulator_is_enabled(apb->vio) > 0)
regulator_disable(apb->vio); regulator_disable(apb->vio);
spin_lock_irqsave(&apb->lock, flags); spin_lock_irqsave(&apb->lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment