aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/soc_common.c
diff options
context:
space:
mode:
authorRussell King - ARM Linux <linux@arm.linux.org.uk>2009-03-29 14:23:42 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2009-11-09 02:30:11 -0500
commitda4f007375197d6683461b995d404b01a7fdf2f5 (patch)
tree310c773abd405610c2dfcb952c1dead23885e6d9 /drivers/pcmcia/soc_common.c
parentbe85458edce0f165cff62622f5e73b1d17b1e228 (diff)
PCMCIA: soc_common: push socket probe down into SoC specific support
Move the individual socket probing and initialization down into the SoC specific support files, thereby allowing soc_common_drv_pcmcia_probe to be eliminated. soc_common.c now no longer deals with distinct groups of sockets. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/soc_common.c')
-rw-r--r--drivers/pcmcia/soc_common.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index fb5377d17af4..6bc60f84a44a 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/drivers/pcmcia/soc_common.c
@@ -741,43 +741,6 @@ int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt)
741} 741}
742EXPORT_SYMBOL(soc_pcmcia_add_one); 742EXPORT_SYMBOL(soc_pcmcia_add_one);
743 743
744int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops,
745 struct skt_dev_info *sinfo)
746{
747 struct soc_pcmcia_socket *skt;
748 int ret, i;
749
750 /*
751 * Initialise the per-socket structure.
752 */
753 for (i = ret = 0; i < sinfo->nskt; i++) {
754 skt = &sinfo->skt[i];
755
756 skt->socket.owner = ops->owner;
757 skt->socket.dev.parent = dev;
758
759 skt->dev = dev;
760 skt->ops = ops;
761
762 ret = soc_pcmcia_add_one(skt);
763 if (ret)
764 break;
765
766 WARN_ON(skt->socket.sock != i);
767 }
768
769 if (ret) {
770 while (--i >= 0)
771 soc_pcmcia_remove_one(&sinfo->skt[i]);
772 kfree(sinfo);
773 } else {
774 dev_set_drvdata(dev, sinfo);
775 }
776
777 return ret;
778}
779EXPORT_SYMBOL(soc_common_drv_pcmcia_probe);
780
781MODULE_AUTHOR("John Dorsey <john+@cs.cmu.edu>"); 744MODULE_AUTHOR("John Dorsey <john+@cs.cmu.edu>");
782MODULE_DESCRIPTION("Linux PCMCIA Card Services: Common SoC support"); 745MODULE_DESCRIPTION("Linux PCMCIA Card Services: Common SoC support");
783MODULE_LICENSE("Dual MPL/GPL"); 746MODULE_LICENSE("Dual MPL/GPL");