Add clock prepare and unprepare as required by clock framework.

Signed-off-by: Robert Jarzmik <robert.jarz...@free.fr>
---
 drivers/usb/gadget/pxa27x_udc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index cdf4d67..597d39f 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -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);
 
-- 
2.0.0.rc2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to