ARM: 8246/2: pcmcia: sa1111: provide device clock
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Wed, 3 Dec 2014 17:42:13 +0000 (18:42 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 5 Dec 2014 16:30:29 +0000 (16:30 +0000)
Both pxa2xx (long ago) and sa1100 (now) make use of clock device to get
the cpu speed. Make sa1111 glue code provide clock to platform layer.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/pcmcia/sa1111_generic.c

index 65b02c3..7bae7e5 100644 (file)
@@ -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);
        }