diff options
author | David Lechner <david@lechnology.com> | 2016-09-13 05:48:33 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-13 18:20:02 +0300 |
commit | d458fe9a71a14737d1d8ff50d33c9ccf0403f435 (patch) | |
tree | 492012e78c9c2d2a9634aeb8c754c2fdba97aaa1 /drivers/usb/musb/da8xx.c | |
parent | 7cba17ec9adc8cf6c7e165adc831b4a73570a898 (diff) | |
download | linux-d458fe9a71a14737d1d8ff50d33c9ccf0403f435.tar.xz |
usb: musb: da8xx: Use devm in probe
Simplify things a bit by using devm functions where possible.
Signed-off-by: David Lechner <david@lechnology.com>
[b-liu@ti.com: fixed merge conflict]
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/musb/da8xx.c')
-rw-r--r-- | drivers/usb/musb/da8xx.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c index 3c4dd1658f28..35d24496ea71 100644 --- a/drivers/usb/musb/da8xx.c +++ b/drivers/usb/musb/da8xx.c @@ -490,18 +490,16 @@ static int da8xx_probe(struct platform_device *pdev) struct da8xx_glue *glue; struct platform_device_info pinfo; struct clk *clk; + int ret; - int ret = -ENOMEM; - - glue = kzalloc(sizeof(*glue), GFP_KERNEL); + glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL); if (!glue) - goto err0; + return -ENOMEM; - clk = clk_get(&pdev->dev, "usb20"); + clk = devm_clk_get(&pdev->dev, "usb20"); if (IS_ERR(clk)) { dev_err(&pdev->dev, "failed to get clock\n"); - ret = PTR_ERR(clk); - goto err3; + return PTR_ERR(clk); } ret = clk_enable(clk); @@ -558,12 +556,7 @@ err5: clk_disable(clk); err4: - clk_put(clk); - -err3: - kfree(glue); -err0: return ret; } @@ -574,8 +567,6 @@ static int da8xx_remove(struct platform_device *pdev) platform_device_unregister(glue->musb); usb_phy_generic_unregister(glue->phy); clk_disable(glue->clk); - clk_put(glue->clk); - kfree(glue); return 0; } |