PCMCIA: soc_common: move common initialization into soc_common
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 19 Dec 2011 14:07:31 +0000 (14:07 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 26 Jan 2012 19:57:17 +0000 (19:57 +0000)
Move common socket initialization into soc_common.c.

Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/pcmcia/pxa2xx_base.c
drivers/pcmcia/sa1111_generic.c
drivers/pcmcia/sa11xx_base.c
drivers/pcmcia/soc_common.c
drivers/pcmcia/soc_common.h

index a87e2728b2c3a19cd50df8b6ae19de643296cceb..18474f046e7bec8d8fef99b7f263e854d55d2a90 100644 (file)
@@ -318,10 +318,7 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device *dev)
 
                skt->nr = ops->first + i;
                skt->clk = clk;
-               skt->ops = ops;
-               skt->socket.owner = ops->owner;
-               skt->socket.dev.parent = &dev->dev;
-               skt->socket.pci_irq = NO_IRQ;
+               soc_pcmcia_init_one(skt, ops, &dev->dev);
 
                ret = pxa2xx_drv_pcmcia_add_one(skt);
                if (ret)
index 59866905ea37e5f2150221506cf9bac73b2eaa6d..7d6d3d423ef0df3b1224aca42baf7a2edffbf9e4 100644 (file)
@@ -141,9 +141,7 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
                        return -ENOMEM;
 
                s->soc.nr = ops->first + i;
-               s->soc.ops = ops;
-               s->soc.socket.owner = ops->owner;
-               s->soc.socket.dev.parent = &dev->dev;
+               soc_pcmcia_init_one(&s->soc, ops, &dev->dev);
                s->soc.socket.pci_irq = s->soc.nr ?
                                dev->irq[IDX_IRQ_S0_READY_NINT] :
                                dev->irq[IDX_IRQ_S1_READY_NINT];
index 0c62fe31a40e20ead5c0709757f177c738376574..a3ee89a6dd0e04c27b7881bf020ff30f03e6868d 100644 (file)
@@ -236,10 +236,7 @@ int sa11xx_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
                skt = &sinfo->skt[i];
 
                skt->nr = first + i;
-               skt->ops = ops;
-               skt->socket.owner = ops->owner;
-               skt->socket.dev.parent = dev;
-               skt->socket.pci_irq = NO_IRQ;
+               soc_pcmcia_init_one(skt, ops, dev);
 
                ret = sa11xx_drv_pcmcia_add_one(skt);
                if (ret)
index a0a9c2aa8d78a5a02aae23065b6e2a51ccec7621..84d90d5220cea39a78ebef07540784026189593b 100644 (file)
@@ -635,6 +635,16 @@ module_exit(soc_pcmcia_cpufreq_unregister);
 
 #endif
 
+void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt,
+       struct pcmcia_low_level *ops, struct device *dev)
+{
+       skt->ops = ops;
+       skt->socket.owner = ops->owner;
+       skt->socket.dev.parent = dev;
+       skt->socket.pci_irq = NO_IRQ;
+}
+EXPORT_SYMBOL(soc_pcmcia_init_one);
+
 void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt)
 {
        mutex_lock(&soc_pcmcia_sockets_lock);
index 9daa73615c8bba3914f1a2fbf44fbfaa09e33b47..3ff7ead11b1db647db906010f30f3d99a84393e0 100644 (file)
@@ -133,7 +133,8 @@ extern void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia
 extern void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
 extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *);
 
-
+void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt,
+       struct pcmcia_low_level *ops, struct device *dev);
 void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt);
 int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt);