Commit 238690e7 authored by Dominik Brodowski's avatar Dominik Brodowski Committed by Russell King

[PCMCIA] 06-Kconfig_PCMCIA.diff

After noting three things, namely
1.) CardBus cards work without ds a.k.a. pcmcia loaded,
2.) ds a.k.a pcmcia cannot be built as module if pcmcia_core is
    built in, and
3.) some commenting in drivers/pcmcia/Kconfig was obsolete
    [to use 32-bit cards, you don't need pcmcia-cs],
I wrote this patch which introduces more config options for fine-
grained tuning of what to built as what and what not to built. In
future, 16-bit-specific code in pcmcia_core may be surrounded by
CONFIG_PCMCIA. Also, I'll try to remove the dependency of
yenta_socket on cardbus.
parent c3a7b9b2
...@@ -36,7 +36,7 @@ obj-$(CONFIG_FUSION) += message/ ...@@ -36,7 +36,7 @@ obj-$(CONFIG_FUSION) += message/
obj-$(CONFIG_IEEE1394) += ieee1394/ obj-$(CONFIG_IEEE1394) += ieee1394/
obj-y += cdrom/ obj-y += cdrom/
obj-$(CONFIG_MTD) += mtd/ obj-$(CONFIG_MTD) += mtd/
obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_PCCARD) += pcmcia/
obj-$(CONFIG_DIO) += dio/ obj-$(CONFIG_DIO) += dio/
obj-$(CONFIG_SBUS) += sbus/ obj-$(CONFIG_SBUS) += sbus/
obj-$(CONFIG_ZORRO) += zorro/ obj-$(CONFIG_ZORRO) += zorro/
......
...@@ -5,30 +5,24 @@ ...@@ -5,30 +5,24 @@
# by the integrated kernel driver. # by the integrated kernel driver.
# #
menu "PCMCIA/CardBus support" menu "PCCARD (PCMCIA/CardBus) support"
depends on HOTPLUG depends on HOTPLUG
config PCMCIA config PCCARD
tristate "PCMCIA/CardBus support" tristate "PCCard (PCMCIA/CardBus) support"
---help--- ---help---
Say Y here if you want to attach PCMCIA- or PC-cards to your Linux Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
computer. These are credit-card size devices such as network cards, computer. These are credit-card size devices such as network cards,
modems or hard drives often used with laptops computers. There are modems or hard drives often used with laptops computers. There are
actually two varieties of these cards: the older 16 bit PCMCIA cards actually two varieties of these cards: the older 16 bit PCMCIA cards
and the newer 32 bit CardBus cards. If you want to use CardBus and the newer 32 bit CardBus cards.
cards, you need to say Y here and also to "CardBus support" below.
To use your PC-cards, you will need supporting software from David
Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
for location). Please also read the PCMCIA-HOWTO, available from
<http://www.tldp.org/docs.html#howto>.
To compile this driver as modules, choose M here: the To compile this driver as modules, choose M here: the
modules will be called pcmcia_core and ds. module will be called pcmcia_core.
config PCMCIA_DEBUG config PCMCIA_DEBUG
bool "Enable PCMCIA debugging" bool "Enable PCCARD debugging"
depends on PCMCIA != n depends on PCCARD != n
help help
Say Y here to enable PCMCIA subsystem debugging. You Say Y here to enable PCMCIA subsystem debugging. You
will need to choose the debugging level either via the will need to choose the debugging level either via the
...@@ -46,10 +40,10 @@ config PCMCIA_DEBUG ...@@ -46,10 +40,10 @@ config PCMCIA_DEBUG
level. level.
config PCMCIA_OBSOLETE config PCMCIA_OBSOLETE
bool "Enable obsolete PCMCIA code" bool "Enable obsolete PCCARD code"
depends on PCMCIA != n depends on PCCARD != n
help help
Say Y here to enable some code found in the PCMCIA subsystem Say Y here to enable some code found in the PCCARD subsystem
which has no in-kernel usage, but might be needed for certain which has no in-kernel usage, but might be needed for certain
external PCMCIA drivers. If you do need to say Y here so that external PCMCIA drivers. If you do need to say Y here so that
one such driver compiles and/or works correctly, please report one such driver compiles and/or works correctly, please report
...@@ -57,29 +51,57 @@ config PCMCIA_OBSOLETE ...@@ -57,29 +51,57 @@ config PCMCIA_OBSOLETE
If unsure, say N If unsure, say N
config YENTA config PCMCIA
tristate "CardBus yenta-compatible bridge support" tristate "16-bit PCMCIA support"
depends on PCMCIA && PCI depends on PCCARD
default y
---help---
This option enables support for 16-bit PCMCIA cards. Most older
PC-cards are such 16-bit PCMCIA cards, so unless you know you're
only using 32-bit CardBus cards, say Y or M here.
To use 16-bit PCMCIA cards, you will need supporting software from
David Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
for location). Please also read the PCMCIA-HOWTO, available from
<http://www.tldp.org/docs.html#howto>.
To compile this driver as modules, choose M here: the
module will be called pcmcia.
If unsure, say Y.
config CARDBUS
bool "32-bit CardBus support"
depends on PCCARD && PCI
default y
---help--- ---help---
CardBus is a bus mastering architecture for PC-cards, which allows CardBus is a bus mastering architecture for PC-cards, which allows
for 32 bit PC-cards (the original PCMCIA standard specifies only for 32 bit PC-cards (the original PCMCIA standard specifies only
a 16 bit wide bus). Many newer PC-cards are actually CardBus cards. a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
This option enables support for CardBus PC Cards, as well as support To use 32 bit PC-cards, you also need a CardBus compatible host
for CardBus host bridges. Virtually all modern PCMCIA bridges are bridge. Virtually all modern PCMCIA bridges do this, and most of
CardBus compatible. A "bridge" is the hardware inside your computer them are "yenta-compatible", so say Y or M there, too.
that PCMCIA cards are plugged into.
To use your PC-cards, you will need supporting software from David
Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
for location).
If unsure, say Y. If unsure, say Y.
config CARDBUS comment "PC-card bridges"
bool
depends on YENTA config YENTA
default y if YENTA tristate "CardBus yenta-compatible bridge support"
depends on PCCARD && PCI
#fixme: remove dependendcy on CARDBUS
depends on CARDBUS
---help---
This option enables support for CardBus host bridges. Virtually
all modern PCMCIA bridges are CardBus compatible. A "bridge" is
the hardware inside your computer that PCMCIA cards are plugged
into.
To compile this driver as modules, choose M here: the
module will be called yenta_socket.
If unsure, say Y.
config PD6729 config PD6729
tristate "Cirrus PD6729 compatible bridge support" tristate "Cirrus PD6729 compatible bridge support"
......
...@@ -6,7 +6,16 @@ ifeq ($(CONFIG_PCMCIA_DEBUG),y) ...@@ -6,7 +6,16 @@ ifeq ($(CONFIG_PCMCIA_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG EXTRA_CFLAGS += -DDEBUG
endif endif
obj-$(CONFIG_PCMCIA) += pcmcia_core.o pcmcia.o pcmcia_core-y += cs.o cistpl.o rsrc_mgr.o socket_sysfs.o
pcmcia_core-$(CONFIG_CARDBUS) += cardbus.o
obj-$(CONFIG_PCCARD) += pcmcia_core.o
pcmcia-y += ds.o bulkmem.o
obj-$(CONFIG_PCMCIA) += pcmcia.o
# socket drivers
obj-$(CONFIG_YENTA) += yenta_socket.o obj-$(CONFIG_YENTA) += yenta_socket.o
obj-$(CONFIG_PD6729) += pd6729.o obj-$(CONFIG_PD6729) += pd6729.o
...@@ -18,11 +27,6 @@ obj-$(CONFIG_PCMCIA_SA1100) += sa11xx_core.o sa1100_cs.o ...@@ -18,11 +27,6 @@ obj-$(CONFIG_PCMCIA_SA1100) += sa11xx_core.o sa1100_cs.o
obj-$(CONFIG_PCMCIA_SA1111) += sa11xx_core.o sa1111_cs.o obj-$(CONFIG_PCMCIA_SA1111) += sa11xx_core.o sa1111_cs.o
obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_core.o pxa2xx_cs.o obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_core.o pxa2xx_cs.o
pcmcia_core-y += cistpl.o rsrc_mgr.o cs.o socket_sysfs.o
pcmcia_core-$(CONFIG_CARDBUS) += cardbus.o
pcmcia-y += ds.o bulkmem.o
sa11xx_core-y += soc_common.o sa11xx_base.o sa11xx_core-y += soc_common.o sa11xx_base.o
pxa2xx_core-y += soc_common.o pxa2xx_base.o pxa2xx_core-y += soc_common.o pxa2xx_base.o
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment