]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
usb: chipidea: ci13xxx_imx: remove reg_vbus
authorFabio Estevam <fabio.estevam@freescale.com>
Thu, 13 Jun 2013 14:59:49 +0000 (17:59 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Jun 2013 20:45:46 +0000 (13:45 -0700)
There is no need to keep a 'reg_vbus' indirection, so get rid of it.

The motivation for doing this change is that in the case of error, the current
code only sets the local reg_vbus to NULL instead of updating the private
structure 'data->reg_vbus'.

Updating only the local reg_vbus is wrong, since we currently check for
data->reg_vbus in the ci13xxx_imx_remove() function.

In order to avoid such issue, just use 'data->reg_vbus' directly.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/ci13xxx_imx.c

index 24f46e1f043adac56d4553f536dc128cfcbf30c6..1b100c8e3835527ec4446bb37cc9e1a18969d6a3 100644 (file)
@@ -101,7 +101,6 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
        struct platform_device *phy_pdev;
        struct device_node *phy_np;
        struct resource *res;
-       struct regulator *reg_vbus;
        int ret;
 
        if (of_find_property(pdev->dev.of_node, "fsl,usbmisc", NULL)
@@ -150,18 +149,17 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
        }
 
        /* we only support host now, so enable vbus here */
-       reg_vbus = devm_regulator_get(&pdev->dev, "vbus");
-       if (!IS_ERR(reg_vbus)) {
-               ret = regulator_enable(reg_vbus);
+       data->reg_vbus = devm_regulator_get(&pdev->dev, "vbus");
+       if (!IS_ERR(data->reg_vbus)) {
+               ret = regulator_enable(data->reg_vbus);
                if (ret) {
                        dev_err(&pdev->dev,
                                "Failed to enable vbus regulator, err=%d\n",
                                ret);
                        goto put_np;
                }
-               data->reg_vbus = reg_vbus;
        } else {
-               reg_vbus = NULL;
+               data->reg_vbus = NULL;
        }
 
        ci13xxx_imx_platdata.phy = data->phy;
@@ -210,8 +208,8 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
 disable_device:
        ci13xxx_remove_device(data->ci_pdev);
 err:
-       if (reg_vbus)
-               regulator_disable(reg_vbus);
+       if (data->reg_vbus)
+               regulator_disable(data->reg_vbus);
 put_np:
        if (phy_np)
                of_node_put(phy_np);