drivers/usb/host/ehci-s5p.c: use devm_ functions
authorJulia Lawall <Julia.Lawall@lip6.fr>
Mon, 30 Jul 2012 14:43:44 +0000 (16:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Aug 2012 19:04:09 +0000 (12:04 -0700)
The various devm_ functions allocate memory that is released when a driver
detaches.  This patch uses these functions for data that is allocated in
the probe function of a platform device and is only freed in the remove
function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-s5p.c

index 9d8f1dd57cb36a5041ec22ef9c60b28923fbcf83..d055503e4183fbefa68b8e572c8e64f1ed1008df 100644 (file)
@@ -128,7 +128,7 @@ static int __devinit s5p_ehci_probe(struct platform_device *pdev)
        }
 
        s5p_ehci->hcd = hcd;
-       s5p_ehci->clk = clk_get(&pdev->dev, "usbhost");
+       s5p_ehci->clk = devm_clk_get(&pdev->dev, "usbhost");
 
        if (IS_ERR(s5p_ehci->clk)) {
                dev_err(&pdev->dev, "Failed to get usbhost clock\n");
@@ -138,7 +138,7 @@ static int __devinit s5p_ehci_probe(struct platform_device *pdev)
 
        err = clk_enable(s5p_ehci->clk);
        if (err)
-               goto fail_clken;
+               goto fail_clk;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
@@ -184,8 +184,6 @@ static int __devinit s5p_ehci_probe(struct platform_device *pdev)
 
 fail_io:
        clk_disable(s5p_ehci->clk);
-fail_clken:
-       clk_put(s5p_ehci->clk);
 fail_clk:
        usb_put_hcd(hcd);
        return err;
@@ -203,7 +201,6 @@ static int __devexit s5p_ehci_remove(struct platform_device *pdev)
                pdata->phy_exit(pdev, S5P_USB_PHY_HOST);
 
        clk_disable(s5p_ehci->clk);
-       clk_put(s5p_ehci->clk);
 
        usb_put_hcd(hcd);