|
@@ -145,6 +145,12 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
|
|
|
return -ENOMEM;
|
|
|
|
|
|
s->soc.nr = ops->first + i;
|
|
|
+ s->soc.clk = clk_get(&dev->dev, NULL);
|
|
|
+ if (IS_ERR(s->soc.clk)) {
|
|
|
+ ret = PTR_ERR(s->soc.clk);
|
|
|
+ kfree(s);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
soc_pcmcia_init_one(&s->soc, ops, &dev->dev);
|
|
|
s->dev = dev;
|
|
|
if (s->soc.nr) {
|
|
@@ -220,6 +226,7 @@ static int pcmcia_remove(struct sa1111_dev *dev)
|
|
|
for (; s; s = next) {
|
|
|
next = s->next;
|
|
|
soc_pcmcia_remove_one(&s->soc);
|
|
|
+ clk_put(s->soc.clk);
|
|
|
kfree(s);
|
|
|
}
|
|
|
|