summaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-03-26 06:22:20 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-07-08 06:29:55 -0400
commit72010aca55264cfe6516a955066c846d3885b0c6 (patch)
tree1d9eb9b93fba59b93afd4e1e62c4c59503c46502 /drivers/pcmcia
parentd770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (diff)
pcmcia: sa11x0: fix missing clk_put() in sa11x0 socket drivers
Fix the lack of clk_put() in sa11xx_base.c's error cleanup paths by converting the driver to the devm_* API. Fixes: 86d88bfca475 ("ARM: 8247/2: pcmcia: sa1100: make use of device clock") Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r--drivers/pcmcia/sa1100_generic.c1
-rw-r--r--drivers/pcmcia/sa11xx_base.c3
2 files changed, 1 insertions, 3 deletions
diff --git a/drivers/pcmcia/sa1100_generic.c b/drivers/pcmcia/sa1100_generic.c
index 803945259da8..42861cc70158 100644
--- a/drivers/pcmcia/sa1100_generic.c
+++ b/drivers/pcmcia/sa1100_generic.c
@@ -93,7 +93,6 @@ static int sa11x0_drv_pcmcia_remove(struct platform_device *dev)
93 for (i = 0; i < sinfo->nskt; i++) 93 for (i = 0; i < sinfo->nskt; i++)
94 soc_pcmcia_remove_one(&sinfo->skt[i]); 94 soc_pcmcia_remove_one(&sinfo->skt[i]);
95 95
96 clk_put(sinfo->clk);
97 kfree(sinfo); 96 kfree(sinfo);
98 return 0; 97 return 0;
99} 98}
diff --git a/drivers/pcmcia/sa11xx_base.c b/drivers/pcmcia/sa11xx_base.c
index cf6de2c2b329..553d70a67f80 100644
--- a/drivers/pcmcia/sa11xx_base.c
+++ b/drivers/pcmcia/sa11xx_base.c
@@ -222,7 +222,7 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
222 int i, ret = 0; 222 int i, ret = 0;
223 struct clk *clk; 223 struct clk *clk;
224 224
225 clk = clk_get(dev, NULL); 225 clk = devm_clk_get(dev, NULL);
226 if (IS_ERR(clk)) 226 if (IS_ERR(clk))
227 return PTR_ERR(clk); 227 return PTR_ERR(clk);
228 228
@@ -251,7 +251,6 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
251 if (ret) { 251 if (ret) {
252 while (--i >= 0) 252 while (--i >= 0)
253 soc_pcmcia_remove_one(&sinfo->skt[i]); 253 soc_pcmcia_remove_one(&sinfo->skt[i]);
254 clk_put(clk);
255 kfree(sinfo); 254 kfree(sinfo);
256 } else { 255 } else {
257 dev_set_drvdata(dev, sinfo); 256 dev_set_drvdata(dev, sinfo);