diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-06 08:33:15 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-02-17 11:37:31 -0500 |
commit | 3a86e1807a53b7164c4ca2aec538d8a5d15416f1 (patch) | |
tree | a23503c690fd19681ab5a38b4add2b103048650c | |
parent | a3ac9af56c14c366a76fb4916995e57392c7b7d5 (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/Kconfig | 4 | ||||
-rw-r--r-- | include/pcmcia/ss.h | 10 |
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 | |||
162 | config PCMCIA_M8XX | 162 | config 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 | */ |
267 | extern struct pccard_resource_ops pccard_static_ops; | 268 | extern struct pccard_resource_ops pccard_static_ops; |
269 | #if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE) | ||
268 | extern struct pccard_resource_ops pccard_iodyn_ops; | 270 | extern struct pccard_resource_ops pccard_iodyn_ops; |
269 | extern struct pccard_resource_ops pccard_nonstatic_ops; | 271 | extern 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 */ |
272 | extern int pcmcia_socket_dev_suspend(struct device *dev); | 282 | extern int pcmcia_socket_dev_suspend(struct device *dev); |