aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pcmcia/pxa2xx_base.c8
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)
332err1: 330err1:
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);
337err0: 334err0:
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}