mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
acdbfa0481
On s390 systems (aka mainframes), it has classic channel devices for networking and permanent storage that are currently even more common than PCI devices. Hence it could have a fully functional s390 kernel with CONFIG_PCI=n, then the relevant iomem mapping functions [including ioremap(), devm_ioremap(), etc.] are not available. Here let depend PCMCIA on HAS_IOMEM so that it won't be built to cause below compiling error if PCI is unset. ------ ld: drivers/pcmcia/cistpl.o: in function `set_cis_map': cistpl.c:(.text+0x1202): undefined reference to `ioremap' ld: cistpl.c:(.text+0x13b0): undefined reference to `iounmap' ld: cistpl.c:(.text+0x14a6): undefined reference to `iounmap' ld: cistpl.c:(.text+0x1544): undefined reference to `ioremap' ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem': cistpl.c:(.text+0x3f14): undefined reference to `iounmap' ------ Besides, many other Kconfig option, e.g IPWIRELESS, PCMCIA_PCNET, PCMCIA_FMVJ18X, PCMCIA_SMC91C92 which depends on PCMCIA also will cause compiling error if enabled. ------ ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined! ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined! ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined! ERROR: modpost: "ioremap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined! ERROR: modpost: "iounmap" [drivers/net/ethernet/fujitsu/fmvj18x_cs.ko] undefined! ERROR: modpost: "ioremap" [drivers/net/ethernet/fujitsu/fmvj18x_cs.ko] undefined! ERROR: modpost: "iounmap" [drivers/net/ethernet/smsc/smc91c92_cs.ko] undefined! ERROR: modpost: "ioremap" [drivers/net/ethernet/smsc/smc91c92_cs.ko] undefined! ERROR: modpost: "iounmap" [drivers/net/ethernet/xircom/xirc2ps_cs.ko] undefined! ERROR: modpost: "ioremap" [drivers/net/ethernet/xircom/xirc2ps_cs.ko] undefined! ERROR: modpost: "devm_ioremap" [drivers/net/ethernet/altera/altera_tse.ko] undefined! ERROR: modpost: "iounmap" [drivers/net/arcnet/com90xx.ko] undefined! ------ Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202306211329.ticOJCSv-lkp@intel.com/ Signed-off-by: Baoquan He <bhe@redhat.com> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Link: https://lore.kernel.org/r/20230707135852.24292-5-bhe@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
257 lines
7.3 KiB
Plaintext
257 lines
7.3 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 I82092
|
|
tristate "i82092 compatible bridge support"
|
|
depends on PCMCIA && PCI && HAS_IOPORT
|
|
select PCCARD_NONSTATIC
|
|
help
|
|
This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
|
|
found in some older laptops and more commonly in evaluation boards for the
|
|
chip.
|
|
|
|
config I82365
|
|
tristate "i82365 compatible bridge support"
|
|
depends on PCMCIA && ISA
|
|
select PCCARD_NONSTATIC
|
|
help
|
|
Say Y here to include support for ISA-bus PCMCIA host bridges that
|
|
are register compatible with the Intel i82365. These are found on
|
|
older laptops and ISA-bus card readers for desktop systems. A
|
|
"bridge" is the hardware inside your computer that PCMCIA cards are
|
|
plugged into. If unsure, say N.
|
|
|
|
config TCIC
|
|
tristate "Databook TCIC host bridge support"
|
|
depends on PCMCIA && ISA
|
|
select PCCARD_NONSTATIC
|
|
help
|
|
Say Y here to include support for the Databook TCIC family of PCMCIA
|
|
host bridges. These are only found on a handful of old systems.
|
|
"Bridge" is the name used for the hardware inside your computer that
|
|
PCMCIA cards are plugged into. If unsure, say N.
|
|
|
|
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
|
|
|
|
config PCCARD_IODYN
|
|
bool
|
|
|
|
endif # PCCARD
|