OSDN Git Service

usb: gadget: pxa27x_udc: prepare and unprepare the clock
authorRobert Jarzmik <robert.jarzmik@free.fr>
Sun, 29 Jun 2014 14:01:10 +0000 (16:01 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 30 Jun 2014 17:53:38 +0000 (12:53 -0500)
Add clock prepare and unprepare as required by clock framework.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/pxa27x_udc.c

index cdf4d67..597d39f 100644 (file)
@@ -2446,6 +2446,9 @@ static int pxa_udc_probe(struct platform_device *pdev)
                retval = PTR_ERR(udc->clk);
                goto err_clk;
        }
+       retval = clk_prepare(udc->clk);
+       if (retval)
+               goto err_clk_prepare;
 
        retval = -ENOMEM;
        udc->regs = ioremap(regs->start, resource_size(regs));
@@ -2483,6 +2486,8 @@ err_add_udc:
 err_irq:
        iounmap(udc->regs);
 err_map:
+       clk_unprepare(udc->clk);
+err_clk_prepare:
        clk_put(udc->clk);
        udc->clk = NULL;
 err_clk:
@@ -2509,6 +2514,7 @@ static int pxa_udc_remove(struct platform_device *_dev)
 
        udc->transceiver = NULL;
        the_controller = NULL;
+       clk_unprepare(udc->clk);
        clk_put(udc->clk);
        iounmap(udc->regs);