pcmcia: sa1111: simplify clk handing in sa1111_pcmcia_add()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 26 Mar 2015 10:46:35 +0000 (10:46 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 3 Sep 2015 15:00:44 +0000 (16:00 +0100)
clk_get(dev, NULL) will always refer to the same clock, so it's
pointless calling this multiple times for the same device.  As we no
longer have to worry about the cleanup (via use of devm_clk_get()) we
can simplify sa1111_pcmcia_add() too.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/pcmcia/sa1111_generic.c

index fb902af8a5b75b2af2a280e4fd611ca1e19359b2..a1531feb8460c3041ec55f629dcc26dcfca55d9b 100644 (file)
@@ -135,8 +135,13 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
        int (*add)(struct soc_pcmcia_socket *))
 {
        struct sa1111_pcmcia_socket *s;
+       struct clk *clk;
        int i, ret = 0;
 
+       clk = devm_clk_get(&dev->dev, NULL);
+       if (IS_ERR(clk))
+               return PTR_ERR(clk);
+
        ops->socket_state = sa1111_pcmcia_socket_state;
 
        for (i = 0; i < ops->nr; i++) {
@@ -145,12 +150,8 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
                        return -ENOMEM;
 
                s->soc.nr = ops->first + i;
-               s->soc.clk = devm_clk_get(&dev->dev, NULL);
-               if (IS_ERR(s->soc.clk)) {
-                       ret = PTR_ERR(s->soc.clk);
-                       kfree(s);
-                       return ret;
-               }
+               s->soc.clk = clk;
+
                soc_pcmcia_init_one(&s->soc, ops, &dev->dev);
                s->dev = dev;
                if (s->soc.nr) {