net: Disallow providing non zero VLAN ID for NIC drivers FDB add flow
[cascardo/linux.git] / drivers / pcmcia / sa1111_generic.c
index 65b02c3..80b8e9d 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) {
@@ -197,10 +203,10 @@ static int pcmcia_probe(struct sa1111_dev *dev)
        sa1111_writel(PCCR_S0_FLT | PCCR_S1_FLT, base + PCCR);
 
 #ifdef CONFIG_SA1100_BADGE4
-       pcmcia_badge4_init(&dev->dev);
+       pcmcia_badge4_init(dev);
 #endif
 #ifdef CONFIG_SA1100_JORNADA720
-       pcmcia_jornada720_init(&dev->dev);
+       pcmcia_jornada720_init(dev);
 #endif
 #ifdef CONFIG_ARCH_LUBBOCK
        pcmcia_lubbock_init(dev);
@@ -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);
        }