diff options
author | Lukasz Majewski <l.majewski@samsung.com> | 2012-05-04 08:17:16 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-05-04 08:53:18 -0400 |
commit | 1d144c6732f6badd4be7a1383a4ae2adcc3f9386 (patch) | |
tree | db009a3d73d7a4defcd0a01de50fa1108f6d4eb8 /drivers/usb/gadget/s3c-hsotg.c | |
parent | 04b4a0fce530eab728e27e24b5a8d6192c6f70d9 (diff) |
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/usb/gadget/s3c-hsotg.c')
-rw-r--r-- | drivers/usb/gadget/s3c-hsotg.c | 13 |
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) | |||
3558 | hsotg->supplies); | 3558 | hsotg->supplies); |
3559 | if (ret) { | 3559 | if (ret) { |
3560 | dev_err(dev, "failed to request supplies: %d\n", ret); | 3560 | dev_err(dev, "failed to request supplies: %d\n", ret); |
3561 | goto err_supplies; | 3561 | goto err_irq; |
3562 | } | 3562 | } |
3563 | 3563 | ||
3564 | ret = regulator_bulk_enable(ARRAY_SIZE(hsotg->supplies), | 3564 | ret = regulator_bulk_enable(ARRAY_SIZE(hsotg->supplies), |
@@ -3637,17 +3637,13 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev) | |||
3637 | 3637 | ||
3638 | return 0; | 3638 | return 0; |
3639 | 3639 | ||
3640 | err_ep_mem: | 3640 | err_ep_mem: |
3641 | kfree(eps); | 3641 | kfree(eps); |
3642 | |||
3643 | err_supplies: | 3642 | err_supplies: |
3644 | s3c_hsotg_phy_disable(hsotg); | 3643 | s3c_hsotg_phy_disable(hsotg); |
3645 | |||
3646 | regulator_bulk_free(ARRAY_SIZE(hsotg->supplies), hsotg->supplies); | 3644 | regulator_bulk_free(ARRAY_SIZE(hsotg->supplies), hsotg->supplies); |
3647 | 3645 | err_irq: | |
3648 | clk_disable_unprepare(hsotg->clk); | 3646 | free_irq(hsotg->irq, hsotg); |
3649 | clk_put(hsotg->clk); | ||
3650 | |||
3651 | err_regs: | 3647 | err_regs: |
3652 | iounmap(hsotg->regs); | 3648 | iounmap(hsotg->regs); |
3653 | 3649 | ||
@@ -3655,6 +3651,7 @@ err_regs_res: | |||
3655 | release_resource(hsotg->regs_res); | 3651 | release_resource(hsotg->regs_res); |
3656 | kfree(hsotg->regs_res); | 3652 | kfree(hsotg->regs_res); |
3657 | err_clk: | 3653 | err_clk: |
3654 | clk_disable_unprepare(hsotg->clk); | ||
3658 | clk_put(hsotg->clk); | 3655 | clk_put(hsotg->clk); |
3659 | err_mem: | 3656 | err_mem: |
3660 | kfree(hsotg); | 3657 | kfree(hsotg); |