diff options
author | Russell King - ARM Linux <linux@arm.linux.org.uk> | 2009-03-29 14:23:42 -0400 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2009-11-09 02:30:11 -0500 |
commit | da4f007375197d6683461b995d404b01a7fdf2f5 (patch) | |
tree | 310c773abd405610c2dfcb952c1dead23885e6d9 /drivers/pcmcia/soc_common.c | |
parent | be85458edce0f165cff62622f5e73b1d17b1e228 (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.c | 37 |
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 | } |
742 | EXPORT_SYMBOL(soc_pcmcia_add_one); | 742 | EXPORT_SYMBOL(soc_pcmcia_add_one); |
743 | 743 | ||
744 | int 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 | } | ||
779 | EXPORT_SYMBOL(soc_common_drv_pcmcia_probe); | ||
780 | |||
781 | MODULE_AUTHOR("John Dorsey <john+@cs.cmu.edu>"); | 744 | MODULE_AUTHOR("John Dorsey <john+@cs.cmu.edu>"); |
782 | MODULE_DESCRIPTION("Linux PCMCIA Card Services: Common SoC support"); | 745 | MODULE_DESCRIPTION("Linux PCMCIA Card Services: Common SoC support"); |
783 | MODULE_LICENSE("Dual MPL/GPL"); | 746 | MODULE_LICENSE("Dual MPL/GPL"); |