summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLukasz Majewski <l.majewski@samsung.com>2012-05-04 16:17:16 +0400
committerFelipe Balbi <balbi@ti.com>2012-05-04 16:53:18 +0400
commit1d144c6732f6badd4be7a1383a4ae2adcc3f9386 (patch)
treedb009a3d73d7a4defcd0a01de50fa1108f6d4eb8 /drivers
parent04b4a0fce530eab728e27e24b5a8d6192c6f70d9 (diff)
downloadlinux-1d144c6732f6badd4be7a1383a4ae2adcc3f9386.tar.xz
usb:hsotg:samsung: err_irq: support for probe function
Missing handler for freeing requested IRQ added. Moreover clk_ calls has been reorganized. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/s3c-hsotg.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
index 1cac0be86f68..5061a2fe9620 100644
--- a/drivers/usb/gadget/s3c-hsotg.c
+++ b/drivers/usb/gadget/s3c-hsotg.c
@@ -3558,7 +3558,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
hsotg->supplies);
if (ret) {
dev_err(dev, "failed to request supplies: %d\n", ret);
- goto err_supplies;
+ goto err_irq;
}
ret = regulator_bulk_enable(ARRAY_SIZE(hsotg->supplies),
@@ -3637,17 +3637,13 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
return 0;
- err_ep_mem:
+err_ep_mem:
kfree(eps);
-
err_supplies:
s3c_hsotg_phy_disable(hsotg);
-
regulator_bulk_free(ARRAY_SIZE(hsotg->supplies), hsotg->supplies);
-
- clk_disable_unprepare(hsotg->clk);
- clk_put(hsotg->clk);
-
+err_irq:
+ free_irq(hsotg->irq, hsotg);
err_regs:
iounmap(hsotg->regs);
@@ -3655,6 +3651,7 @@ err_regs_res:
release_resource(hsotg->regs_res);
kfree(hsotg->regs_res);
err_clk:
+ clk_disable_unprepare(hsotg->clk);
clk_put(hsotg->clk);
err_mem:
kfree(hsotg);