usb: phy: ab8500-usb: convert to devm_kzalloc
authorFabio Baltieri <fabio.baltieri@linaro.org>
Wed, 3 Apr 2013 08:45:03 +0000 (10:45 +0200)
committerFelipe Balbi <balbi@ti.com>
Wed, 3 Apr 2013 08:55:48 +0000 (11:55 +0300)
Convert local data allocation to devm_kzalloc and drop unnecessary fail
path code.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/phy/phy-ab8500-usb.c

index 351b0369a6112a0626bd0e209f34ba34fca8b0ec..ab6dd072ae2501503e58bf6c05ed28fa3b76e322 100644 (file)
@@ -628,15 +628,13 @@ static int ab8500_usb_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       ab = kzalloc(sizeof *ab, GFP_KERNEL);
+       ab = devm_kzalloc(&pdev->dev, sizeof(*ab), GFP_KERNEL);
        if (!ab)
                return -ENOMEM;
 
-       otg = kzalloc(sizeof *otg, GFP_KERNEL);
-       if (!otg) {
-               kfree(ab);
+       otg = devm_kzalloc(&pdev->dev, sizeof(*otg), GFP_KERNEL);
+       if (!otg)
                return -ENOMEM;
-       }
 
        ab->dev                 = &pdev->dev;
        ab->ab8500              = ab8500;
@@ -665,12 +663,12 @@ static int ab8500_usb_probe(struct platform_device *pdev)
 
        err = ab8500_usb_irq_setup(pdev, ab);
        if (err < 0)
-               goto fail;
+               return err;
 
        err = usb_add_phy(&ab->phy, USB_PHY_TYPE_USB2);
        if (err) {
                dev_err(&pdev->dev, "Can't register transceiver\n");
-               goto fail;
+               return err;
        }
 
        /* Needed to enable ID detection. */
@@ -679,10 +677,6 @@ static int ab8500_usb_probe(struct platform_device *pdev)
        dev_info(&pdev->dev, "revision 0x%2x driver initialized\n", rev);
 
        return 0;
-fail:
-       kfree(otg);
-       kfree(ab);
-       return err;
 }
 
 static int ab8500_usb_remove(struct platform_device *pdev)
@@ -700,9 +694,6 @@ static int ab8500_usb_remove(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, NULL);
 
-       kfree(ab->phy.otg);
-       kfree(ab);
-
        return 0;
 }