diff options
-rw-r--r-- | drivers/pcmcia/pxa2xx_base.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c index 984a8ff559d8..197c77a64ce0 100644 --- a/drivers/pcmcia/pxa2xx_base.c +++ b/drivers/pcmcia/pxa2xx_base.c | |||
@@ -296,17 +296,15 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device *dev) | |||
296 | goto err0; | 296 | goto err0; |
297 | } | 297 | } |
298 | 298 | ||
299 | clk = clk_get(&dev->dev, NULL); | 299 | clk = devm_clk_get(&dev->dev, NULL); |
300 | if (IS_ERR(clk)) | 300 | if (IS_ERR(clk)) |
301 | return -ENODEV; | 301 | return -ENODEV; |
302 | 302 | ||
303 | pxa2xx_drv_pcmcia_ops(ops); | 303 | pxa2xx_drv_pcmcia_ops(ops); |
304 | 304 | ||
305 | sinfo = kzalloc(SKT_DEV_INFO_SIZE(ops->nr), GFP_KERNEL); | 305 | sinfo = kzalloc(SKT_DEV_INFO_SIZE(ops->nr), GFP_KERNEL); |
306 | if (!sinfo) { | 306 | if (!sinfo) |
307 | clk_put(clk); | ||
308 | return -ENOMEM; | 307 | return -ENOMEM; |
309 | } | ||
310 | 308 | ||
311 | sinfo->nskt = ops->nr; | 309 | sinfo->nskt = ops->nr; |
312 | sinfo->clk = clk; | 310 | sinfo->clk = clk; |
@@ -332,7 +330,6 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device *dev) | |||
332 | err1: | 330 | err1: |
333 | while (--i >= 0) | 331 | while (--i >= 0) |
334 | soc_pcmcia_remove_one(&sinfo->skt[i]); | 332 | soc_pcmcia_remove_one(&sinfo->skt[i]); |
335 | clk_put(clk); | ||
336 | kfree(sinfo); | 333 | kfree(sinfo); |
337 | err0: | 334 | err0: |
338 | return ret; | 335 | return ret; |
@@ -348,7 +345,6 @@ static int pxa2xx_drv_pcmcia_remove(struct platform_device *dev) | |||
348 | for (i = 0; i < sinfo->nskt; i++) | 345 | for (i = 0; i < sinfo->nskt; i++) |
349 | soc_pcmcia_remove_one(&sinfo->skt[i]); | 346 | soc_pcmcia_remove_one(&sinfo->skt[i]); |
350 | 347 | ||
351 | clk_put(sinfo->clk); | ||
352 | kfree(sinfo); | 348 | kfree(sinfo); |
353 | return 0; | 349 | return 0; |
354 | } | 350 | } |