diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-06 14:33:15 +0100 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-02-17 17:37:31 +0100 |
commit | 3a86e1807a53b7164c4ca2aec538d8a5d15416f1 (patch) | |
tree | a23503c690fd19681ab5a38b4add2b103048650c | |
parent | a3ac9af56c14c366a76fb4916995e57392c7b7d5 (diff) | |
download | op-kernel-dev-3a86e1807a53b7164c4ca2aec538d8a5d15416f1.zip op-kernel-dev-3a86e1807a53b7164c4ca2aec538d8a5d15416f1.tar.gz |
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 44b324b..efc51b9 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig @@ -84,7 +84,7 @@ config YENTA tristate "CardBus yenta-compatible bridge support" depends on PCI select CARDBUS if !EMBEDDED - select PCCARD_NONSTATIC + select PCCARD_NONSTATIC if PCMCIA ---help--- This option enables support for CardBus host bridges. Virtually all modern PCMCIA bridges are CardBus compatible. A "bridge" is @@ -162,7 +162,7 @@ config TCIC config PCMCIA_M8XX tristate "MPC8xx PCMCIA support" depends on PCMCIA && PPC && 8xx - select PCCARD_IODYN + select PCCARD_IODYN if PCMCIA help Say Y here to include support for PowerPC 8xx series PCMCIA controller. diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h index 1a47379..9ab53d8 100644 --- a/include/pcmcia/ss.h +++ b/include/pcmcia/ss.h @@ -263,10 +263,20 @@ struct pcmcia_socket { * - pccard_nonstatic_ops iomem and ioport areas are assigned dynamically. * If this option is selected, use * "select PCCARD_NONSTATIC" in Kconfig. + * */ extern struct pccard_resource_ops pccard_static_ops; +#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE) extern struct pccard_resource_ops pccard_iodyn_ops; extern struct pccard_resource_ops pccard_nonstatic_ops; +#else +/* If PCMCIA is not used, but only CARDBUS, these functions are not used + * at all. Therefore, do not use the large (240K!) rsrc_nonstatic module + */ +#define pccard_iodyn_ops pccard_static_ops +#define pccard_nonstatic_ops pccard_static_ops +#endif + /* socket drivers are expected to use these callbacks in their .drv struct */ extern int pcmcia_socket_dev_suspend(struct device *dev); |