mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
PCMCIA is almost completely obsolete (the last computers supporting it natively were from ~2009), and the general consensus [1] seems to be that support for it should be gradually removed from the kernel. In 2023, an initial step of removing all the PCMCIA char drivers was taken in commit9b12f050c7("char: pcmcia: remove all the drivers"), and that has not been reverted, so it seems logical to continue this process by removing more low-hanging fruit. These host controller drivers have had no meaningful changes since their status was discussed in 2022 [2], and are unlikely to have any remaining users. Remove them and a couple references to them in comments. The i82365 and tcic drivers are for ISA-attached host controllers, which are even less likely to be used nowadays than ones on other buses. The i82092 driver has almost certainly not been used in over 20 years. It was broken by a null pointer dereference since the dawn of Git history (2.6.12-rc2 in 2005) until someone fixed it in 2021 in commite39cdacf2f("pcmcia: i82092: fix a null pointer dereference bug"). From their dmesg log [3], it is clear they were testing in an emulated environment and not on real hardware. i82365.h is used by drivers other than i82365 and is therefore retained. [1] https://lore.kernel.org/all/c5b39544-a4fb-4796-a046-0b9be9853787@app.fastmail.com/ [2] https://lore.kernel.org/all/Y07d7rMvd5++85BJ@owl.dominikbrodowski.net/ [3] https://lore.kernel.org/all/1624345891-4215-1-git-send-email-zheyuma97@gmail.com/ Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> # for x86 Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
224 lines
6.2 KiB
Plaintext
224 lines
6.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# PCCARD (PCMCIA/CardBus) bus subsystem configuration
|
|
#
|
|
|
|
menuconfig PCCARD
|
|
tristate "PCCard (PCMCIA/CardBus) support"
|
|
help
|
|
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,
|
|
modems or hard drives often used with laptops computers. There are
|
|
actually two varieties of these cards: 16 bit PCMCIA and 32 bit
|
|
CardBus cards.
|
|
|
|
To compile this driver as modules, choose M here: the
|
|
module will be called pcmcia_core.
|
|
|
|
if PCCARD
|
|
|
|
config PCMCIA
|
|
tristate "16-bit PCMCIA support"
|
|
depends on HAS_IOMEM
|
|
select CRC32
|
|
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 in
|
|
most cases. (see the file <file:Documentation/Changes> for
|
|
location and details).
|
|
|
|
To compile this driver as modules, choose M here: the
|
|
module will be called pcmcia.
|
|
|
|
If unsure, say Y.
|
|
|
|
config PCMCIA_LOAD_CIS
|
|
bool "Load CIS updates from userspace"
|
|
depends on PCMCIA
|
|
select FW_LOADER
|
|
default y
|
|
help
|
|
Some PCMCIA cards require an updated Card Information Structure (CIS)
|
|
to be loaded from userspace to work correctly. If you say Y here,
|
|
and your userspace is arranged correctly, this will be loaded
|
|
automatically using the in-kernel firmware loader and the hotplug
|
|
subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
|
|
|
|
If unsure, say Y.
|
|
|
|
config CARDBUS
|
|
bool "32-bit CardBus support"
|
|
depends on PCI
|
|
default y
|
|
help
|
|
CardBus is a bus mastering architecture for PC-cards, which allows
|
|
for 32 bit PC-cards (the original PCMCIA standard specifies only
|
|
a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
|
|
|
|
To use 32 bit PC-cards, you also need a CardBus compatible host
|
|
bridge. Virtually all modern PCMCIA bridges do this, and most of
|
|
them are "yenta-compatible", so say Y or M there, too.
|
|
|
|
If unsure, say Y.
|
|
|
|
config PCMCIA_MAX1600
|
|
tristate
|
|
|
|
comment "PC-card bridges"
|
|
|
|
config YENTA
|
|
tristate "CardBus yenta-compatible bridge support"
|
|
depends on PCI
|
|
select CARDBUS if !EXPERT
|
|
select PCCARD_NONSTATIC if PCMCIA != n
|
|
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 YENTA_O2
|
|
default y
|
|
bool "Special initialization for O2Micro bridges" if EXPERT
|
|
depends on YENTA
|
|
|
|
config YENTA_RICOH
|
|
default y
|
|
bool "Special initialization for Ricoh bridges" if EXPERT
|
|
depends on YENTA
|
|
|
|
config YENTA_TI
|
|
default y
|
|
bool "Special initialization for TI and EnE bridges" if EXPERT
|
|
depends on YENTA
|
|
|
|
config YENTA_ENE_TUNE
|
|
default y
|
|
bool "Auto-tune EnE bridges for CB cards" if EXPERT
|
|
depends on YENTA_TI && CARDBUS
|
|
|
|
config YENTA_TOSHIBA
|
|
default y
|
|
bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
|
|
depends on YENTA
|
|
|
|
config PD6729
|
|
tristate "Cirrus PD6729 compatible bridge support"
|
|
depends on PCMCIA && PCI && HAS_IOPORT
|
|
select PCCARD_NONSTATIC
|
|
help
|
|
This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
|
|
device, found in some older laptops and PCMCIA card readers.
|
|
|
|
config PCMCIA_ALCHEMY_DEVBOARD
|
|
tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
|
|
depends on MIPS_DB1XXX && PCMCIA
|
|
help
|
|
Enable this driver of you want PCMCIA support on your Alchemy
|
|
Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
|
|
board. NOT suitable for the PB1000!
|
|
|
|
This driver is also available as a module called db1xxx_ss.ko
|
|
|
|
config PCMCIA_XXS1500
|
|
tristate "MyCable XXS1500 PCMCIA socket support"
|
|
depends on PCMCIA && MIPS_XXS1500
|
|
help
|
|
Support for the PCMCIA/CF socket interface on MyCable XXS1500
|
|
systems.
|
|
|
|
This driver is also available as a module called xxs1500_ss.ko
|
|
|
|
config PCMCIA_BCM63XX
|
|
tristate "bcm63xx pcmcia support"
|
|
depends on BCM63XX && PCMCIA
|
|
|
|
config PCMCIA_SOC_COMMON
|
|
tristate
|
|
|
|
config PCMCIA_SA11XX_BASE
|
|
tristate
|
|
|
|
config PCMCIA_SA1100
|
|
tristate "SA1100 support"
|
|
depends on ARM && ARCH_SA1100 && PCMCIA
|
|
select PCMCIA_SOC_COMMON
|
|
select PCMCIA_SA11XX_BASE
|
|
help
|
|
Say Y here to include support for SA11x0-based PCMCIA or CF
|
|
sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
|
|
Xscale(R) embedded machines.
|
|
|
|
This driver is also available as a module called sa1100_cs.
|
|
|
|
config PCMCIA_SA1111
|
|
tristate "SA1111 support"
|
|
depends on ARM && SA1111 && PCMCIA
|
|
select PCMCIA_SOC_COMMON
|
|
select PCMCIA_SA11XX_BASE
|
|
select PCMCIA_MAX1600 if ASSABET_NEPONSET
|
|
help
|
|
Say Y here to include support for SA1111-based PCMCIA or CF
|
|
sockets, found on the Jornada 720, Graphicsmaster and other
|
|
StrongARM(R)/Xscale(R) embedded machines.
|
|
|
|
This driver is also available as a module called sa1111_cs.
|
|
|
|
config PCMCIA_PXA2XX
|
|
tristate "PXA2xx support"
|
|
depends on ARM && ARCH_PXA && PCMCIA && PXA_SHARPSL
|
|
select PCMCIA_SOC_COMMON
|
|
help
|
|
Say Y here to include support for the PXA2xx PCMCIA controller
|
|
|
|
config PCMCIA_DEBUG
|
|
bool "Enable debugging"
|
|
depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
|
|
help
|
|
Say Y here to enable debugging for the SoC PCMCIA layer.
|
|
You will need to choose the debugging level either via the
|
|
kernel command line, or module options depending whether
|
|
you build the drivers as modules.
|
|
|
|
The kernel command line options are:
|
|
sa11xx_core.pc_debug=N
|
|
pxa2xx_core.pc_debug=N
|
|
|
|
The module option is called pc_debug=N
|
|
|
|
In all the above examples, N is the debugging verbosity
|
|
level.
|
|
|
|
config PCMCIA_PROBE
|
|
bool
|
|
default y if ISA && !ARCH_SA1100 && !PARISC
|
|
|
|
config OMAP_CF
|
|
tristate "OMAP CompactFlash Controller"
|
|
depends on PCMCIA
|
|
depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST)
|
|
help
|
|
Say Y here to support the CompactFlash controller on OMAP.
|
|
Note that this doesn't support "True IDE" mode.
|
|
|
|
config ELECTRA_CF
|
|
tristate "Electra CompactFlash Controller"
|
|
depends on PCMCIA && PPC_PASEMI
|
|
help
|
|
Say Y here to support the CompactFlash controller on the
|
|
PA Semi Electra eval board.
|
|
|
|
config PCCARD_NONSTATIC
|
|
bool
|
|
|
|
endif # PCCARD
|