aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-01-06 08:33:15 -0500
committerDominik Brodowski <linux@dominikbrodowski.net>2010-02-17 11:37:31 -0500
commit3a86e1807a53b7164c4ca2aec538d8a5d15416f1 (patch)
treea23503c690fd19681ab5a38b4add2b103048650c
parenta3ac9af56c14c366a76fb4916995e57392c7b7d5 (diff)
pcmcia: do not use resource manager on !PCMCIA
If only CardBus cards are used, but not PCMCIA cards, we do not need the extensive resource management functions provided for by rsrc_nonstatic.c (~240K). Tested-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
-rw-r--r--drivers/pcmcia/Kconfig4
-rw-r--r--include/pcmcia/ss.h10
2 files changed, 12 insertions, 2 deletions
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 44b324b80e90..efc51b9e811e 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -84,7 +84,7 @@ config YENTA
84 tristate "CardBus yenta-compatible bridge support" 84 tristate "CardBus yenta-compatible bridge support"
85 depends on PCI 85 depends on PCI
86 select CARDBUS if !EMBEDDED 86 select CARDBUS if !EMBEDDED
87 select PCCARD_NONSTATIC 87 select PCCARD_NONSTATIC if PCMCIA
88 ---help--- 88 ---help---
89 This option enables support for CardBus host bridges. Virtually 89 This option enables support for CardBus host bridges. Virtually
90 all modern PCMCIA bridges are CardBus compatible. A "bridge" is 90 all modern PCMCIA bridges are CardBus compatible. A "bridge" is
@@ -162,7 +162,7 @@ config TCIC
162config PCMCIA_M8XX 162config PCMCIA_M8XX
163 tristate "MPC8xx PCMCIA support" 163 tristate "MPC8xx PCMCIA support"
164 depends on PCMCIA && PPC && 8xx 164 depends on PCMCIA && PPC && 8xx
165 select PCCARD_IODYN 165 select PCCARD_IODYN if PCMCIA
166 help 166 help
167 Say Y here to include support for PowerPC 8xx series PCMCIA 167 Say Y here to include support for PowerPC 8xx series PCMCIA
168 controller. 168 controller.
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index 1a4737933bf3..9ab53d872489 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -263,10 +263,20 @@ struct pcmcia_socket {
263 * - pccard_nonstatic_ops iomem and ioport areas are assigned dynamically. 263 * - pccard_nonstatic_ops iomem and ioport areas are assigned dynamically.
264 * If this option is selected, use 264 * If this option is selected, use
265 * "select PCCARD_NONSTATIC" in Kconfig. 265 * "select PCCARD_NONSTATIC" in Kconfig.
266 *
266 */ 267 */
267extern struct pccard_resource_ops pccard_static_ops; 268extern struct pccard_resource_ops pccard_static_ops;
269#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
268extern struct pccard_resource_ops pccard_iodyn_ops; 270extern struct pccard_resource_ops pccard_iodyn_ops;
269extern struct pccard_resource_ops pccard_nonstatic_ops; 271extern struct pccard_resource_ops pccard_nonstatic_ops;
272#else
273/* If PCMCIA is not used, but only CARDBUS, these functions are not used
274 * at all. Therefore, do not use the large (240K!) rsrc_nonstatic module
275 */
276#define pccard_iodyn_ops pccard_static_ops
277#define pccard_nonstatic_ops pccard_static_ops
278#endif
279
270 280
271/* socket drivers are expected to use these callbacks in their .drv struct */ 281/* socket drivers are expected to use these callbacks in their .drv struct */
272extern int pcmcia_socket_dev_suspend(struct device *dev); 282extern int pcmcia_socket_dev_suspend(struct device *dev);