greybus: arche-apb: NULL is a valid regulator
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 11 Jan 2016 05:59:12 +0000 (11:29 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Mon, 11 Jan 2016 23:58:01 +0000 (15:58 -0800)
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: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-apb-ctrl.c

index 1ae2c06..acdeb71 100644 (file)
@@ -170,14 +170,14 @@ static int apb_ctrl_init_seq(struct platform_device *pdev,
        }
 
        /* Enable power to APB */
-       if (apb->vcore) {
+       if (!IS_ERR(apb->vcore)) {
                ret = regulator_enable(apb->vcore);
                if (ret) {
                        dev_err(dev, "failed to enable core regulator\n");
                        return ret;
                }
        }
-       if (apb->vio) {
+       if (!IS_ERR(apb->vio)) {
                ret = regulator_enable(apb->vio);
                if (ret) {
                        dev_err(dev, "failed to enable IO regulator\n");
@@ -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 */
        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");
-               apb->vcore = NULL;
-       }
 
        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");
-               apb->vio = NULL;
-       }
 
        apb->pinctrl = devm_pinctrl_get(&pdev->dev);
        if (IS_ERR(apb->pinctrl)) {
@@ -275,10 +271,10 @@ static void apb_ctrl_cleanup(struct arche_apb_ctrl_drvdata *apb)
 {
        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);
 
-       if (apb->vio && regulator_is_enabled(apb->vio) > 0)
+       if (!IS_ERR(apb->vio) && regulator_is_enabled(apb->vio) > 0)
                regulator_disable(apb->vio);
 
        spin_lock_irqsave(&apb->lock, flags);