Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- commit 40177b35f11907e56a7783f744dcce91300f02d5
- Author: Arnd Bergmann <arnd@arndb.de>
- Date: Mon Jul 5 11:43:16 2021 +0200
- CONFIG_HAS_IOPORT
- Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- diff --git a/drivers/accessibility/speakup/Kconfig b/drivers/accessibility/speakup/Kconfig
- index 07ecbbde0384..e84fb617acc4 100644
- --- a/drivers/accessibility/speakup/Kconfig
- +++ b/drivers/accessibility/speakup/Kconfig
- @@ -46,6 +46,7 @@ if SPEAKUP
- config SPEAKUP_SERIALIO
- def_bool y
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- config SPEAKUP_SYNTH_ACNTSA
- tristate "Accent SA synthesizer support"
- diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
- index eedec61e3476..78f61ca7c2a9 100644
- --- a/drivers/acpi/Kconfig
- +++ b/drivers/acpi/Kconfig
- @@ -9,6 +9,7 @@ config ARCH_SUPPORTS_ACPI
- menuconfig ACPI
- bool "ACPI (Advanced Configuration and Power Interface) Support"
- depends on ARCH_SUPPORTS_ACPI
- + depends on HAS_IOPORT
- select PNP
- select NLS
- default y if X86
- diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
- index d17c83319e70..169610597ae4 100644
- --- a/drivers/ata/Kconfig
- +++ b/drivers/ata/Kconfig
- @@ -556,7 +556,7 @@ comment "PATA SFF controllers with BMDMA"
- config PATA_ALI
- tristate "ALi PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- select PATA_TIMINGS
- help
- This option enables support for the ALi ATA interfaces
- @@ -566,7 +566,7 @@ config PATA_ALI
- config PATA_AMD
- tristate "AMD/NVidia PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- select PATA_TIMINGS
- help
- This option enables support for the AMD and NVidia PATA
- @@ -584,7 +584,7 @@ config PATA_ARASAN_CF
- config PATA_ARTOP
- tristate "ARTOP 6210/6260 PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for ARTOP PATA controllers.
- @@ -621,7 +621,7 @@ config PATA_BK3710
- config PATA_CMD64X
- tristate "CMD64x PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- select PATA_TIMINGS
- help
- This option enables support for the CMD64x series chips
- @@ -667,7 +667,7 @@ config PATA_CS5536
- config PATA_CYPRESS
- tristate "Cypress CY82C693 PATA support (Very Experimental)"
- - depends on PCI
- + depends on LEGACY_PCI
- select PATA_TIMINGS
- help
- This option enables support for the Cypress/Contaq CY82C693
- @@ -707,7 +707,7 @@ config PATA_FTIDE010
- config PATA_HPT366
- tristate "HPT 366/368 PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for the HPT 366 and 368
- PATA controllers via the new ATA layer.
- @@ -716,7 +716,7 @@ config PATA_HPT366
- config PATA_HPT37X
- tristate "HPT 370/370A/371/372/374/302 PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for the majority of the later HPT
- PATA controllers via the new ATA layer.
- @@ -725,7 +725,7 @@ config PATA_HPT37X
- config PATA_HPT3X2N
- tristate "HPT 371N/372N/302N PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for the N variant HPT PATA
- controllers via the new ATA layer.
- @@ -828,7 +828,7 @@ config PATA_MPC52xx
- config PATA_NETCELL
- tristate "NETCELL Revolution RAID support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for the Netcell Revolution RAID
- PATA controller.
- @@ -864,7 +864,7 @@ config PATA_OLDPIIX
- config PATA_OPTIDMA
- tristate "OPTI FireStar PATA support (Very Experimental)"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables DMA/PIO support for the later OPTi
- controllers found on some old motherboards and in some
- @@ -874,7 +874,7 @@ config PATA_OPTIDMA
- config PATA_PDC2027X
- tristate "Promise PATA 2027x support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
- @@ -882,7 +882,7 @@ config PATA_PDC2027X
- config PATA_PDC_OLD
- tristate "Older Promise PATA controller support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for the Promise 20246, 20262, 20263,
- 20265 and 20267 adapters.
- @@ -910,7 +910,7 @@ config PATA_RDC
- config PATA_SC1200
- tristate "SC1200 PATA support"
- - depends on PCI && (X86_32 || COMPILE_TEST)
- + depends on LEGACY_PCI && (X86_32 || COMPILE_TEST)
- help
- This option enables support for the NatSemi/AMD SC1200 SoC
- companion chip used with the Geode processor family.
- @@ -928,7 +928,7 @@ config PATA_SCH
- config PATA_SERVERWORKS
- tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables support for the Serverworks OSB4/CSB5/CSB6 and
- HT1000 PATA controllers, via the new ATA layer.
- @@ -1005,7 +1005,7 @@ comment "PIO-only SFF controllers"
- config PATA_CMD640_PCI
- tristate "CMD640 PCI PATA support (Experimental)"
- - depends on PCI
- + depends on LEGACY_PCI
- select PATA_TIMINGS
- help
- This option enables support for the CMD640 PCI IDE
- @@ -1086,7 +1086,7 @@ config PATA_NS87410
- config PATA_OPTI
- tristate "OPTI621/6215 PATA support (Very Experimental)"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This option enables full PIO support for the early Opti ATA
- controllers found on some old motherboards.
- @@ -1197,7 +1197,7 @@ config ATA_GENERIC
- config PATA_LEGACY
- tristate "Legacy ISA PATA support (Experimental)"
- - depends on (ISA || PCI)
- + depends on (ISA || LEGACY_PCI)
- select PATA_TIMINGS
- help
- This option enables support for ISA/VLB/PCI bus legacy PATA
- diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c
- index 20a32e4d501d..791942217e2c 100644
- --- a/drivers/ata/ata_generic.c
- +++ b/drivers/ata/ata_generic.c
- @@ -197,7 +197,8 @@ static int ata_generic_init_one(struct pci_dev *dev, const struct pci_device_id
- if (!(command & PCI_COMMAND_IO))
- return -ENODEV;
- - if (dev->vendor == PCI_VENDOR_ID_AL)
- + if (IS_ENABLED(CONFIG_LEGACY_PCI) &&
- + dev->vendor == PCI_VENDOR_ID_AL)
- ata_pci_bmdma_clear_simplex(dev);
- if (dev->vendor == PCI_VENDOR_ID_ATI) {
- diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
- index ae7189d1a568..9b0f61753505 100644
- --- a/drivers/ata/libata-sff.c
- +++ b/drivers/ata/libata-sff.c
- @@ -3088,6 +3088,7 @@ EXPORT_SYMBOL_GPL(ata_bmdma_port_start32);
- #ifdef CONFIG_PCI
- +#ifdef CONFIG_LEGACY_PCI
- /**
- * ata_pci_bmdma_clear_simplex - attempt to kick device out of simplex
- * @pdev: PCI device
- @@ -3113,6 +3114,7 @@ int ata_pci_bmdma_clear_simplex(struct pci_dev *pdev)
- return 0;
- }
- EXPORT_SYMBOL_GPL(ata_pci_bmdma_clear_simplex);
- +#endif
- static void ata_bmdma_nodma(struct ata_host *host, const char *reason)
- {
- diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig
- index e7f7eee6ee9a..c7e859b5f35f 100644
- --- a/drivers/bus/Kconfig
- +++ b/drivers/bus/Kconfig
- @@ -81,7 +81,7 @@ config MOXTET
- config HISILICON_LPC
- bool "Support for ISA I/O space on HiSilicon Hip06/7"
- depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC)
- - depends on HAS_IOMEM
- + depends on HAS_IOPORT
- select INDIRECT_PIO if ARM64
- help
- Driver to enable I/O access to devices attached to the Low Pin
- diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
- index b151e0fcdeb5..fa53a0f24c06 100644
- --- a/drivers/char/Kconfig
- +++ b/drivers/char/Kconfig
- @@ -33,6 +33,7 @@ config TTY_PRINTK_LEVEL
- config PRINTER
- tristate "Parallel printer support"
- depends on PARPORT
- + depends on HAS_IOPORT
- help
- If you intend to attach a printer to the parallel port of your Linux
- box (as opposed to using a serial printer; if the connector at the
- @@ -380,7 +381,7 @@ config MAX_RAW_DEVS
- config DEVPORT
- bool "/dev/port character device"
- - depends on ISA || PCI
- + depends on HAS_IOPORT
- default y
- help
- Say Y here if you want to support the /dev/port device. The /dev/port
- diff --git a/drivers/char/ipmi/Makefile b/drivers/char/ipmi/Makefile
- index 0822adc2ec41..757a5a18e82a 100644
- --- a/drivers/char/ipmi/Makefile
- +++ b/drivers/char/ipmi/Makefile
- @@ -5,13 +5,10 @@
- ipmi_si-y := ipmi_si_intf.o ipmi_kcs_sm.o ipmi_smic_sm.o ipmi_bt_sm.o \
- ipmi_si_hotmod.o ipmi_si_hardcode.o ipmi_si_platform.o \
- - ipmi_si_port_io.o ipmi_si_mem_io.o
- -ifdef CONFIG_PCI
- -ipmi_si-y += ipmi_si_pci.o
- -endif
- -ifdef CONFIG_PARISC
- -ipmi_si-y += ipmi_si_parisc.o
- -endif
- + ipmi_si_mem_io.o
- +ipmi_si-$(CONFIG_HAS_IOPORT) += ipmi_si_port_io.o
- +ipmi_si-$(CONFIG_PCI) += ipmi_si_pci.o
- +ipmi_si-$(CONFIG_PARISC) += ipmi_si_parisc.o
- obj-$(CONFIG_IPMI_HANDLER) += ipmi_msghandler.o
- obj-$(CONFIG_IPMI_DEVICE_INTERFACE) += ipmi_devintf.o
- diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
- index 62929a3e397e..57e4fc650722 100644
- --- a/drivers/char/ipmi/ipmi_si_intf.c
- +++ b/drivers/char/ipmi/ipmi_si_intf.c
- @@ -1882,7 +1882,8 @@ int ipmi_si_add_smi(struct si_sm_io *io)
- }
- if (!io->io_setup) {
- - if (io->addr_space == IPMI_IO_ADDR_SPACE) {
- + if (IS_ENABLED(CONFIG_HAS_IOPORT) &&
- + io->addr_space == IPMI_IO_ADDR_SPACE) {
- io->io_setup = ipmi_si_port_setup;
- } else if (io->addr_space == IPMI_MEM_ADDR_SPACE) {
- io->io_setup = ipmi_si_mem_setup;
- diff --git a/drivers/char/ipmi/ipmi_si_pci.c b/drivers/char/ipmi/ipmi_si_pci.c
- index 74fa2055868b..b83d55685b22 100644
- --- a/drivers/char/ipmi/ipmi_si_pci.c
- +++ b/drivers/char/ipmi/ipmi_si_pci.c
- @@ -97,6 +97,9 @@ static int ipmi_pci_probe(struct pci_dev *pdev,
- }
- if (pci_resource_flags(pdev, 0) & IORESOURCE_IO) {
- + if (!IS_ENABLED(CONFIG_HAS_IOPORT))
- + return -ENXIO;
- +
- io.addr_space = IPMI_IO_ADDR_SPACE;
- io.io_setup = ipmi_si_port_setup;
- } else {
- diff --git a/drivers/char/mem.c b/drivers/char/mem.c
- index 15dc54fa1d47..afaa6cfd746b 100644
- --- a/drivers/char/mem.c
- +++ b/drivers/char/mem.c
- @@ -403,6 +403,7 @@ static int mmap_mem(struct file *file, struct vm_area_struct *vma)
- return 0;
- }
- +#ifdef CONFIG_DEVPORT
- static ssize_t read_port(struct file *file, char __user *buf,
- size_t count, loff_t *ppos)
- {
- @@ -444,6 +445,7 @@ static ssize_t write_port(struct file *file, const char __user *buf,
- *ppos = i;
- return tmp-buf;
- }
- +#endif
- static ssize_t read_null(struct file *file, char __user *buf,
- size_t count, loff_t *ppos)
- @@ -662,12 +664,14 @@ static const struct file_operations null_fops = {
- .splice_write = splice_write_null,
- };
- -static const struct file_operations __maybe_unused port_fops = {
- +#ifdef CONFIG_DEVPORT
- +static const struct file_operations port_fops = {
- .llseek = memory_lseek,
- .read = read_port,
- .write = write_port,
- .open = open_port,
- };
- +#endif
- static const struct file_operations zero_fops = {
- .llseek = zero_lseek,
- diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
- index 4308f9ca7a43..d0c36398e499 100644
- --- a/drivers/char/tpm/Kconfig
- +++ b/drivers/char/tpm/Kconfig
- @@ -138,6 +138,7 @@ config TCG_NSC
- config TCG_ATMEL
- tristate "Atmel TPM Interface"
- depends on PPC64 || HAS_IOPORT_MAP
- + depends on HAS_IOPORT
- help
- If you have a TPM security chip from Atmel say Yes and it
- will be accessible from within Linux. To compile this driver
- diff --git a/drivers/char/tpm/tpm_infineon.c b/drivers/char/tpm/tpm_infineon.c
- index 9c924a1440a9..2d2ae37153ba 100644
- --- a/drivers/char/tpm/tpm_infineon.c
- +++ b/drivers/char/tpm/tpm_infineon.c
- @@ -51,34 +51,40 @@ static struct tpm_inf_dev tpm_dev;
- static inline void tpm_data_out(unsigned char data, unsigned char offset)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (tpm_dev.iotype == TPM_INF_IO_PORT)
- outb(data, tpm_dev.data_regs + offset);
- else
- +#endif
- writeb(data, tpm_dev.mem_base + tpm_dev.data_regs + offset);
- }
- static inline unsigned char tpm_data_in(unsigned char offset)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (tpm_dev.iotype == TPM_INF_IO_PORT)
- return inb(tpm_dev.data_regs + offset);
- - else
- - return readb(tpm_dev.mem_base + tpm_dev.data_regs + offset);
- +#endif
- + return readb(tpm_dev.mem_base + tpm_dev.data_regs + offset);
- }
- static inline void tpm_config_out(unsigned char data, unsigned char offset)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (tpm_dev.iotype == TPM_INF_IO_PORT)
- outb(data, tpm_dev.config_port + offset);
- else
- +#endif
- writeb(data, tpm_dev.mem_base + tpm_dev.index_off + offset);
- }
- static inline unsigned char tpm_config_in(unsigned char offset)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (tpm_dev.iotype == TPM_INF_IO_PORT)
- return inb(tpm_dev.config_port + offset);
- - else
- - return readb(tpm_dev.mem_base + tpm_dev.index_off + offset);
- +#endif
- + return readb(tpm_dev.mem_base + tpm_dev.index_off + offset);
- }
- /* TPM header definitions */
- diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
- index 55b9d3965ae1..10fec570e433 100644
- --- a/drivers/char/tpm/tpm_tis_core.c
- +++ b/drivers/char/tpm/tpm_tis_core.c
- @@ -867,11 +867,6 @@ static void tpm_tis_clkrun_enable(struct tpm_chip *chip, bool value)
- clkrun_val &= ~LPC_CLKRUN_EN;
- iowrite32(clkrun_val, data->ilb_base_addr + LPC_CNTRL_OFFSET);
- - /*
- - * Write any random value on port 0x80 which is on LPC, to make
- - * sure LPC clock is running before sending any TPM command.
- - */
- - outb(0xCC, 0x80);
- } else {
- data->clkrun_enabled--;
- if (data->clkrun_enabled)
- @@ -882,13 +877,15 @@ static void tpm_tis_clkrun_enable(struct tpm_chip *chip, bool value)
- /* Enable LPC CLKRUN# */
- clkrun_val |= LPC_CLKRUN_EN;
- iowrite32(clkrun_val, data->ilb_base_addr + LPC_CNTRL_OFFSET);
- -
- - /*
- - * Write any random value on port 0x80 which is on LPC, to make
- - * sure LPC clock is running before sending any TPM command.
- - */
- - outb(0xCC, 0x80);
- }
- +
- +#ifdef CONFIG_HAS_IOPORT
- + /*
- + * Write any random value on port 0x80 which is on LPC, to make
- + * sure LPC clock is running before sending any TPM command.
- + */
- + outb(0xCC, 0x80);
- +#endif
- }
- static const struct tpm_class_ops tpm_tis = {
- diff --git a/drivers/comedi/Kconfig b/drivers/comedi/Kconfig
- index 3cb61fa2c5c3..f5b8869df781 100644
- --- a/drivers/comedi/Kconfig
- +++ b/drivers/comedi/Kconfig
- @@ -67,6 +67,7 @@ config COMEDI_TEST
- config COMEDI_PARPORT
- tristate "Parallel port support"
- + depends on HAS_IOPORT
- help
- Enable support for the standard parallel port.
- A cheap and easy way to get a few more digital I/O lines. Steal
- @@ -79,6 +80,7 @@ config COMEDI_PARPORT
- config COMEDI_SSV_DNP
- tristate "SSV Embedded Systems DIL/Net-PC support"
- depends on X86_32 || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- Enable support for SSV Embedded Systems DIL/Net-PC
- @@ -89,6 +91,7 @@ endif # COMEDI_MISC_DRIVERS
- menuconfig COMEDI_ISA_DRIVERS
- bool "Comedi ISA and PC/104 drivers"
- + depends on ISA
- help
- Enable comedi ISA and PC/104 drivers to be built
- @@ -572,6 +575,7 @@ if COMEDI_PCI_DRIVERS
- config COMEDI_8255_PCI
- tristate "Generic PCI based 8255 digital i/o board support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for PCI based 8255 digital i/o boards. This driver
- @@ -589,6 +593,7 @@ config COMEDI_8255_PCI
- config COMEDI_ADDI_WATCHDOG
- tristate
- + depends on LEGACY_PCI
- help
- Provides support for the watchdog subdevice found on many ADDI-DATA
- boards. This module will be automatically selected when needed. The
- @@ -596,6 +601,7 @@ config COMEDI_ADDI_WATCHDOG
- config COMEDI_ADDI_APCI_1032
- tristate "ADDI-DATA APCI_1032 support"
- + depends on LEGACY_PCI
- help
- Enable support for ADDI-DATA APCI_1032 cards
- @@ -604,6 +610,7 @@ config COMEDI_ADDI_APCI_1032
- config COMEDI_ADDI_APCI_1500
- tristate "ADDI-DATA APCI_1500 support"
- + depends on LEGACY_PCI
- help
- Enable support for ADDI-DATA APCI_1500 cards
- @@ -612,6 +619,7 @@ config COMEDI_ADDI_APCI_1500
- config COMEDI_ADDI_APCI_1516
- tristate "ADDI-DATA APCI-1016/1516/2016 support"
- + depends on LEGACY_PCI
- select COMEDI_ADDI_WATCHDOG
- help
- Enable support for ADDI-DATA APCI-1016, APCI-1516 and APCI-2016 boards.
- @@ -623,6 +631,7 @@ config COMEDI_ADDI_APCI_1516
- config COMEDI_ADDI_APCI_1564
- tristate "ADDI-DATA APCI_1564 support"
- + depends on LEGACY_PCI
- select COMEDI_ADDI_WATCHDOG
- help
- Enable support for ADDI-DATA APCI_1564 cards
- @@ -632,6 +641,7 @@ config COMEDI_ADDI_APCI_1564
- config COMEDI_ADDI_APCI_16XX
- tristate "ADDI-DATA APCI_16xx support"
- + depends on LEGACY_PCI
- help
- Enable support for ADDI-DATA APCI_16xx cards
- @@ -640,6 +650,7 @@ config COMEDI_ADDI_APCI_16XX
- config COMEDI_ADDI_APCI_2032
- tristate "ADDI-DATA APCI_2032 support"
- + depends on LEGACY_PCI
- select COMEDI_ADDI_WATCHDOG
- help
- Enable support for ADDI-DATA APCI_2032 cards
- @@ -649,6 +660,7 @@ config COMEDI_ADDI_APCI_2032
- config COMEDI_ADDI_APCI_2200
- tristate "ADDI-DATA APCI_2200 support"
- + depends on LEGACY_PCI
- select COMEDI_ADDI_WATCHDOG
- help
- Enable support for ADDI-DATA APCI_2200 cards
- @@ -658,6 +670,7 @@ config COMEDI_ADDI_APCI_2200
- config COMEDI_ADDI_APCI_3120
- tristate "ADDI-DATA APCI_3120/3001 support"
- + depends on LEGACY_PCI
- depends on HAS_DMA
- help
- Enable support for ADDI-DATA APCI_3120/3001 cards
- @@ -667,6 +680,7 @@ config COMEDI_ADDI_APCI_3120
- config COMEDI_ADDI_APCI_3501
- tristate "ADDI-DATA APCI_3501 support"
- + depends on LEGACY_PCI
- help
- Enable support for ADDI-DATA APCI_3501 cards
- @@ -675,6 +689,7 @@ config COMEDI_ADDI_APCI_3501
- config COMEDI_ADDI_APCI_3XXX
- tristate "ADDI-DATA APCI_3xxx support"
- + depends on LEGACY_PCI
- help
- Enable support for ADDI-DATA APCI_3xxx cards
- @@ -683,6 +698,7 @@ config COMEDI_ADDI_APCI_3XXX
- config COMEDI_ADL_PCI6208
- tristate "ADLink PCI-6208A support"
- + depends on LEGACY_PCI
- help
- Enable support for ADLink PCI-6208A cards
- @@ -691,6 +707,7 @@ config COMEDI_ADL_PCI6208
- config COMEDI_ADL_PCI7X3X
- tristate "ADLink PCI-723X/743X isolated digital i/o board support"
- + depends on LEGACY_PCI
- help
- Enable support for ADlink PCI-723X/743X isolated digital i/o boards.
- Supported boards include the 32-channel PCI-7230 (16 in/16 out),
- @@ -702,6 +719,7 @@ config COMEDI_ADL_PCI7X3X
- config COMEDI_ADL_PCI8164
- tristate "ADLink PCI-8164 4 Axes Motion Control board support"
- + depends on LEGACY_PCI
- help
- Enable support for ADlink PCI-8164 4 Axes Motion Control board
- @@ -710,6 +728,7 @@ config COMEDI_ADL_PCI8164
- config COMEDI_ADL_PCI9111
- tristate "ADLink PCI-9111HR support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- help
- Enable support for ADlink PCI9111 cards
- @@ -719,6 +738,7 @@ config COMEDI_ADL_PCI9111
- config COMEDI_ADL_PCI9118
- tristate "ADLink PCI-9118DG, PCI-9118HG, PCI-9118HR support"
- + depends on LEGACY_PCI
- depends on HAS_DMA
- select COMEDI_8254
- help
- @@ -729,6 +749,7 @@ config COMEDI_ADL_PCI9118
- config COMEDI_ADV_PCI1710
- tristate "Advantech PCI-171x and PCI-1731 support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- help
- Enable support for Advantech PCI-1710, PCI-1710HG, PCI-1711,
- @@ -739,6 +760,7 @@ config COMEDI_ADV_PCI1710
- config COMEDI_ADV_PCI1720
- tristate "Advantech PCI-1720 support"
- + depends on LEGACY_PCI
- help
- Enable support for Advantech PCI-1720 Analog Output board.
- @@ -747,6 +769,7 @@ config COMEDI_ADV_PCI1720
- config COMEDI_ADV_PCI1723
- tristate "Advantech PCI-1723 support"
- + depends on LEGACY_PCI
- help
- Enable support for Advantech PCI-1723 cards
- @@ -755,6 +778,7 @@ config COMEDI_ADV_PCI1723
- config COMEDI_ADV_PCI1724
- tristate "Advantech PCI-1724U support"
- + depends on LEGACY_PCI
- help
- Enable support for Advantech PCI-1724U cards. These are 32-channel
- analog output cards with voltage and current loop output ranges and
- @@ -765,6 +789,7 @@ config COMEDI_ADV_PCI1724
- config COMEDI_ADV_PCI1760
- tristate "Advantech PCI-1760 support"
- + depends on LEGACY_PCI
- help
- Enable support for Advantech PCI-1760 board.
- @@ -773,6 +798,7 @@ config COMEDI_ADV_PCI1760
- config COMEDI_ADV_PCI_DIO
- tristate "Advantech PCI DIO card support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- select COMEDI_8255
- help
- @@ -786,6 +812,7 @@ config COMEDI_ADV_PCI_DIO
- config COMEDI_AMPLC_DIO200_PCI
- tristate "Amplicon PCI215/PCI272/PCIe215/PCIe236/PCIe296 DIO support"
- + depends on LEGACY_PCI
- select COMEDI_AMPLC_DIO200
- help
- Enable support for Amplicon PCI215, PCI272, PCIe215, PCIe236
- @@ -796,6 +823,7 @@ config COMEDI_AMPLC_DIO200_PCI
- config COMEDI_AMPLC_PC236_PCI
- tristate "Amplicon PCI236 DIO board support"
- + depends on LEGACY_PCI
- select COMEDI_AMPLC_PC236
- help
- Enable support for Amplicon PCI236 DIO board.
- @@ -805,6 +833,7 @@ config COMEDI_AMPLC_PC236_PCI
- config COMEDI_AMPLC_PC263_PCI
- tristate "Amplicon PCI263 relay board support"
- + depends on LEGACY_PCI
- help
- Enable support for Amplicon PCI263 relay board. This is a PCI board
- with 16 reed relay output channels.
- @@ -814,6 +843,7 @@ config COMEDI_AMPLC_PC263_PCI
- config COMEDI_AMPLC_PCI224
- tristate "Amplicon PCI224 and PCI234 support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- help
- Enable support for Amplicon PCI224 and PCI234 AO boards
- @@ -823,6 +853,7 @@ config COMEDI_AMPLC_PCI224
- config COMEDI_AMPLC_PCI230
- tristate "Amplicon PCI230 and PCI260 support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- select COMEDI_8255
- help
- @@ -834,6 +865,7 @@ config COMEDI_AMPLC_PCI230
- config COMEDI_CONTEC_PCI_DIO
- tristate "Contec PIO1616L digital I/O board support"
- + depends on LEGACY_PCI
- help
- Enable support for the Contec PIO1616L digital I/O board
- @@ -842,6 +874,7 @@ config COMEDI_CONTEC_PCI_DIO
- config COMEDI_DAS08_PCI
- tristate "DAS-08 PCI support"
- + depends on LEGACY_PCI
- select COMEDI_DAS08
- help
- Enable support for PCI DAS-08 cards.
- @@ -861,6 +894,7 @@ config COMEDI_DT3000
- config COMEDI_DYNA_PCI10XX
- tristate "Dynalog PCI DAQ series support"
- + depends on LEGACY_PCI
- help
- Enable support for Dynalog PCI DAQ series
- PCI-1050
- @@ -894,6 +928,7 @@ config COMEDI_ICP_MULTI
- config COMEDI_DAQBOARD2000
- tristate "IOtech DAQboard/2000 support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for the IOtech DAQboard/2000
- @@ -911,6 +946,7 @@ config COMEDI_JR3_PCI
- config COMEDI_KE_COUNTER
- tristate "Kolter-Electronic PCI Counter 1 card support"
- + depends on LEGACY_PCI
- help
- Enable support for Kolter-Electronic PCI Counter 1 cards
- @@ -919,6 +955,7 @@ config COMEDI_KE_COUNTER
- config COMEDI_CB_PCIDAS64
- tristate "MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for ComputerBoards/MeasurementComputing PCI-DAS 64xx,
- @@ -929,6 +966,7 @@ config COMEDI_CB_PCIDAS64
- config COMEDI_CB_PCIDAS
- tristate "MeasurementComputing PCI-DAS support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- select COMEDI_8255
- help
- @@ -942,6 +980,7 @@ config COMEDI_CB_PCIDAS
- config COMEDI_CB_PCIDDA
- tristate "MeasurementComputing PCI-DDA series support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for ComputerBoards/MeasurementComputing PCI-DDA
- @@ -953,6 +992,7 @@ config COMEDI_CB_PCIDDA
- config COMEDI_CB_PCIMDAS
- tristate "MeasurementComputing PCIM-DAS1602/16, PCIe-DAS1602/16 support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- select COMEDI_8255
- help
- @@ -964,6 +1004,7 @@ config COMEDI_CB_PCIMDAS
- config COMEDI_CB_PCIMDDA
- tristate "MeasurementComputing PCIM-DDA06-16 support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for ComputerBoards/MeasurementComputing PCIM-DDA06-16
- @@ -973,6 +1014,7 @@ config COMEDI_CB_PCIMDDA
- config COMEDI_ME4000
- tristate "Meilhaus ME-4000 support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- help
- Enable support for Meilhaus PCI data acquisition cards
- @@ -1031,6 +1073,7 @@ config COMEDI_NI_670X
- config COMEDI_NI_LABPC_PCI
- tristate "NI Lab-PC PCI-1200 support"
- + depends on LEGACY_PCI
- select COMEDI_NI_LABPC
- help
- Enable support for National Instruments Lab-PC PCI-1200.
- @@ -1040,6 +1083,7 @@ config COMEDI_NI_LABPC_PCI
- config COMEDI_NI_PCIDIO
- tristate "NI PCI-DIO32HS, PCI-6533, PCI-6534 support"
- + depends on LEGACY_PCI
- depends on HAS_DMA
- select COMEDI_MITE
- select COMEDI_8255
- @@ -1052,7 +1096,9 @@ config COMEDI_NI_PCIDIO
- config COMEDI_NI_PCIMIO
- tristate "NI PCI-MIO-E series and M series support"
- + depends on LEGACY_PCI
- depends on HAS_DMA
- + depends on LEGACY_PCI
- select COMEDI_NI_TIOCMD
- select COMEDI_8255
- help
- @@ -1074,6 +1120,7 @@ config COMEDI_NI_PCIMIO
- config COMEDI_RTD520
- tristate "Real Time Devices PCI4520/DM7520 support"
- + depends on LEGACY_PCI
- select COMEDI_8254
- help
- Enable support for Real Time Devices PCI4520/DM7520
- @@ -1142,6 +1189,7 @@ config COMEDI_NI_DAQ_700_CS
- config COMEDI_NI_DAQ_DIO24_CS
- tristate "NI DAQ-Card DIO-24 PCMCIA support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for the National Instruments PCMCIA DAQ-Card DIO-24
- @@ -1160,6 +1208,7 @@ config COMEDI_NI_LABPC_CS
- config COMEDI_NI_MIO_CS
- tristate "NI DAQCard E series PCMCIA support"
- + depends on LEGACY_PCI
- select COMEDI_NI_TIO
- select COMEDI_8255
- help
- @@ -1254,6 +1303,7 @@ config COMEDI_8255
- config COMEDI_8255_SA
- tristate "Standalone 8255 support"
- + depends on LEGACY_PCI
- select COMEDI_8255
- help
- Enable support for 8255 digital I/O as a standalone driver.
- @@ -1290,10 +1340,12 @@ config COMEDI_AMPLC_DIO200
- config COMEDI_AMPLC_PC236
- tristate
- + depends on HAS_IOPORT
- select COMEDI_8255
- config COMEDI_DAS08
- tristate
- + depends on HAS_IOPORT
- select COMEDI_8254
- select COMEDI_8255
- @@ -1302,6 +1354,7 @@ config COMEDI_ISADMA
- config COMEDI_NI_LABPC
- tristate
- + depends on HAS_IOPORT
- select COMEDI_8254
- select COMEDI_8255
- diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c
- index 8b8127fa8955..cc7380b3c670 100644
- --- a/drivers/firmware/dmi-sysfs.c
- +++ b/drivers/firmware/dmi-sysfs.c
- @@ -310,6 +310,7 @@ static struct kobj_type dmi_system_event_log_ktype = {
- .default_attrs = dmi_sysfs_sel_attrs,
- };
- +#ifdef CONFIG_HAS_IOPORT
- typedef u8 (*sel_io_reader)(const struct dmi_system_event_log *sel,
- loff_t offset);
- @@ -374,6 +375,7 @@ static ssize_t dmi_sel_raw_read_io(struct dmi_sysfs_entry *entry,
- return wrote;
- }
- +#endif
- static ssize_t dmi_sel_raw_read_phys32(struct dmi_sysfs_entry *entry,
- const struct dmi_system_event_log *sel,
- @@ -409,11 +411,13 @@ static ssize_t dmi_sel_raw_read_helper(struct dmi_sysfs_entry *entry,
- memcpy(&sel, dh, sizeof(sel));
- switch (sel.access_method) {
- +#ifdef CONFIG_HAS_IOPORT
- case DMI_SEL_ACCESS_METHOD_IO8:
- case DMI_SEL_ACCESS_METHOD_IO2x8:
- case DMI_SEL_ACCESS_METHOD_IO16:
- return dmi_sel_raw_read_io(entry, &sel, state->buf,
- state->pos, state->count);
- +#endif
- case DMI_SEL_ACCESS_METHOD_PHYS32:
- return dmi_sel_raw_read_phys32(entry, &sel, state->buf,
- state->pos, state->count);
- diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
- index 1dd0ec6727fd..2513864687d8 100644
- --- a/drivers/gpio/Kconfig
- +++ b/drivers/gpio/Kconfig
- @@ -678,7 +678,7 @@ config GPIO_VR41XX
- config GPIO_VX855
- tristate "VIA VX855/VX875 GPIO"
- - depends on (X86 || COMPILE_TEST) && PCI
- + depends on (X86 || COMPILE_TEST) && LEGACY_PCI
- select MFD_CORE
- select MFD_VX855
- help
- diff --git a/drivers/gpu/drm/bochs/Kconfig b/drivers/gpu/drm/bochs/Kconfig
- index 7bcdf294fed8..8db9b2180d23 100644
- --- a/drivers/gpu/drm/bochs/Kconfig
- +++ b/drivers/gpu/drm/bochs/Kconfig
- @@ -2,6 +2,7 @@
- config DRM_BOCHS
- tristate "DRM Support for bochs dispi vga interface (qemu stdvga)"
- depends on DRM && PCI && MMU
- + depends on HAS_IOPORT
- select DRM_KMS_HELPER
- select DRM_VRAM_HELPER
- select DRM_TTM
- diff --git a/drivers/gpu/drm/bochs/bochs_hw.c b/drivers/gpu/drm/bochs/bochs_hw.c
- index 2d7380a9890e..463926d0e2b0 100644
- --- a/drivers/gpu/drm/bochs/bochs_hw.c
- +++ b/drivers/gpu/drm/bochs/bochs_hw.c
- @@ -13,29 +13,31 @@
- static void bochs_vga_writeb(struct bochs_device *bochs, u16 ioport, u8 val)
- {
- + int offset = ioport - 0x3c0 + 0x400;
- +
- if (WARN_ON(ioport < 0x3c0 || ioport > 0x3df))
- return;
- - if (bochs->mmio) {
- - int offset = ioport - 0x3c0 + 0x400;
- - writeb(val, bochs->mmio + offset);
- - } else {
- +#ifdef CONFIG_HAS_IOPORT
- + if (!bochs->mmio) {
- outb(val, ioport);
- + return;
- }
- +#endif
- + writeb(val, bochs->mmio + offset);
- }
- static u16 bochs_dispi_read(struct bochs_device *bochs, u16 reg)
- {
- - u16 ret = 0;
- + int offset = 0x500 + (reg << 1);
- - if (bochs->mmio) {
- - int offset = 0x500 + (reg << 1);
- - ret = readw(bochs->mmio + offset);
- - } else {
- +#ifdef CONFIG_HAS_IOPORT
- + if (!bochs->mmio) {
- outw(reg, VBE_DISPI_IOPORT_INDEX);
- - ret = inw(VBE_DISPI_IOPORT_DATA);
- + return inw(VBE_DISPI_IOPORT_DATA);
- }
- - return ret;
- +#endif
- + return readw(bochs->mmio + offset);
- }
- static void bochs_dispi_write(struct bochs_device *bochs, u16 reg, u16 val)
- diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig
- index ca3f51c2a8fe..d0e0d440c8d9 100644
- --- a/drivers/gpu/drm/qxl/Kconfig
- +++ b/drivers/gpu/drm/qxl/Kconfig
- @@ -2,6 +2,7 @@
- config DRM_QXL
- tristate "QXL virtual GPU"
- depends on DRM && PCI && MMU
- + depends on HAS_IOPORT
- select DRM_KMS_HELPER
- select DRM_TTM
- select DRM_TTM_HELPER
- diff --git a/drivers/gpu/drm/tiny/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c
- index ad922c3ec681..e1fa17329fca 100644
- --- a/drivers/gpu/drm/tiny/cirrus.c
- +++ b/drivers/gpu/drm/tiny/cirrus.c
- @@ -305,8 +305,10 @@ static int cirrus_mode_set(struct cirrus_device *cirrus,
- cirrus_set_start_address(cirrus, 0);
- +#ifdef CONFIG_HAS_IOPORT
- /* Unblank (needed on S3 resume, vgabios doesn't do it then) */
- outb(0x20, 0x3c0);
- +#endif
- drm_dev_exit(idx);
- return 0;
- diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
- index 87624902ea80..94a92e1cd076 100644
- --- a/drivers/hwmon/Kconfig
- +++ b/drivers/hwmon/Kconfig
- @@ -537,6 +537,7 @@ config SENSORS_SPARX5
- config SENSORS_F71805F
- tristate "Fintek F71805F/FG, F71806F/FG and F71872F/FG"
- + depends on HAS_IOPORT
- depends on !PPC
- help
- If you say yes here you get support for hardware monitoring
- @@ -548,6 +549,7 @@ config SENSORS_F71805F
- config SENSORS_F71882FG
- tristate "Fintek F71882FG and compatibles"
- + depends on HAS_IOPORT
- depends on !PPC
- help
- If you say yes here you get support for hardware monitoring
- @@ -751,6 +753,7 @@ config SENSORS_CORETEMP
- config SENSORS_IT87
- tristate "ITE IT87xx and compatibles"
- + depends on HAS_IOPORT
- depends on !PPC
- select HWMON_VID
- help
- @@ -1246,6 +1249,7 @@ config SENSORS_LM77
- config SENSORS_LM78
- tristate "National Semiconductor LM78 and compatibles"
- + depends on HAS_IOPORT
- depends on I2C
- select HWMON_VID
- help
- @@ -1367,6 +1371,7 @@ config SENSORS_LM95245
- config SENSORS_PC87360
- tristate "National Semiconductor PC87360 family"
- + depends on HAS_IOPORT
- depends on !PPC
- select HWMON_VID
- help
- @@ -1381,6 +1386,7 @@ config SENSORS_PC87360
- config SENSORS_PC87427
- tristate "National Semiconductor PC87427"
- + depends on HAS_IOPORT
- depends on !PPC
- help
- If you say yes here you get access to the hardware monitoring
- @@ -1412,6 +1418,7 @@ config SENSORS_NTC_THERMISTOR
- config SENSORS_NCT6683
- tristate "Nuvoton NCT6683D"
- + depends on HAS_IOPORT
- depends on !PPC
- help
- If you say yes here you get support for the hardware monitoring
- @@ -1422,6 +1429,7 @@ config SENSORS_NCT6683
- config SENSORS_NCT6775
- tristate "Nuvoton NCT6775F and compatibles"
- + depends on HAS_IOPORT
- depends on !PPC
- select HWMON_VID
- help
- @@ -1612,7 +1620,7 @@ config SENSORS_S3C_RAW
- config SENSORS_SIS5595
- tristate "Silicon Integrated Systems Corp. SiS5595"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes here you get support for the integrated sensors in
- SiS5595 South Bridges.
- @@ -1622,6 +1630,7 @@ config SENSORS_SIS5595
- config SENSORS_DME1737
- tristate "SMSC DME1737, SCH311x and compatibles"
- + depends on HAS_IOPORT
- depends on I2C && !PPC
- select HWMON_VID
- help
- @@ -1665,6 +1674,7 @@ config SENSORS_EMC6W201
- config SENSORS_SMSC47M1
- tristate "SMSC LPC47M10x and compatibles"
- + depends on HAS_IOPORT
- depends on !PPC
- help
- If you say yes here you get support for the integrated fan
- @@ -1699,6 +1709,7 @@ config SENSORS_SMSC47M192
- config SENSORS_SMSC47B397
- tristate "SMSC LPC47B397-NC"
- + depends on HAS_IOPORT
- depends on !PPC
- help
- If you say yes here you get support for the SMSC LPC47B397-NC
- @@ -1712,6 +1723,7 @@ config SENSORS_SCH56XX_COMMON
- config SENSORS_SCH5627
- tristate "SMSC SCH5627"
- + depends on HAS_IOPORT
- depends on !PPC && WATCHDOG
- select SENSORS_SCH56XX_COMMON
- select WATCHDOG_CORE
- @@ -1725,6 +1737,7 @@ config SENSORS_SCH5627
- config SENSORS_SCH5636
- tristate "SMSC SCH5636"
- + depends on HAS_IOPORT
- depends on !PPC && WATCHDOG
- select SENSORS_SCH56XX_COMMON
- select WATCHDOG_CORE
- @@ -1943,7 +1956,7 @@ config SENSORS_VIA_CPUTEMP
- config SENSORS_VIA686A
- tristate "VIA686A"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes here you get support for the integrated sensors in
- Via 686A/B South Bridges.
- @@ -1953,6 +1966,7 @@ config SENSORS_VIA686A
- config SENSORS_VT1211
- tristate "VIA VT1211"
- + depends on HAS_IOPORT
- depends on !PPC
- select HWMON_VID
- help
- @@ -1964,7 +1978,7 @@ config SENSORS_VT1211
- config SENSORS_VT8231
- tristate "VIA VT8231"
- - depends on PCI
- + depends on LEGACY_PCI
- select HWMON_VID
- help
- If you say yes here then you get support for the integrated sensors
- @@ -1987,6 +2001,7 @@ config SENSORS_W83773G
- config SENSORS_W83781D
- tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F"
- depends on I2C
- + depends on HAS_IOPORT
- select HWMON_VID
- help
- If you say yes here you get support for the Winbond W8378x series
- @@ -2072,6 +2087,7 @@ config SENSORS_W83L786NG
- config SENSORS_W83627HF
- tristate "Winbond W83627HF, W83627THF, W83637HF, W83687THF, W83697HF"
- + depends on HAS_IOPORT
- depends on !PPC
- select HWMON_VID
- help
- @@ -2084,6 +2100,7 @@ config SENSORS_W83627HF
- config SENSORS_W83627EHF
- tristate "Winbond W83627EHF/EHG/DHG/UHG, W83667HG"
- + depends on HAS_IOPORT
- depends on !PPC
- select HWMON_VID
- help
- diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
- index 10acece9d7b9..2d20d004dbc4 100644
- --- a/drivers/i2c/busses/Kconfig
- +++ b/drivers/i2c/busses/Kconfig
- @@ -11,7 +11,7 @@ comment "PC SMBus host controller drivers"
- config I2C_ALI1535
- tristate "ALI 1535"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the SMB
- Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB
- @@ -23,7 +23,7 @@ config I2C_ALI1535
- config I2C_ALI1563
- tristate "ALI 1563"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the SMB
- Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB
- @@ -35,7 +35,7 @@ config I2C_ALI1563
- config I2C_ALI15X3
- tristate "ALI 15x3"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the
- Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
- @@ -45,7 +45,7 @@ config I2C_ALI15X3
- config I2C_AMD756
- tristate "AMD 756/766/768/8111 and nVidia nForce"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the AMD
- 756/766/768 mainboard I2C interfaces. The driver also includes
- @@ -70,7 +70,7 @@ config I2C_AMD756_S4882
- config I2C_AMD8111
- tristate "AMD 8111"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the
- second (SMBus 2.0) AMD 8111 mainboard I2C interface.
- @@ -100,7 +100,7 @@ config I2C_HIX5HD2
- config I2C_I801
- tristate "Intel 82801 (ICH/PCH)"
- - depends on PCI
- + depends on LEGACY_PCI
- select CHECK_SIGNATURE if X86 && DMI
- select I2C_SMBUS
- help
- @@ -154,7 +154,7 @@ config I2C_I801
- config I2C_ISCH
- tristate "Intel SCH SMBus 1.0"
- - depends on PCI
- + depends on LEGACY_PCI
- select LPC_SCH
- help
- Say Y here if you want to use SMBus controller on the Intel SCH
- @@ -175,7 +175,7 @@ config I2C_ISMT
- config I2C_PIIX4
- tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
- - depends on PCI
- + depends on PCI && HAS_IOPORT
- help
- If you say yes to this option, support will be included for the Intel
- PIIX4 family of mainboard I2C interfaces. Specifically, the following
- @@ -221,7 +221,7 @@ config I2C_CHT_WC
- config I2C_NFORCE2
- tristate "Nvidia nForce2, nForce3 and nForce4"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the Nvidia
- nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
- @@ -253,7 +253,7 @@ config I2C_NVIDIA_GPU
- config I2C_SIS5595
- tristate "SiS 5595"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the
- SiS5595 SMBus (a subset of I2C) interface.
- @@ -263,7 +263,7 @@ config I2C_SIS5595
- config I2C_SIS630
- tristate "SiS 630/730/964"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the
- SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
- @@ -273,7 +273,7 @@ config I2C_SIS630
- config I2C_SIS96X
- tristate "SiS 96x"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the SiS
- 96x SMBus (a subset of I2C) interfaces. Specifically, the following
- @@ -291,7 +291,7 @@ config I2C_SIS96X
- config I2C_VIA
- tristate "VIA VT82C586B"
- - depends on PCI
- + depends on LEGACY_PCI
- select I2C_ALGOBIT
- help
- If you say yes to this option, support will be included for the VIA
- @@ -302,7 +302,7 @@ config I2C_VIA
- config I2C_VIAPRO
- tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you say yes to this option, support will be included for the VIA
- VT82C596 and later SMBus interface. Specifically, the following
- @@ -825,6 +825,7 @@ config I2C_NPCM7XX
- config I2C_OCORES
- tristate "OpenCores I2C Controller"
- + depends on HAS_IOPORT
- help
- If you say yes to this option, support will be included for the
- OpenCores I2C controller. For details see
- @@ -1222,6 +1223,7 @@ config I2C_CP2615
- config I2C_PARPORT
- tristate "Parallel port adapter"
- depends on PARPORT
- + depends on HAS_IOPORT
- select I2C_ALGOBIT
- select I2C_SMBUS
- help
- @@ -1320,6 +1322,7 @@ config I2C_ICY
- config I2C_MLXCPLD
- tristate "Mellanox I2C driver"
- depends on X86_64 || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- This exposes the Mellanox platform I2C busses to the linux I2C layer
- for X86 based systems.
- diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
- index 19abf11c84c8..d7280965d723 100644
- --- a/drivers/ide/Kconfig
- +++ b/drivers/ide/Kconfig
- @@ -10,6 +10,7 @@ config HAVE_IDE
- menuconfig IDE
- tristate "ATA/ATAPI/MFM/RLL support (DEPRECATED)"
- depends on HAVE_IDE
- + depends on HAS_IOPORT
- depends on BLOCK
- select BLK_SCSI_REQUEST
- help
- diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
- index c7946c439612..8d07315d0b59 100644
- --- a/drivers/iio/adc/Kconfig
- +++ b/drivers/iio/adc/Kconfig
- @@ -119,7 +119,7 @@ config AD7606
- config AD7606_IFACE_PARALLEL
- tristate "Analog Devices AD7606 ADC driver with parallel interface support"
- - depends on HAS_IOMEM
- + depends on HAS_IOPORT
- select AD7606
- help
- Say yes here to build parallel interface support for Analog Devices:
- diff --git a/drivers/input/gameport/Kconfig b/drivers/input/gameport/Kconfig
- index 4761795cb49f..679a8bc816f1 100644
- --- a/drivers/input/gameport/Kconfig
- +++ b/drivers/input/gameport/Kconfig
- @@ -24,6 +24,7 @@ if GAMEPORT
- config GAMEPORT_NS558
- tristate "Classic ISA and PnP gameport support"
- + depends on ISA
- help
- Say Y here if you have an ISA or PnP gameport.
- @@ -34,6 +35,7 @@ config GAMEPORT_NS558
- config GAMEPORT_L4
- tristate "PDPI Lightning 4 gamecard support"
- + depends on ISA
- help
- Say Y here if you have a PDPI Lightning 4 gamecard.
- @@ -42,7 +44,7 @@ config GAMEPORT_L4
- config GAMEPORT_EMU10K1
- tristate "SB Live and Audigy gameport support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- Say Y here if you have a SoundBlaster Live! or SoundBlaster
- Audigy card and want to use its gameport.
- @@ -52,7 +54,7 @@ config GAMEPORT_EMU10K1
- config GAMEPORT_FM801
- tristate "ForteMedia FM801 gameport support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- Say Y here if you have ForteMedia FM801 PCI audio controller
- (Abit AU10, Genius Sound Maker, HP Workstation zx2000,
- diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig
- index f39b7b3f7942..5d125627c595 100644
- --- a/drivers/input/serio/Kconfig
- +++ b/drivers/input/serio/Kconfig
- @@ -75,6 +75,7 @@ config SERIO_Q40KBD
- config SERIO_PARKBD
- tristate "Parallel port keyboard adapter"
- depends on PARPORT
- + depends on HAS_IOPORT
- help
- Say Y here if you built a simple parallel port adapter to attach
- an additional AT keyboard, XT keyboard or PS/2 mouse.
- @@ -148,6 +149,7 @@ config HIL_MLC
- config SERIO_PCIPS2
- tristate "PCI PS/2 keyboard and PS/2 mouse controller"
- depends on PCI
- + depends on HAS_IOPORT
- help
- Say Y here if you have a Mobility Docking station with PS/2
- keyboard and mice ports.
- diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
- index 69656200a2f0..2caa5652ce00 100644
- --- a/drivers/input/touchscreen/Kconfig
- +++ b/drivers/input/touchscreen/Kconfig
- @@ -663,6 +663,7 @@ config TOUCHSCREEN_INEXIO
- config TOUCHSCREEN_MK712
- tristate "ICS MicroClock MK712 touchscreen"
- + depends on ISA
- help
- Say Y here if you have the ICS MicroClock MK712 touchscreen
- controller chip in your system.
- diff --git a/drivers/isdn/hardware/mISDN/Kconfig b/drivers/isdn/hardware/mISDN/Kconfig
- index 078eeadf707a..2c5e16483179 100644
- --- a/drivers/isdn/hardware/mISDN/Kconfig
- +++ b/drivers/isdn/hardware/mISDN/Kconfig
- @@ -7,14 +7,14 @@ comment "mISDN hardware drivers"
- config MISDN_HFCPCI
- tristate "Support for HFC PCI cards"
- depends on MISDN
- - depends on PCI
- + depends on LEGACY_PCI
- help
- Enable support for cards with Cologne Chip AG's
- HFC PCI chip.
- config MISDN_HFCMULTI
- tristate "Support for HFC multiport cards (HFC-4S/8S/E1)"
- - depends on PCI || CPM1
- + depends on LEGACY_PCI || CPM1
- depends on MISDN
- help
- Enable support for cards with Cologne Chip AG's HFC multiport
- @@ -43,7 +43,7 @@ config MISDN_HFCUSB
- config MISDN_AVMFRITZ
- tristate "Support for AVM FRITZ!CARD PCI"
- depends on MISDN
- - depends on PCI
- + depends on LEGACY_PCI
- select MISDN_IPAC
- help
- Enable support for AVMs FRITZ!CARD PCI cards
- @@ -51,7 +51,7 @@ config MISDN_AVMFRITZ
- config MISDN_SPEEDFAX
- tristate "Support for Sedlbauer Speedfax+"
- depends on MISDN
- - depends on PCI
- + depends on LEGACY_PCI
- select MISDN_IPAC
- select MISDN_ISAR
- help
- @@ -60,7 +60,7 @@ config MISDN_SPEEDFAX
- config MISDN_INFINEON
- tristate "Support for cards with Infineon chipset"
- depends on MISDN
- - depends on PCI
- + depends on LEGACY_PCI
- select MISDN_IPAC
- help
- Enable support for cards with ISAC + HSCX, IPAC or IPAC-SX
- @@ -69,14 +69,14 @@ config MISDN_INFINEON
- config MISDN_W6692
- tristate "Support for cards with Winbond 6692"
- depends on MISDN
- - depends on PCI
- + depends on LEGACY_PCI
- help
- Enable support for Winbond 6692 PCI chip based cards.
- config MISDN_NETJET
- tristate "Support for NETJet cards"
- depends on MISDN
- - depends on PCI
- + depends on LEGACY_PCI
- depends on TTY
- select MISDN_IPAC
- select MISDN_HDLC
- diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
- index 342fc336b8cd..5beef857d58e 100644
- --- a/drivers/leds/Kconfig
- +++ b/drivers/leds/Kconfig
- @@ -727,7 +727,7 @@ config LEDS_LM355x
- config LEDS_OT200
- tristate "LED support for the Bachmann OT200"
- - depends on LEDS_CLASS && HAS_IOMEM && (X86_32 || COMPILE_TEST)
- + depends on LEDS_CLASS && HAS_IOPORT && (X86_32 || COMPILE_TEST)
- help
- This option enables support for the LEDs on the Bachmann OT200.
- Say Y to enable LEDs on the Bachmann OT200.
- diff --git a/drivers/media/cec/platform/Kconfig b/drivers/media/cec/platform/Kconfig
- index b672d3142eb7..5e92ece5b104 100644
- --- a/drivers/media/cec/platform/Kconfig
- +++ b/drivers/media/cec/platform/Kconfig
- @@ -100,7 +100,7 @@ config CEC_TEGRA
- config CEC_SECO
- tristate "SECO Boards HDMI CEC driver"
- depends on (X86 || IA64) || COMPILE_TEST
- - depends on PCI && DMI
- + depends on LEGACY_PCI && DMI
- select CEC_CORE
- select CEC_NOTIFIER
- help
- diff --git a/drivers/media/pci/dm1105/Kconfig b/drivers/media/pci/dm1105/Kconfig
- index e0e3af67c99c..9ecab93685d4 100644
- --- a/drivers/media/pci/dm1105/Kconfig
- +++ b/drivers/media/pci/dm1105/Kconfig
- @@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
- config DVB_DM1105
- tristate "SDMC DM1105 based PCI cards"
- - depends on DVB_CORE && PCI && I2C && I2C_ALGOBIT
- + depends on DVB_CORE && LEGACY_PCI && I2C && I2C_ALGOBIT
- select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
- select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
- select DVB_STV0288 if MEDIA_SUBDRV_AUTOSELECT
- diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
- index d29e29645e04..044590b58212 100644
- --- a/drivers/media/radio/Kconfig
- +++ b/drivers/media/radio/Kconfig
- @@ -67,7 +67,7 @@ config USB_DSBR
- config RADIO_MAXIRADIO
- tristate "Guillemot MAXI Radio FM 2000 radio"
- - depends on VIDEO_V4L2 && PCI
- + depends on VIDEO_V4L2 && LEGACY_PCI
- select RADIO_TEA575X
- help
- Choose Y here if you have this radio card. This card may also be
- @@ -233,6 +233,7 @@ source "drivers/media/radio/wl128x/Kconfig"
- menuconfig V4L_RADIO_ISA_DRIVERS
- bool "ISA radio devices"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- Say Y here to enable support for these ISA drivers.
- @@ -240,11 +241,13 @@ if V4L_RADIO_ISA_DRIVERS
- config RADIO_ISA
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- tristate
- config RADIO_CADET
- tristate "ADS Cadet AM/FM Tuner"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- help
- Choose Y here if you have one of these AM/FM radio cards, and then
- @@ -256,6 +259,7 @@ config RADIO_CADET
- config RADIO_RTRACK
- tristate "AIMSlab RadioTrack (aka RadioReveal) support"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -288,6 +292,7 @@ config RADIO_RTRACK_PORT
- config RADIO_RTRACK2
- tristate "AIMSlab RadioTrack II support"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -312,6 +317,7 @@ config RADIO_RTRACK2_PORT
- config RADIO_AZTECH
- tristate "Aztech/Packard Bell Radio"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -333,6 +339,7 @@ config RADIO_AZTECH_PORT
- config RADIO_GEMTEK
- tristate "GemTek Radio card (or compatible) support"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -389,6 +396,7 @@ config RADIO_MIROPCM20
- config RADIO_SF16FMI
- tristate "SF16-FMI/SF16-FMP/SF16-FMD Radio"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- help
- Choose Y here if you have one of these FM radio cards.
- @@ -399,6 +407,7 @@ config RADIO_SF16FMI
- config RADIO_SF16FMR2
- tristate "SF16-FMR2/SF16-FMD2 Radio"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_TEA575X
- help
- @@ -410,6 +419,7 @@ config RADIO_SF16FMR2
- config RADIO_TERRATEC
- tristate "TerraTec ActiveRadio ISA Standalone"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -425,6 +435,7 @@ config RADIO_TERRATEC
- config RADIO_TRUST
- tristate "Trust FM radio card"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -449,6 +460,7 @@ config RADIO_TRUST_PORT
- config RADIO_TYPHOON
- tristate "Typhoon Radio (a.k.a. EcoRadio)"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- @@ -484,6 +496,7 @@ config RADIO_TYPHOON_MUTEFREQ
- config RADIO_ZOLTRIX
- tristate "Zoltrix Radio"
- depends on ISA || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on VIDEO_V4L2
- select RADIO_ISA
- help
- diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
- index d0a8326b75c2..81a7dc2dd92d 100644
- --- a/drivers/media/rc/Kconfig
- +++ b/drivers/media/rc/Kconfig
- @@ -162,7 +162,8 @@ config RC_ATI_REMOTE
- config IR_ENE
- tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
- - depends on PNP || COMPILE_TEST
- + depends on ISAPNP || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- Say Y here to enable support for integrated infrared receiver
- /transceiver made by ENE.
- @@ -216,6 +217,7 @@ config IR_MCEUSB
- config IR_ITE_CIR
- tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
- depends on PNP || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- Say Y here to enable support for integrated infrared receivers
- /transceivers made by ITE Tech Inc. These are found in
- @@ -228,6 +230,7 @@ config IR_ITE_CIR
- config IR_FINTEK
- tristate "Fintek Consumer Infrared Transceiver"
- depends on PNP || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- Say Y here to enable support for integrated infrared receiver
- /transceiver made by Fintek. This chip is found on assorted
- @@ -259,6 +262,7 @@ config IR_MTK
- config IR_NUVOTON
- tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
- depends on PNP || COMPILE_TEST
- + depends on HAS_IOPORT
- help
- Say Y here to enable support for integrated infrared receiver
- /transceiver made by Nuvoton (formerly Winbond). This chip is
- @@ -302,6 +306,7 @@ config IR_STREAMZAP
- config IR_WINBOND_CIR
- tristate "Winbond IR remote control"
- depends on (X86 && PNP) || COMPILE_TEST
- + depends on HAS_IOPORT
- select NEW_LEDS
- select LEDS_CLASS
- select BITREVERSE
- @@ -430,6 +435,7 @@ config IR_SUNXI
- config IR_SERIAL
- tristate "Homebrew Serial Port Receiver"
- + depends on HAS_IOPORT
- help
- Say Y if you want to use Homebrew Serial Port Receivers and
- Transceivers.
- @@ -445,6 +451,7 @@ config IR_SERIAL_TRANSMITTER
- config IR_SIR
- tristate "Built-in SIR IrDA port"
- + depends on HAS_IOPORT
- help
- Say Y if you want to use a IrDA SIR port Transceivers.
- diff --git a/drivers/message/fusion/Kconfig b/drivers/message/fusion/Kconfig
- index a3d0288fd0e2..cec5995e1911 100644
- --- a/drivers/message/fusion/Kconfig
- +++ b/drivers/message/fusion/Kconfig
- @@ -2,7 +2,7 @@
- menuconfig FUSION
- bool "Fusion MPT device support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- Say Y here to get to see options for Fusion Message
- Passing Technology (MPT) drivers.
- @@ -14,7 +14,7 @@ if FUSION
- config FUSION_SPI
- tristate "Fusion MPT ScsiHost drivers for SPI"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- select SCSI_SPI_ATTRS
- help
- SCSI HOST support for a parallel SCSI host adapters.
- @@ -29,7 +29,7 @@ config FUSION_SPI
- config FUSION_FC
- tristate "Fusion MPT ScsiHost drivers for FC"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- depends on SCSI_FC_ATTRS
- help
- SCSI HOST support for a Fiber Channel host adapters.
- @@ -48,7 +48,7 @@ config FUSION_FC
- config FUSION_SAS
- tristate "Fusion MPT ScsiHost drivers for SAS"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- select SCSI_SAS_ATTRS
- help
- SCSI HOST support for a SAS host adapters.
- diff --git a/drivers/misc/altera-stapl/Makefile b/drivers/misc/altera-stapl/Makefile
- index dd0f8189666b..90f18e7bf9b0 100644
- --- a/drivers/misc/altera-stapl/Makefile
- +++ b/drivers/misc/altera-stapl/Makefile
- @@ -1,4 +1,5 @@
- # SPDX-License-Identifier: GPL-2.0-only
- -altera-stapl-objs = altera-lpt.o altera-jtag.o altera-comp.o altera.o
- +altera-stapl-y = altera-jtag.o altera-comp.o altera.o
- +altera-stapl-$(CONFIG_HAS_IOPORT) += altera-lpt.o
- obj-$(CONFIG_ALTERA_STAPL) += altera-stapl.o
- diff --git a/drivers/misc/altera-stapl/altera.c b/drivers/misc/altera-stapl/altera.c
- index 92c0611034b0..c7ae64de8bb4 100644
- --- a/drivers/misc/altera-stapl/altera.c
- +++ b/drivers/misc/altera-stapl/altera.c
- @@ -2431,6 +2431,10 @@ int altera_init(struct altera_config *config, const struct firmware *fw)
- astate->config = config;
- if (!astate->config->jtag_io) {
- + if (!IS_ENABLED(CONFIG_HAS_IOPORT)) {
- + retval = -ENODEV;
- + goto free_state;
- + }
- dprintk("%s: using byteblaster!\n", __func__);
- astate->config->jtag_io = netup_jtag_io_lpt;
- }
- @@ -2505,7 +2509,7 @@ int altera_init(struct altera_config *config, const struct firmware *fw)
- } else if (exec_result)
- printk(KERN_ERR "%s: error %d\n", __func__, exec_result);
- -
- +free_state:
- kfree(astate);
- free_value:
- kfree(value);
- diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
- index 6dccd68a99d3..7a84b0765289 100644
- --- a/drivers/net/Kconfig
- +++ b/drivers/net/Kconfig
- @@ -458,7 +458,7 @@ source "drivers/net/ipa/Kconfig"
- config NET_SB1000
- tristate "General Instruments Surfboard 1000"
- - depends on PNP
- + depends on ISAPNP
- help
- This is a driver for the General Instrument (also known as
- NextLevel) SURFboard 1000 internal
- diff --git a/drivers/net/arcnet/Kconfig b/drivers/net/arcnet/Kconfig
- index a51b9dab6d3a..b8038287c4f2 100644
- --- a/drivers/net/arcnet/Kconfig
- +++ b/drivers/net/arcnet/Kconfig
- @@ -4,7 +4,7 @@
- #
- menuconfig ARCNET
- - depends on NETDEVICES && (ISA || PCI || PCMCIA)
- + depends on NETDEVICES && (ISA || LEGACY_PCI || PCMCIA)
- tristate "ARCnet support"
- help
- If you have a network card of this type, say Y and check out the
- diff --git a/drivers/net/can/cc770/Kconfig b/drivers/net/can/cc770/Kconfig
- index 9ef1359319f0..467ef19de1c1 100644
- --- a/drivers/net/can/cc770/Kconfig
- +++ b/drivers/net/can/cc770/Kconfig
- @@ -7,6 +7,7 @@ if CAN_CC770
- config CAN_CC770_ISA
- tristate "ISA Bus based legacy CC770 driver"
- + depends on ISA
- help
- This driver adds legacy support for CC770 and AN82527 chips
- connected to the ISA bus using I/O port, memory mapped or
- diff --git a/drivers/net/can/sja1000/Kconfig b/drivers/net/can/sja1000/Kconfig
- index 110071b26921..be1943a27ed0 100644
- --- a/drivers/net/can/sja1000/Kconfig
- +++ b/drivers/net/can/sja1000/Kconfig
- @@ -87,6 +87,7 @@ config CAN_PLX_PCI
- config CAN_SJA1000_ISA
- tristate "ISA Bus based legacy SJA1000 driver"
- + depends on ISA
- help
- This driver adds legacy support for SJA1000 chips connected to
- the ISA bus using I/O port, memory mapped or indirect access.
- diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig
- index a4130e643342..0fa43943ea74 100644
- --- a/drivers/net/ethernet/8390/Kconfig
- +++ b/drivers/net/ethernet/8390/Kconfig
- @@ -117,7 +117,7 @@ config NE2000
- config NE2K_PCI
- tristate "PCI NE2000 and clones support (see help)"
- - depends on PCI
- + depends on LEGACY_PCI
- select CRC32
- help
- This driver is for NE2000 compatible PCI cards. It will not work
- diff --git a/drivers/net/ethernet/amd/Kconfig b/drivers/net/ethernet/amd/Kconfig
- index c6a3abec86f5..dc7841f9a399 100644
- --- a/drivers/net/ethernet/amd/Kconfig
- +++ b/drivers/net/ethernet/amd/Kconfig
- @@ -56,7 +56,7 @@ config LANCE
- config PCNET32
- tristate "AMD PCnet32 PCI support"
- - depends on PCI
- + depends on LEGACY_PCI
- select CRC32
- select MII
- help
- diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig
- index c1d155690341..8ddf336224d4 100644
- --- a/drivers/net/ethernet/intel/Kconfig
- +++ b/drivers/net/ethernet/intel/Kconfig
- @@ -18,7 +18,7 @@ if NET_VENDOR_INTEL
- config E100
- tristate "Intel(R) PRO/100+ support"
- - depends on PCI
- + depends on LEGACY_PCI
- select MII
- help
- This driver supports Intel(R) PRO/100 family of adapters.
- @@ -41,7 +41,7 @@ config E100
- config E1000
- tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This driver supports Intel(R) PRO/1000 gigabit ethernet family of
- adapters. For more information on how to identify your adapter, go
- diff --git a/drivers/net/ethernet/sis/Kconfig b/drivers/net/ethernet/sis/Kconfig
- index 775d76d9890e..bd1b1b81b0e8 100644
- --- a/drivers/net/ethernet/sis/Kconfig
- +++ b/drivers/net/ethernet/sis/Kconfig
- @@ -6,7 +6,7 @@
- config NET_VENDOR_SIS
- bool "Silicon Integrated Systems (SiS) devices"
- default y
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you have a network (Ethernet) card belonging to this class, say Y.
- @@ -19,7 +19,7 @@ if NET_VENDOR_SIS
- config SIS900
- tristate "SiS 900/7016 PCI Fast Ethernet Adapter support"
- - depends on PCI
- + depends on LEGACY_PCI
- select CRC32
- select MII
- help
- @@ -35,7 +35,7 @@ config SIS900
- config SIS190
- tristate "SiS190/SiS191 gigabit ethernet support"
- - depends on PCI
- + depends on LEGACY_PCI
- select CRC32
- select MII
- help
- diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
- index affcf92cd3aa..8b1d67b00e68 100644
- --- a/drivers/net/ethernet/ti/Kconfig
- +++ b/drivers/net/ethernet/ti/Kconfig
- @@ -6,7 +6,7 @@
- config NET_VENDOR_TI
- bool "Texas Instruments (TI) devices"
- default y
- - depends on PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
- + depends on LEGACY_PCI || EISA || AR7 || ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3
- help
- If you have a network (Ethernet) card belonging to this class, say Y.
- @@ -159,7 +159,7 @@ config TI_KEYSTONE_NETCP_ETHSS
- config TLAN
- tristate "TI ThunderLAN support"
- - depends on (PCI || EISA)
- + depends on (LEGACY_PCI || EISA)
- help
- If you have a PCI Ethernet network card based on the ThunderLAN chip
- which is supported by this driver, say Y here.
- diff --git a/drivers/net/ethernet/via/Kconfig b/drivers/net/ethernet/via/Kconfig
- index da287ef65be7..25add3d64859 100644
- --- a/drivers/net/ethernet/via/Kconfig
- +++ b/drivers/net/ethernet/via/Kconfig
- @@ -18,8 +18,9 @@ if NET_VENDOR_VIA
- config VIA_RHINE
- tristate "VIA Rhine support"
- - depends on PCI || (OF_IRQ && GENERIC_PCI_IOMAP)
- - depends on PCI || ARCH_VT8500 || COMPILE_TEST
- + depends on LEGACY_PCI || (OF_IRQ && GENERIC_PCI_IOMAP)
- + depends on LEGACY_PCI || ARCH_VT8500 || COMPILE_TEST
- + depends on HAS_IOPORT
- depends on HAS_DMA
- select CRC32
- select MII
- diff --git a/drivers/net/fddi/Kconfig b/drivers/net/fddi/Kconfig
- index 846bf41c2717..1753c08d6423 100644
- --- a/drivers/net/fddi/Kconfig
- +++ b/drivers/net/fddi/Kconfig
- @@ -5,7 +5,7 @@
- config FDDI
- tristate "FDDI driver support"
- - depends on PCI || EISA || TC
- + depends on LEGACY_PCI || EISA || TC
- help
- Fiber Distributed Data Interface is a high speed local area network
- design; essentially a replacement for high speed Ethernet. FDDI can
- @@ -29,7 +29,7 @@ config DEFZA
- config DEFXX
- tristate "Digital DEFTA/DEFEA/DEFPA adapter support"
- - depends on FDDI && (PCI || EISA || TC)
- + depends on FDDI && (LEGACY_PCI || EISA || TC)
- help
- This is support for the DIGITAL series of TURBOchannel (DEFTA),
- EISA (DEFEA) and PCI (DEFPA) controllers which can connect you
- diff --git a/drivers/net/hamradio/Kconfig b/drivers/net/hamradio/Kconfig
- index f4843f9672c1..393d7dcdfbdb 100644
- --- a/drivers/net/hamradio/Kconfig
- +++ b/drivers/net/hamradio/Kconfig
- @@ -116,7 +116,7 @@ config SCC_TRXECHO
- config BAYCOM_SER_FDX
- tristate "BAYCOM ser12 fullduplex driver for AX.25"
- - depends on AX25 && !S390
- + depends on AX25 && HAS_IOPORT
- select CRC_CCITT
- help
- This is one of two drivers for Baycom style simple amateur radio
- @@ -136,7 +136,7 @@ config BAYCOM_SER_FDX
- config BAYCOM_SER_HDX
- tristate "BAYCOM ser12 halfduplex driver for AX.25"
- - depends on AX25 && !S390
- + depends on AX25 && HAS_IOPORT
- select CRC_CCITT
- help
- This is one of two drivers for Baycom style simple amateur radio
- @@ -184,7 +184,7 @@ config BAYCOM_EPP
- config YAM
- tristate "YAM driver for AX.25"
- - depends on AX25 && !S390
- + depends on AX25 && HAS_IOPORT
- help
- The YAM is a modem for packet radio which connects to the serial
- port and includes some of the functions of a Terminal Node
- diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig
- index a187c814a4a6..a8f1aa6bfb89 100644
- --- a/drivers/net/wan/Kconfig
- +++ b/drivers/net/wan/Kconfig
- @@ -250,7 +250,7 @@ config C101
- config FARSYNC
- tristate "FarSync T-Series support"
- - depends on HDLC && PCI
- + depends on HDLC && LEGACY_PCI
- help
- Support for the FarSync T-Series X.21 (and V.35/V.24) cards by
- FarSite Communications Ltd.
- diff --git a/drivers/net/wireless/atmel/Kconfig b/drivers/net/wireless/atmel/Kconfig
- index ca45a1021cf4..9baa4a19dd38 100644
- --- a/drivers/net/wireless/atmel/Kconfig
- +++ b/drivers/net/wireless/atmel/Kconfig
- @@ -14,7 +14,7 @@ if WLAN_VENDOR_ATMEL
- config ATMEL
- tristate "Atmel at76c50x chipset 802.11b support"
- - depends on CFG80211 && (PCI || PCMCIA)
- + depends on CFG80211 && (LEGACY_PCI || PCMCIA)
- select WIRELESS_EXT
- select WEXT_PRIV
- select FW_LOADER
- @@ -32,7 +32,7 @@ config ATMEL
- config PCI_ATMEL
- tristate "Atmel at76c506 PCI cards"
- - depends on ATMEL && PCI
- + depends on ATMEL && LEGACY_PCI
- help
- Enable support for PCI and mini-PCI cards containing the
- Atmel at76c506 chip.
- diff --git a/drivers/net/wireless/intersil/hostap/Kconfig b/drivers/net/wireless/intersil/hostap/Kconfig
- index c865d3156cea..9bcd1c8546ff 100644
- --- a/drivers/net/wireless/intersil/hostap/Kconfig
- +++ b/drivers/net/wireless/intersil/hostap/Kconfig
- @@ -56,7 +56,7 @@ config HOSTAP_FIRMWARE_NVRAM
- config HOSTAP_PLX
- tristate "Host AP driver for Prism2/2.5/3 in PLX9052 PCI adaptors"
- - depends on PCI && HOSTAP
- + depends on LEGACY_PCI && HOSTAP
- help
- Host AP driver's version for Prism2/2.5/3 PC Cards in PLX9052 based
- PCI adaptors.
- @@ -70,7 +70,7 @@ config HOSTAP_PLX
- config HOSTAP_PCI
- tristate "Host AP driver for Prism2.5 PCI adaptors"
- - depends on PCI && HOSTAP
- + depends on LEGACY_PCI && HOSTAP
- help
- Host AP driver's version for Prism2.5 PCI adaptors.
- diff --git a/drivers/parport/Kconfig b/drivers/parport/Kconfig
- index e78a9f0302c7..d824f3069302 100644
- --- a/drivers/parport/Kconfig
- +++ b/drivers/parport/Kconfig
- @@ -14,7 +14,6 @@ config ARCH_MIGHT_HAVE_PC_PARPORT
- menuconfig PARPORT
- tristate "Parallel port support"
- - depends on HAS_IOMEM
- help
- If you want to use devices connected to your machine's parallel port
- (the connector at the computer with 25 holes), e.g. printer, ZIP
- @@ -43,6 +42,7 @@ if PARPORT
- config PARPORT_PC
- tristate "PC-style hardware"
- depends on ARCH_MIGHT_HAVE_PC_PARPORT
- + depends on HAS_IOPORT
- help
- You should say Y here if you have a PC-style parallel port. All
- IBM PC compatible computers and some Alphas have PC-style
- diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
- index beb8d1f4fafe..308341728237 100644
- --- a/drivers/pci/pci-sysfs.c
- +++ b/drivers/pci/pci-sysfs.c
- @@ -1076,6 +1076,7 @@ static int pci_mmap_resource_wc(struct file *filp, struct kobject *kobj,
- return pci_mmap_resource(kobj, attr, vma, 1);
- }
- +#ifdef CONFIG_HAS_IOPORT
- static ssize_t pci_resource_io(struct file *filp, struct kobject *kobj,
- struct bin_attribute *attr, char *buf,
- loff_t off, size_t count, bool write)
- @@ -1134,6 +1135,21 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
- return pci_resource_io(filp, kobj, attr, buf, off, count, true);
- }
- +#else
- +static ssize_t pci_read_resource_io(struct file *filp, struct kobject *kobj,
- + struct bin_attribute *attr, char *buf,
- + loff_t off, size_t count)
- +{
- + return -ENXIO;
- +}
- +
- +static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
- + struct bin_attribute *attr, char *buf,
- + loff_t off, size_t count)
- +{
- + return -ENXIO;
- +}
- +#endif
- /**
- * pci_remove_resource_files - cleanup resource files
- diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
- index dcb229de1acb..5cc0b01925ae 100644
- --- a/drivers/pci/quirks.c
- +++ b/drivers/pci/quirks.c
- @@ -264,6 +264,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_d
- DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs);
- DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs);
- +#ifdef CONFIG_HAS_IOPORT
- /*
- * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear
- * for some HT machines to use C4 w/o hanging.
- @@ -283,6 +284,7 @@ static void quirk_tigerpoint_bm_sts(struct pci_dev *dev)
- }
- }
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TGP_LPC, quirk_tigerpoint_bm_sts);
- +#endif
- /* Chipsets where PCI->PCI transfers vanish or hang */
- static void quirk_nopcipci(struct pci_dev *dev)
- diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
- index 22865a111f0a..ba9306bcf647 100644
- --- a/drivers/pcmcia/Kconfig
- +++ b/drivers/pcmcia/Kconfig
- @@ -5,7 +5,7 @@
- menuconfig PCCARD
- tristate "PCCard (PCMCIA/CardBus) support"
- - depends on !UML
- + depends on LEGACY_PCI || HAS_IOPORT
- 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,
- diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
- index ccc23d8686e8..b43ef78e75d4 100644
- --- a/drivers/platform/chrome/Kconfig
- +++ b/drivers/platform/chrome/Kconfig
- @@ -111,6 +111,7 @@ config CROS_EC_SPI
- config CROS_EC_LPC
- tristate "ChromeOS Embedded Controller (LPC)"
- depends on CROS_EC && ACPI && (X86 || COMPILE_TEST)
- + depends on HAS_IOPORT
- help
- If you say Y here, you get support for talking to the ChromeOS EC
- over an LPC bus, including the LPC Microchip EC (MEC) variant.
- diff --git a/drivers/platform/chrome/wilco_ec/Kconfig b/drivers/platform/chrome/wilco_ec/Kconfig
- index 49e8530ca0ac..d1648fb099ac 100644
- --- a/drivers/platform/chrome/wilco_ec/Kconfig
- +++ b/drivers/platform/chrome/wilco_ec/Kconfig
- @@ -3,6 +3,7 @@ config WILCO_EC
- tristate "ChromeOS Wilco Embedded Controller"
- depends on X86 || COMPILE_TEST
- depends on ACPI && CROS_EC_LPC && LEDS_CLASS
- + depends on HAS_IOPORT
- help
- If you say Y here, you get support for talking to the ChromeOS
- Wilco EC over an eSPI bus. This uses a simple byte-level protocol
- diff --git a/drivers/pnp/isapnp/Kconfig b/drivers/pnp/isapnp/Kconfig
- index d0479a563123..79bd48f1dd94 100644
- --- a/drivers/pnp/isapnp/Kconfig
- +++ b/drivers/pnp/isapnp/Kconfig
- @@ -4,7 +4,7 @@
- #
- config ISAPNP
- bool "ISA Plug and Play support"
- - depends on ISA || COMPILE_TEST
- + depends on ISA || (HAS_IOPORT && COMPILE_TEST)
- help
- Say Y here if you would like support for ISA Plug and Play devices.
- Some information is in <file:Documentation/driver-api/isapnp.rst>.
- diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
- index 4d1192062508..dbd3c0bbe30c 100644
- --- a/drivers/power/reset/Kconfig
- +++ b/drivers/power/reset/Kconfig
- @@ -151,6 +151,7 @@ config POWER_RESET_OXNAS
- config POWER_RESET_PIIX4_POWEROFF
- tristate "Intel PIIX4 power-off driver"
- depends on PCI
- + depends on HAS_IOPORT
- depends on MIPS || COMPILE_TEST
- help
- This driver supports powering off a system using the Intel PIIX4
- diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
- index 914497abeef9..9661459b8c75 100644
- --- a/drivers/rtc/Kconfig
- +++ b/drivers/rtc/Kconfig
- @@ -949,6 +949,7 @@ comment "Platform RTC drivers"
- config RTC_DRV_CMOS
- tristate "PC-style 'CMOS'"
- depends on X86 || ARM || PPC || MIPS || SPARC64
- + depends on HAS_IOPORT
- default y if X86
- select RTC_MC146818_LIB
- help
- @@ -969,6 +970,7 @@ config RTC_DRV_CMOS
- config RTC_DRV_ALPHA
- bool "Alpha PC-style CMOS"
- depends on ALPHA
- + depends on HAS_IOPORT
- select RTC_MC146818_LIB
- default y
- help
- @@ -1186,7 +1188,7 @@ config RTC_DRV_MSM6242
- config RTC_DRV_BQ4802
- tristate "TI BQ4802"
- - depends on HAS_IOMEM
- + depends on HAS_IOMEM && HAS_IOPORT
- help
- If you say Y here you will get support for the TI
- BQ4802 RTC chip.
- diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
- index 3d114be5b662..27356c2a4090 100644
- --- a/drivers/scsi/Kconfig
- +++ b/drivers/scsi/Kconfig
- @@ -317,7 +317,7 @@ config SGIWD93_SCSI
- config BLK_DEV_3W_XXXX_RAID
- tristate "3ware 5/6/7/8xxx ATA-RAID support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- 3ware is the only hardware ATA-Raid product in Linux to date.
- This card is 2,4, or 8 channel master mode support only.
- @@ -364,7 +364,7 @@ config SCSI_3W_SAS
- config SCSI_ACARD
- tristate "ACARD SCSI support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- This driver supports the ACARD SCSI host adapter.
- Support Chip <ATP870 ATP876 ATP880 ATP885>
- @@ -456,7 +456,7 @@ config SCSI_DPT_I2O
- config SCSI_ADVANSYS
- tristate "AdvanSys SCSI support"
- depends on SCSI
- - depends on ISA || EISA || PCI
- + depends on ISA || EISA || LEGACY_PCI
- depends on ISA_DMA_API || !ISA
- help
- This is a driver for all SCSI host adapters manufactured by
- @@ -626,7 +626,7 @@ config SCSI_SNIC_DEBUG_FS
- config SCSI_DMX3191D
- tristate "DMX3191D SCSI support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- select SCSI_SPI_ATTRS
- help
- This is support for Domex DMX3191D SCSI Host Adapters.
- @@ -640,7 +640,7 @@ config SCSI_FDOMAIN
- config SCSI_FDOMAIN_PCI
- tristate "Future Domain TMC-3260/AHA-2920A PCI SCSI support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- select SCSI_FDOMAIN
- help
- This is support for Future Domain's PCI SCSI host adapters (TMC-3260)
- @@ -693,7 +693,7 @@ config SCSI_GENERIC_NCR5380
- config SCSI_IPS
- tristate "IBM ServeRAID support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- This is support for the IBM ServeRAID hardware RAID controllers.
- See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
- @@ -753,7 +753,7 @@ config SCSI_IBMVFC_TRACE
- config SCSI_INITIO
- tristate "Initio 9100U(W) support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- This is support for the Initio 91XXU(W) SCSI host adapter. Please
- read the SCSI-HOWTO, available from
- @@ -764,7 +764,7 @@ config SCSI_INITIO
- config SCSI_INIA100
- tristate "Initio INI-A100U2W support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- This is support for the Initio INI-A100U2W SCSI host adapter.
- Please read the SCSI-HOWTO, available from
- @@ -776,6 +776,7 @@ config SCSI_INIA100
- config SCSI_PPA
- tristate "IOMEGA parallel port (ppa - older drives)"
- depends on SCSI && PARPORT_PC
- + depends on HAS_IOPORT
- help
- This driver supports older versions of IOMEGA's parallel port ZIP
- drive (a 100 MB removable media device).
- @@ -1113,7 +1114,7 @@ config SCSI_QLOGIC_FAS
- config SCSI_QLOGIC_1280
- tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter.
- @@ -1168,7 +1169,7 @@ config SCSI_SIM710
- config SCSI_DC395x
- tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- select SCSI_SPI_ATTRS
- help
- This driver supports PCI SCSI host adapters based on the ASIC
- diff --git a/drivers/scsi/aic7xxx/Kconfig.aic79xx b/drivers/scsi/aic7xxx/Kconfig.aic79xx
- index a47dbd500e9a..64332cc73ea0 100644
- --- a/drivers/scsi/aic7xxx/Kconfig.aic79xx
- +++ b/drivers/scsi/aic7xxx/Kconfig.aic79xx
- @@ -5,7 +5,7 @@
- #
- config SCSI_AIC79XX
- tristate "Adaptec AIC79xx U320 support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- select SCSI_SPI_ATTRS
- help
- This driver supports all of Adaptec's Ultra 320 PCI-X
- diff --git a/drivers/scsi/aic7xxx/Kconfig.aic7xxx b/drivers/scsi/aic7xxx/Kconfig.aic7xxx
- index 0cfd92ce750a..3fa5dc1d1186 100644
- --- a/drivers/scsi/aic7xxx/Kconfig.aic7xxx
- +++ b/drivers/scsi/aic7xxx/Kconfig.aic7xxx
- @@ -5,7 +5,7 @@
- #
- config SCSI_AIC7XXX
- tristate "Adaptec AIC7xxx Fast -> U160 support"
- - depends on (PCI || EISA) && SCSI
- + depends on (LEGACY_PCI || EISA) && SCSI
- select SCSI_SPI_ATTRS
- help
- This driver supports all of Adaptec's Fast through Ultra 160 PCI
- diff --git a/drivers/scsi/aic94xx/Kconfig b/drivers/scsi/aic94xx/Kconfig
- index 71931c371b1c..b0cbf65dbe5b 100644
- --- a/drivers/scsi/aic94xx/Kconfig
- +++ b/drivers/scsi/aic94xx/Kconfig
- @@ -8,7 +8,7 @@
- config SCSI_AIC94XX
- tristate "Adaptec AIC94xx SAS/SATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- select SCSI_SAS_LIBSAS
- select FW_LOADER
- help
- diff --git a/drivers/scsi/megaraid/Kconfig.megaraid b/drivers/scsi/megaraid/Kconfig.megaraid
- index 2adc2afd9f91..4ec46aede490 100644
- --- a/drivers/scsi/megaraid/Kconfig.megaraid
- +++ b/drivers/scsi/megaraid/Kconfig.megaraid
- @@ -67,7 +67,7 @@ config MEGARAID_MAILBOX
- config MEGARAID_LEGACY
- tristate "LSI Logic Legacy MegaRAID Driver"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- help
- This driver supports the LSI MegaRAID 418, 428, 438, 466, 762, 490
- and 467 SCSI host adapters. This driver also support the all U320
- diff --git a/drivers/scsi/mvsas/Kconfig b/drivers/scsi/mvsas/Kconfig
- index 79812b80743b..f41f3f4a9f34 100644
- --- a/drivers/scsi/mvsas/Kconfig
- +++ b/drivers/scsi/mvsas/Kconfig
- @@ -9,7 +9,7 @@
- config SCSI_MVSAS
- tristate "Marvell 88SE64XX/88SE94XX SAS/SATA support"
- - depends on PCI
- + depends on LEGACY_PCI
- select SCSI_SAS_LIBSAS
- select FW_LOADER
- help
- diff --git a/drivers/scsi/qla2xxx/Kconfig b/drivers/scsi/qla2xxx/Kconfig
- index 802c373fd6d9..93afb73858ce 100644
- --- a/drivers/scsi/qla2xxx/Kconfig
- +++ b/drivers/scsi/qla2xxx/Kconfig
- @@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
- config SCSI_QLA_FC
- tristate "QLogic QLA2XXX Fibre Channel Support"
- - depends on PCI && SCSI
- + depends on LEGACY_PCI && SCSI
- depends on SCSI_FC_ATTRS
- depends on NVME_FC || !NVME_FC
- select FW_LOADER
- diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
- index db404323a3b3..53cdbb040a87 100644
- --- a/drivers/spi/Kconfig
- +++ b/drivers/spi/Kconfig
- @@ -204,6 +204,7 @@ config SPI_BITBANG
- config SPI_BUTTERFLY
- tristate "Parallel port adapter for AVR Butterfly (DEVELOPMENT)"
- depends on PARPORT
- + depends on HAS_IOPORT
- select SPI_BITBANG
- help
- This uses a custom parallel port cable to connect to an AVR
- diff --git a/drivers/staging/kpc2000/Kconfig b/drivers/staging/kpc2000/Kconfig
- index 897965359fcb..cd7a0af04f2f 100644
- --- a/drivers/staging/kpc2000/Kconfig
- +++ b/drivers/staging/kpc2000/Kconfig
- @@ -3,7 +3,7 @@
- config KPC2000
- bool "Daktronics KPC Device support"
- select MFD_CORE
- - depends on PCI
- + depends on LEGACY_PCI
- depends on UIO
- help
- Select this if you wish to use the Daktronics KPC PCI devices
- diff --git a/drivers/staging/sm750fb/Kconfig b/drivers/staging/sm750fb/Kconfig
- index 8c0d8a873d5b..d332f912b964 100644
- --- a/drivers/staging/sm750fb/Kconfig
- +++ b/drivers/staging/sm750fb/Kconfig
- @@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0
- config FB_SM750
- tristate "Silicon Motion SM750 framebuffer support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_MODE_HELPERS
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- diff --git a/drivers/staging/vt6655/Kconfig b/drivers/staging/vt6655/Kconfig
- index d1cd5de46dcf..dd236f54d3a2 100644
- --- a/drivers/staging/vt6655/Kconfig
- +++ b/drivers/staging/vt6655/Kconfig
- @@ -1,6 +1,6 @@
- # SPDX-License-Identifier: GPL-2.0
- config VT6655
- tristate "VIA Technologies VT6655 support"
- - depends on PCI && MAC80211 && m
- + depends on LEGACY_PCI && MAC80211 && m
- help
- This is a vendor-written driver for VIA VT6655.
- diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
- index f6a7fd6d3bb6..b0a934b28386 100644
- --- a/drivers/tty/Kconfig
- +++ b/drivers/tty/Kconfig
- @@ -204,7 +204,7 @@ config MOXA_INTELLIO
- config MOXA_SMARTIO
- tristate "Moxa SmartIO support v. 2.0"
- - depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
- + depends on SERIAL_NONSTANDARD && (LEGACY_PCI || EISA || ISA)
- help
- Say Y here if you have a Moxa SmartIO multiport serial card and/or
- want to help develop a new version of this driver.
- diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c
- index c171ce6db691..24bd1e6c24c6 100644
- --- a/drivers/tty/serial/8250/8250_early.c
- +++ b/drivers/tty/serial/8250/8250_early.c
- @@ -48,8 +48,10 @@ static unsigned int serial8250_early_in(struct uart_port *port, int offset)
- return readl(port->membase + offset);
- case UPIO_MEM32BE:
- return ioread32be(port->membase + offset);
- +#ifdef CONFIG_HAS_IOPORT
- case UPIO_PORT:
- return inb(port->iobase + offset);
- +#endif
- case UPIO_AU:
- return port->serial_in(port, reg_offset);
- default:
- @@ -75,9 +77,11 @@ static void serial8250_early_out(struct uart_port *port, int offset, int value)
- case UPIO_MEM32BE:
- iowrite32be(value, port->membase + offset);
- break;
- +#ifdef CONFIG_HAS_IOPORT
- case UPIO_PORT:
- outb(value, port->iobase + offset);
- break;
- +#endif
- case UPIO_AU:
- port->serial_out(port, reg_offset, value);
- break;
- diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
- index 780cc99732b6..ac62a16cfd98 100644
- --- a/drivers/tty/serial/8250/8250_pci.c
- +++ b/drivers/tty/serial/8250/8250_pci.c
- @@ -104,6 +104,9 @@ setup_port(struct serial_private *priv, struct uart_8250_port *port,
- port->port.membase = pcim_iomap_table(dev)[bar] + offset;
- port->port.regshift = regshift;
- } else {
- + if (!IS_ENABLED(CONFIG_HAS_IOPORT))
- + return -ENXIO;
- +
- port->port.iotype = UPIO_PORT;
- port->port.iobase = pci_resource_start(dev, bar) + offset;
- port->port.mapbase = 0;
- @@ -869,6 +872,7 @@ static int pci_netmos_init(struct pci_dev *dev)
- return num_serial;
- }
- +#ifdef CONFIG_HAS_IOPORT
- /*
- * These chips are available with optionally one parallel port and up to
- * two serial ports. Unfortunately they all have the same product id.
- @@ -999,6 +1003,7 @@ static void pci_ite887x_exit(struct pci_dev *dev)
- ioport &= 0xffff;
- release_region(ioport, ITE_887x_IOSIZE);
- }
- +#endif
- /*
- * EndRun Technologies.
- @@ -1096,7 +1101,7 @@ struct quatech_feature {
- #define QOPR_CLOCK_X8 0x0003
- #define QOPR_CLOCK_RATE_MASK 0x0003
- -
- +#ifdef CONFIG_HAS_IOPORT
- static struct quatech_feature quatech_cards[] = {
- { PCI_DEVICE_ID_QUATECH_QSC100, 1 },
- { PCI_DEVICE_ID_QUATECH_DSC100, 1 },
- @@ -1322,6 +1327,7 @@ static int pci_quatech_setup(struct serial_private *priv,
- static void pci_quatech_exit(struct pci_dev *dev)
- {
- }
- +#endif
- static int pci_default_setup(struct serial_private *priv,
- const struct pciserial_board *board,
- @@ -1697,6 +1703,7 @@ static int skip_tx_en_setup(struct serial_private *priv,
- return pci_default_setup(priv, board, port, idx);
- }
- +#ifdef CONFIG_HAS_IOPORT
- static void kt_handle_break(struct uart_port *p)
- {
- struct uart_8250_port *up = up_to_u8250p(p);
- @@ -1740,6 +1747,7 @@ static int kt_serial_setup(struct serial_private *priv,
- port->port.handle_break = kt_handle_break;
- return skip_tx_en_setup(priv, board, port, idx);
- }
- +#endif
- static int pci_eg20t_init(struct pci_dev *dev)
- {
- @@ -1770,6 +1778,7 @@ pci_wch_ch355_setup(struct serial_private *priv,
- return pci_default_setup(priv, board, port, idx);
- }
- +#ifdef CONFIG_HAS_IOPORT
- static int
- pci_wch_ch38x_setup(struct serial_private *priv,
- const struct pciserial_board *board,
- @@ -1811,7 +1820,7 @@ static void pci_wch_ch38x_exit(struct pci_dev *dev)
- iobase = pci_resource_start(dev, 0);
- outb(0x0, iobase + CH384_XINT_ENABLE_REG);
- }
- -
- +#endif
- static int
- pci_sunix_setup(struct serial_private *priv,
- @@ -2050,6 +2059,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
- .subdevice = PCI_ANY_ID,
- .setup = ce4100_serial_setup,
- },
- +#ifdef CONFIG_HAS_IOPORT
- {
- .vendor = PCI_VENDOR_ID_INTEL,
- .device = PCI_DEVICE_ID_INTEL_PATSBURG_KT,
- @@ -2069,6 +2079,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
- .setup = pci_default_setup,
- .exit = pci_ite887x_exit,
- },
- +#endif
- /*
- * National Instruments
- */
- @@ -2189,6 +2200,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
- .setup = pci_ni8430_setup,
- .exit = pci_ni8430_exit,
- },
- +#ifdef CONFIG_HAS_IOPORT
- /* Quatech */
- {
- .vendor = PCI_VENDOR_ID_QUATECH,
- @@ -2199,6 +2211,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
- .setup = pci_quatech_setup,
- .exit = pci_quatech_exit,
- },
- +#endif
- /*
- * Panacom
- */
- @@ -2666,6 +2679,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
- .subdevice = PCI_ANY_ID,
- .setup = pci_wch_ch355_setup,
- },
- +#ifdef CONFIG_HAS_IOPORT
- /* WCH CH382 2S card (16850 clone) */
- {
- .vendor = PCIE_VENDOR_ID_WCH,
- @@ -2700,6 +2714,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
- .exit = pci_wch_ch38x_exit,
- .setup = pci_wch_ch38x_setup,
- },
- +#endif
- /*
- * ASIX devices with FIFO bug
- */
- diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
- index fc5ab2032282..fcfb0923adae 100644
- --- a/drivers/tty/serial/8250/8250_port.c
- +++ b/drivers/tty/serial/8250/8250_port.c
- @@ -379,6 +379,7 @@ static void au_serial_dl_write(struct uart_8250_port *up, int value)
- #endif
- +#ifdef CONFIG_HAS_IOPORT
- static unsigned int hub6_serial_in(struct uart_port *p, int offset)
- {
- offset = offset << p->regshift;
- @@ -392,6 +393,7 @@ static void hub6_serial_out(struct uart_port *p, int offset, int value)
- outb(p->hub6 - 1 + offset, p->iobase);
- outb(value, p->iobase + 1);
- }
- +#endif
- static unsigned int mem_serial_in(struct uart_port *p, int offset)
- {
- @@ -441,6 +443,7 @@ static unsigned int mem32be_serial_in(struct uart_port *p, int offset)
- return ioread32be(p->membase + offset);
- }
- +#ifdef CONFIG_HAS_IOPORT
- static unsigned int io_serial_in(struct uart_port *p, int offset)
- {
- offset = offset << p->regshift;
- @@ -452,6 +455,7 @@ static void io_serial_out(struct uart_port *p, int offset, int value)
- offset = offset << p->regshift;
- outb(value, p->iobase + offset);
- }
- +#endif
- static int serial8250_default_handle_irq(struct uart_port *port);
- @@ -463,10 +467,12 @@ static void set_io_from_upio(struct uart_port *p)
- up->dl_write = default_serial_dl_write;
- switch (p->iotype) {
- +#ifdef CONFIG_HAS_IOPORT
- case UPIO_HUB6:
- p->serial_in = hub6_serial_in;
- p->serial_out = hub6_serial_out;
- break;
- +#endif
- case UPIO_MEM:
- p->serial_in = mem_serial_in;
- @@ -496,11 +502,12 @@ static void set_io_from_upio(struct uart_port *p)
- up->dl_write = au_serial_dl_write;
- break;
- #endif
- -
- +#ifdef CONFIG_HAS_IOPORT
- default:
- p->serial_in = io_serial_in;
- p->serial_out = io_serial_out;
- break;
- +#endif
- }
- /* Remember loaded iotype */
- up->cur_iotype = p->iotype;
- @@ -1370,17 +1377,20 @@ static void autoconfig_irq(struct uart_8250_port *up)
- {
- struct uart_port *port = &up->port;
- unsigned char save_mcr, save_ier;
- - unsigned char save_ICP = 0;
- - unsigned int ICP = 0;
- unsigned long irqs;
- int irq;
- +#ifdef CONFIG_SERIAL_8250_FOURPORT
- + unsigned char save_ICP = 0;
- + unsigned int ICP = 0;
- +
- if (port->flags & UPF_FOURPORT) {
- ICP = (port->iobase & 0xfe0) | 0x1f;
- save_ICP = inb_p(ICP);
- outb_p(0x80, ICP);
- inb_p(ICP);
- }
- +#endif
- if (uart_console(port))
- console_lock();
- @@ -1412,8 +1422,10 @@ static void autoconfig_irq(struct uart_8250_port *up)
- serial8250_out_MCR(up, save_mcr);
- serial_out(up, UART_IER, save_ier);
- +#ifdef CONFIG_SERIAL_8250_FOURPORT
- if (port->flags & UPF_FOURPORT)
- outb_p(save_ICP, ICP);
- +#endif
- if (uart_console(port))
- console_unlock();
- @@ -2413,6 +2425,7 @@ int serial8250_do_startup(struct uart_port *port)
- */
- up->ier = UART_IER_RLSI | UART_IER_RDI;
- +#ifdef CONFIG_SERIAL_8250_FOURPORT
- if (port->flags & UPF_FOURPORT) {
- unsigned int icp;
- /*
- @@ -2422,6 +2435,7 @@ int serial8250_do_startup(struct uart_port *port)
- outb_p(0x80, icp);
- inb_p(icp);
- }
- +#endif
- retval = 0;
- out:
- serial8250_rpm_put(up);
- @@ -2456,11 +2470,13 @@ void serial8250_do_shutdown(struct uart_port *port)
- serial8250_release_dma(up);
- spin_lock_irqsave(&port->lock, flags);
- +#ifdef CONFIG_SERIAL_8250_FOURPORT
- if (port->flags & UPF_FOURPORT) {
- /* reset interrupts on the AST Fourport board */
- inb((port->iobase & 0xfe0) | 0x1f);
- port->mctrl |= TIOCM_OUT1;
- } else
- +#endif
- port->mctrl &= ~TIOCM_OUT2;
- serial8250_set_mctrl(port, port->mctrl);
- diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
- index d1b3c2373fa4..618c1b5767a4 100644
- --- a/drivers/tty/serial/8250/Kconfig
- +++ b/drivers/tty/serial/8250/Kconfig
- @@ -73,6 +73,7 @@ config SERIAL_8250_16550A_VARIANTS
- config SERIAL_8250_FINTEK
- bool "Support for Fintek F81216A LPC to 4 UART RS485 API"
- depends on SERIAL_8250
- + depends on HAS_IOPORT
- help
- Selecting this option will add support for the RS485 capabilities
- of the Fintek F81216A LPC to 4 UART.
- diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
- index 682f9171c82c..086a03a6bdad 100644
- --- a/drivers/tty/serial/Kconfig
- +++ b/drivers/tty/serial/Kconfig
- @@ -907,7 +907,7 @@ config SERIAL_VR41XX_CONSOLE
- config SERIAL_JSM
- tristate "Digi International NEO and Classic PCI Support"
- - depends on PCI
- + depends on LEGACY_PCI
- select SERIAL_CORE
- help
- This is a driver for Digi International's Neo and Classic series
- diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
- index d630cccd2e6e..422a28ede4de 100644
- --- a/drivers/usb/core/hcd-pci.c
- +++ b/drivers/usb/core/hcd-pci.c
- @@ -20,7 +20,6 @@
- #include "usb.h"
- -
- /* PCI-based HCs are common, but plenty of non-PCI HCs are used too */
- /*
- @@ -212,7 +211,8 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id,
- goto free_irq_vectors;
- }
- - hcd->amd_resume_bug = (usb_hcd_amd_remote_wakeup_quirk(dev) &&
- + hcd->amd_resume_bug = (IS_ENABLED(CONFIG_USB_PCI_AMD) &&
- + usb_hcd_amd_remote_wakeup_quirk(dev) &&
- driver->flags & (HCD_USB11 | HCD_USB3)) ? 1 : 0;
- if (driver->flags & HCD_MEMORY) {
- diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
- index c7f2a2cbad66..b22e2200c2cf 100644
- --- a/drivers/usb/host/Kconfig
- +++ b/drivers/usb/host/Kconfig
- @@ -377,7 +377,7 @@ config USB_ISP116X_HCD
- config USB_ISP1362_HCD
- tristate "ISP1362 HCD support"
- - depends on HAS_IOMEM
- + depends on HAS_IOPORT
- depends on COMPILE_TEST # nothing uses this
- help
- Supports the Philips ISP1362 chip as a host controller
- @@ -612,7 +612,7 @@ endif # USB_OHCI_HCD
- config USB_UHCI_HCD
- tristate "UHCI HCD (most Intel and VIA) support"
- - depends on USB_PCI || USB_UHCI_SUPPORT_NON_PCI_HC
- + depends on (USB_PCI && HAS_IOPORT) || USB_UHCI_SUPPORT_NON_PCI_HC
- help
- The Universal Host Controller Interface is a standard by Intel for
- accessing the USB hardware in the PC (which is also called the USB
- diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
- index ef08d68b9714..01471902c274 100644
- --- a/drivers/usb/host/pci-quirks.c
- +++ b/drivers/usb/host/pci-quirks.c
- @@ -60,6 +60,23 @@
- #define EHCI_USBLEGCTLSTS 4 /* legacy control/status */
- #define EHCI_USBLEGCTLSTS_SOOE (1 << 13) /* SMI on ownership change */
- +/* ASMEDIA quirk use */
- +#define ASMT_DATA_WRITE0_REG 0xF8
- +#define ASMT_DATA_WRITE1_REG 0xFC
- +#define ASMT_CONTROL_REG 0xE0
- +#define ASMT_CONTROL_WRITE_BIT 0x02
- +#define ASMT_WRITEREG_CMD 0x10423
- +#define ASMT_FLOWCTL_ADDR 0xFA30
- +#define ASMT_FLOWCTL_DATA 0xBA
- +#define ASMT_PSEUDO_DATA 0
- +
- +/* Intel quirk use */
- +#define USB_INTEL_XUSB2PR 0xD0
- +#define USB_INTEL_USB2PRM 0xD4
- +#define USB_INTEL_USB3_PSSEN 0xD8
- +#define USB_INTEL_USB3PRM 0xDC
- +
- +#ifdef CONFIG_USB_PCI_AMD
- /* AMD quirk use */
- #define AB_REG_BAR_LOW 0xe0
- #define AB_REG_BAR_HIGH 0xe1
- @@ -93,21 +110,6 @@
- #define NB_PIF0_PWRDOWN_0 0x01100012
- #define NB_PIF0_PWRDOWN_1 0x01100013
- -#define USB_INTEL_XUSB2PR 0xD0
- -#define USB_INTEL_USB2PRM 0xD4
- -#define USB_INTEL_USB3_PSSEN 0xD8
- -#define USB_INTEL_USB3PRM 0xDC
- -
- -/* ASMEDIA quirk use */
- -#define ASMT_DATA_WRITE0_REG 0xF8
- -#define ASMT_DATA_WRITE1_REG 0xFC
- -#define ASMT_CONTROL_REG 0xE0
- -#define ASMT_CONTROL_WRITE_BIT 0x02
- -#define ASMT_WRITEREG_CMD 0x10423
- -#define ASMT_FLOWCTL_ADDR 0xFA30
- -#define ASMT_FLOWCTL_DATA 0xBA
- -#define ASMT_PSEUDO_DATA 0
- -
- /*
- * amd_chipset_gen values represent AMD different chipset generations
- */
- @@ -460,50 +462,6 @@ void usb_amd_quirk_pll_disable(void)
- }
- EXPORT_SYMBOL_GPL(usb_amd_quirk_pll_disable);
- -static int usb_asmedia_wait_write(struct pci_dev *pdev)
- -{
- - unsigned long retry_count;
- - unsigned char value;
- -
- - for (retry_count = 1000; retry_count > 0; --retry_count) {
- -
- - pci_read_config_byte(pdev, ASMT_CONTROL_REG, &value);
- -
- - if (value == 0xff) {
- - dev_err(&pdev->dev, "%s: check_ready ERROR", __func__);
- - return -EIO;
- - }
- -
- - if ((value & ASMT_CONTROL_WRITE_BIT) == 0)
- - return 0;
- -
- - udelay(50);
- - }
- -
- - dev_warn(&pdev->dev, "%s: check_write_ready timeout", __func__);
- - return -ETIMEDOUT;
- -}
- -
- -void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev)
- -{
- - if (usb_asmedia_wait_write(pdev) != 0)
- - return;
- -
- - /* send command and address to device */
- - pci_write_config_dword(pdev, ASMT_DATA_WRITE0_REG, ASMT_WRITEREG_CMD);
- - pci_write_config_dword(pdev, ASMT_DATA_WRITE1_REG, ASMT_FLOWCTL_ADDR);
- - pci_write_config_byte(pdev, ASMT_CONTROL_REG, ASMT_CONTROL_WRITE_BIT);
- -
- - if (usb_asmedia_wait_write(pdev) != 0)
- - return;
- -
- - /* send data to device */
- - pci_write_config_dword(pdev, ASMT_DATA_WRITE0_REG, ASMT_FLOWCTL_DATA);
- - pci_write_config_dword(pdev, ASMT_DATA_WRITE1_REG, ASMT_PSEUDO_DATA);
- - pci_write_config_byte(pdev, ASMT_CONTROL_REG, ASMT_CONTROL_WRITE_BIT);
- -}
- -EXPORT_SYMBOL_GPL(usb_asmedia_modifyflowcontrol);
- -
- void usb_amd_quirk_pll_enable(void)
- {
- usb_amd_quirk_pll(0);
- @@ -632,7 +590,53 @@ bool usb_amd_pt_check_port(struct device *device, int port)
- return !(value & BIT(port_shift));
- }
- EXPORT_SYMBOL_GPL(usb_amd_pt_check_port);
- +#endif
- +
- +static int usb_asmedia_wait_write(struct pci_dev *pdev)
- +{
- + unsigned long retry_count;
- + unsigned char value;
- +
- + for (retry_count = 1000; retry_count > 0; --retry_count) {
- +
- + pci_read_config_byte(pdev, ASMT_CONTROL_REG, &value);
- +
- + if (value == 0xff) {
- + dev_err(&pdev->dev, "%s: check_ready ERROR", __func__);
- + return -EIO;
- + }
- +
- + if ((value & ASMT_CONTROL_WRITE_BIT) == 0)
- + return 0;
- +
- + udelay(50);
- + }
- +
- + dev_warn(&pdev->dev, "%s: check_write_ready timeout", __func__);
- + return -ETIMEDOUT;
- +}
- +
- +void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev)
- +{
- + if (usb_asmedia_wait_write(pdev) != 0)
- + return;
- +
- + /* send command and address to device */
- + pci_write_config_dword(pdev, ASMT_DATA_WRITE0_REG, ASMT_WRITEREG_CMD);
- + pci_write_config_dword(pdev, ASMT_DATA_WRITE1_REG, ASMT_FLOWCTL_ADDR);
- + pci_write_config_byte(pdev, ASMT_CONTROL_REG, ASMT_CONTROL_WRITE_BIT);
- + if (usb_asmedia_wait_write(pdev) != 0)
- + return;
- +
- + /* send data to device */
- + pci_write_config_dword(pdev, ASMT_DATA_WRITE0_REG, ASMT_FLOWCTL_DATA);
- + pci_write_config_dword(pdev, ASMT_DATA_WRITE1_REG, ASMT_PSEUDO_DATA);
- + pci_write_config_byte(pdev, ASMT_CONTROL_REG, ASMT_CONTROL_WRITE_BIT);
- +}
- +EXPORT_SYMBOL_GPL(usb_asmedia_modifyflowcontrol);
- +
- +#if IS_ENABLED(CONFIG_USB_UHCI_HCD) && defined(CONFIG_HAS_IOPORT)
- /*
- * Make sure the controller is completely inactive, unable to
- * generate interrupts or do DMA.
- @@ -713,6 +717,7 @@ int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base)
- return 1;
- }
- EXPORT_SYMBOL_GPL(uhci_check_and_reset_hc);
- +#endif
- static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
- {
- @@ -728,7 +733,7 @@ static void quirk_usb_handoff_uhci(struct pci_dev *pdev)
- unsigned long base = 0;
- int i;
- - if (!pio_enabled(pdev))
- + if (!IS_ENABLED(CONFIG_HAS_IOPORT) || !pio_enabled(pdev))
- return;
- for (i = 0; i < PCI_STD_NUM_BARS; i++)
- @@ -1273,7 +1278,8 @@ static void quirk_usb_early_handoff(struct pci_dev *pdev)
- "Can't enable PCI device, BIOS handoff failed.\n");
- return;
- }
- - if (pdev->class == PCI_CLASS_SERIAL_USB_UHCI)
- + if (IS_ENABLED(CONFIG_USB_UHCI_HCD) &&
- + pdev->class == PCI_CLASS_SERIAL_USB_UHCI)
- quirk_usb_handoff_uhci(pdev);
- else if (pdev->class == PCI_CLASS_SERIAL_USB_OHCI)
- quirk_usb_handoff_ohci(pdev);
- diff --git a/drivers/usb/host/pci-quirks.h b/drivers/usb/host/pci-quirks.h
- index e729de21fad7..42eb18be37af 100644
- --- a/drivers/usb/host/pci-quirks.h
- +++ b/drivers/usb/host/pci-quirks.h
- @@ -2,33 +2,50 @@
- #ifndef __LINUX_USB_PCI_QUIRKS_H
- #define __LINUX_USB_PCI_QUIRKS_H
- -#ifdef CONFIG_USB_PCI
- void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
- int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
- -int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev);
- +
- +struct pci_dev;
- +
- +#ifdef CONFIG_USB_PCI_AMD
- bool usb_amd_hang_symptom_quirk(void);
- bool usb_amd_prefetch_quirk(void);
- void usb_amd_dev_put(void);
- bool usb_amd_quirk_pll_check(void);
- void usb_amd_quirk_pll_disable(void);
- void usb_amd_quirk_pll_enable(void);
- -void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev);
- -void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
- -void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
- void sb800_prefetch(struct device *dev, int on);
- bool usb_amd_pt_check_port(struct device *device, int port);
- #else
- -struct pci_dev;
- +static inline bool usb_amd_hang_symptom_quirk(void)
- +{
- + return false;
- +};
- +static inline bool usb_amd_prefetch_quirk(void)
- +{
- + return false;
- +}
- +static inline bool usb_amd_quirk_pll_check(void)
- +{
- + return false;
- +}
- static inline void usb_amd_quirk_pll_disable(void) {}
- static inline void usb_amd_quirk_pll_enable(void) {}
- -static inline void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev) {}
- static inline void usb_amd_dev_put(void) {}
- -static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
- static inline void sb800_prefetch(struct device *dev, int on) {}
- static inline bool usb_amd_pt_check_port(struct device *device, int port)
- {
- return false;
- }
- +#endif /* CONFIG_USB_PCI_AMD */
- +
- +#ifdef CONFIG_USB_PCI
- +void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev);
- +void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
- +void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
- +#else
- +static inline void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev) {}
- +static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
- #endif /* CONFIG_USB_PCI */
- #endif /* __LINUX_USB_PCI_QUIRKS_H */
- diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
- index d90b869f5f40..a3b0d3d3b395 100644
- --- a/drivers/usb/host/uhci-hcd.c
- +++ b/drivers/usb/host/uhci-hcd.c
- @@ -841,7 +841,7 @@ static int uhci_count_ports(struct usb_hcd *hcd)
- static const char hcd_name[] = "uhci_hcd";
- -#ifdef CONFIG_USB_PCI
- +#if defined(CONFIG_USB_PCI) && defined(CONFIG_HAS_IOPORT)
- #include "uhci-pci.c"
- #define PCI_DRIVER uhci_pci_driver
- #endif
- diff --git a/drivers/usb/host/uhci-hcd.h b/drivers/usb/host/uhci-hcd.h
- index 8ae5ccd26753..8e30116b6fd2 100644
- --- a/drivers/usb/host/uhci-hcd.h
- +++ b/drivers/usb/host/uhci-hcd.h
- @@ -586,12 +586,14 @@ static inline int uhci_aspeed_reg(unsigned int reg)
- static inline u32 uhci_readl(const struct uhci_hcd *uhci, int reg)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (uhci_has_pci_registers(uhci))
- return inl(uhci->io_addr + reg);
- - else if (uhci_is_aspeed(uhci))
- +#endif
- + if (uhci_is_aspeed(uhci))
- return readl(uhci->regs + uhci_aspeed_reg(reg));
- #ifdef CONFIG_USB_UHCI_BIG_ENDIAN_MMIO
- - else if (uhci_big_endian_mmio(uhci))
- + if (uhci_big_endian_mmio(uhci))
- return readl_be(uhci->regs + reg);
- #endif
- else
- @@ -600,72 +602,97 @@ static inline u32 uhci_readl(const struct uhci_hcd *uhci, int reg)
- static inline void uhci_writel(const struct uhci_hcd *uhci, u32 val, int reg)
- {
- - if (uhci_has_pci_registers(uhci))
- +#ifdef CONFIG_HAS_IOPORT
- + if (uhci_has_pci_registers(uhci)) {
- outl(val, uhci->io_addr + reg);
- - else if (uhci_is_aspeed(uhci))
- + return;
- + }
- +#endif
- + if (uhci_is_aspeed(uhci)) {
- writel(val, uhci->regs + uhci_aspeed_reg(reg));
- + return;
- + }
- #ifdef CONFIG_USB_UHCI_BIG_ENDIAN_MMIO
- - else if (uhci_big_endian_mmio(uhci))
- + if (uhci_big_endian_mmio(uhci)) {
- writel_be(val, uhci->regs + reg);
- + return;
- + }
- #endif
- - else
- - writel(val, uhci->regs + reg);
- + writel(val, uhci->regs + reg);
- }
- static inline u16 uhci_readw(const struct uhci_hcd *uhci, int reg)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (uhci_has_pci_registers(uhci))
- return inw(uhci->io_addr + reg);
- - else if (uhci_is_aspeed(uhci))
- +#endif
- + if (uhci_is_aspeed(uhci))
- return readl(uhci->regs + uhci_aspeed_reg(reg));
- #ifdef CONFIG_USB_UHCI_BIG_ENDIAN_MMIO
- - else if (uhci_big_endian_mmio(uhci))
- + if (uhci_big_endian_mmio(uhci))
- return readw_be(uhci->regs + reg);
- #endif
- - else
- - return readw(uhci->regs + reg);
- + return readw(uhci->regs + reg);
- }
- static inline void uhci_writew(const struct uhci_hcd *uhci, u16 val, int reg)
- {
- - if (uhci_has_pci_registers(uhci))
- +#ifdef CONFIG_HAS_IOPORT
- + if (uhci_has_pci_registers(uhci)) {
- outw(val, uhci->io_addr + reg);
- - else if (uhci_is_aspeed(uhci))
- + return;
- + }
- +#endif
- + if (uhci_is_aspeed(uhci)) {
- writel(val, uhci->regs + uhci_aspeed_reg(reg));
- + return;
- + }
- #ifdef CONFIG_USB_UHCI_BIG_ENDIAN_MMIO
- - else if (uhci_big_endian_mmio(uhci))
- + if (uhci_big_endian_mmio(uhci)) {
- writew_be(val, uhci->regs + reg);
- + return;
- + }
- #endif
- - else
- - writew(val, uhci->regs + reg);
- +
- + writew(val, uhci->regs + reg);
- }
- static inline u8 uhci_readb(const struct uhci_hcd *uhci, int reg)
- {
- +#ifdef CONFIG_HAS_IOPORT
- if (uhci_has_pci_registers(uhci))
- return inb(uhci->io_addr + reg);
- - else if (uhci_is_aspeed(uhci))
- +#endif
- + if (uhci_is_aspeed(uhci))
- return readl(uhci->regs + uhci_aspeed_reg(reg));
- #ifdef CONFIG_USB_UHCI_BIG_ENDIAN_MMIO
- - else if (uhci_big_endian_mmio(uhci))
- + if (uhci_big_endian_mmio(uhci))
- return readb_be(uhci->regs + reg);
- #endif
- - else
- - return readb(uhci->regs + reg);
- +
- + return readb(uhci->regs + reg);
- }
- static inline void uhci_writeb(const struct uhci_hcd *uhci, u8 val, int reg)
- {
- - if (uhci_has_pci_registers(uhci))
- +#ifdef CONFIG_HAS_IOPORT
- + if (uhci_has_pci_registers(uhci)) {
- outb(val, uhci->io_addr + reg);
- - else if (uhci_is_aspeed(uhci))
- + return;
- + }
- +#endif
- + if (uhci_is_aspeed(uhci)) {
- writel(val, uhci->regs + uhci_aspeed_reg(reg));
- + return;
- + }
- #ifdef CONFIG_USB_UHCI_BIG_ENDIAN_MMIO
- - else if (uhci_big_endian_mmio(uhci))
- + if (uhci_big_endian_mmio(uhci)) {
- writeb_be(val, uhci->regs + reg);
- + return;
- + }
- #endif
- - else
- - writeb(val, uhci->regs + reg);
- + writeb(val, uhci->regs + reg);
- }
- #endif /* CONFIG_USB_UHCI_SUPPORT_NON_PCI_HC */
- diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
- index ee33b8ec62bb..4ed4c0ca9e9b 100644
- --- a/drivers/video/console/Kconfig
- +++ b/drivers/video/console/Kconfig
- @@ -10,6 +10,7 @@ config VGA_CONSOLE
- depends on !4xx && !PPC_8xx && !SPARC && !M68K && !PARISC && !SUPERH && \
- (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
- !ARM64 && !ARC && !MICROBLAZE && !OPENRISC && !NDS32 && !S390
- + depends on HAS_IOPORT
- default y
- help
- Saying Y here will allow you to use Linux in text mode through a
- @@ -23,8 +24,9 @@ config VGA_CONSOLE
- Say Y.
- config MDA_CONSOLE
- - depends on !M68K && !PARISC && ISA
- tristate "MDA text console (dual-headed)"
- + depends on !M68K && !PARISC && ISA
- + depends on HAS_IOPORT
- help
- Say Y here if you have an old MDA or monochrome Hercules graphics
- adapter in your system acting as a second head ( = video card). You
- diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
- index 79b0cb9c2820..e4e62cd32a1a 100644
- --- a/drivers/video/fbdev/Kconfig
- +++ b/drivers/video/fbdev/Kconfig
- @@ -342,7 +342,7 @@ config FB_IMX
- config FB_CYBER2000
- tristate "CyberPro 2000/2010/5000 support"
- - depends on FB && PCI && (BROKEN || !SPARC64)
- + depends on FB && LEGACY_PCI && (BROKEN || !SPARC64)
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -436,6 +436,7 @@ config FB_FM2
- config FB_ARC
- tristate "Arc Monochrome LCD board support"
- depends on FB && (X86 || COMPILE_TEST)
- + depends on HAS_IOPORT
- select FB_SYS_FILLRECT
- select FB_SYS_COPYAREA
- select FB_SYS_IMAGEBLIT
- @@ -1260,7 +1261,6 @@ config FB_ATY128
- This driver supports graphics boards with the ATI Rage128 chips.
- Say Y if you have such a graphics board and read
- <file:Documentation/fb/aty128fb.rst>.
- -
- To compile this driver as a module, choose M here: the
- module will be called aty128fb.
- @@ -1273,7 +1273,7 @@ config FB_ATY128_BACKLIGHT
- Say Y here if you want to control the backlight of your display.
- config FB_ATY
- - tristate "ATI Mach64 display support" if PCI || ATARI
- + tristate "ATI Mach64 display support" if LEGACY_PCI || ATARI
- depends on FB && !SPARC32
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- @@ -1325,7 +1325,7 @@ config FB_ATY_BACKLIGHT
- config FB_S3
- tristate "S3 Trio/Virge support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -1386,7 +1386,7 @@ config FB_SAVAGE_ACCEL
- config FB_SIS
- tristate "SiS/XGI display support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -1416,7 +1416,7 @@ config FB_SIS_315
- config FB_VIA
- tristate "VIA UniChrome (Pro) and Chrome9 display support"
- - depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
- + depends on FB && LEGACY_PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -1454,7 +1454,7 @@ endif
- config FB_NEOMAGIC
- tristate "NeoMagic display support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_MODE_HELPERS
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- @@ -1482,7 +1482,7 @@ config FB_KYRO
- config FB_3DFX
- tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_CFB_IMAGEBLIT
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- @@ -1531,7 +1531,7 @@ config FB_VOODOO1
- config FB_VT8623
- tristate "VIA VT8623 support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -1545,7 +1545,7 @@ config FB_VT8623
- config FB_TRIDENT
- tristate "Trident/CyberXXX/CyberBlade support"
- - depends on FB && PCI && I2C
- + depends on FB && LEGACY_PCI && I2C
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -1567,7 +1567,7 @@ config FB_TRIDENT
- config FB_ARK
- tristate "ARK 2000PV support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- @@ -2241,7 +2241,7 @@ config FB_SSD1307
- config FB_SM712
- tristate "Silicon Motion SM712 framebuffer support"
- - depends on FB && PCI
- + depends on FB && LEGACY_PCI
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
- diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
- index e77b7351c799..f42242e5f7b0 100644
- --- a/drivers/watchdog/Kconfig
- +++ b/drivers/watchdog/Kconfig
- @@ -456,6 +456,7 @@ config 21285_WATCHDOG
- config 977_WATCHDOG
- tristate "NetWinder WB83C977 watchdog"
- depends on (FOOTBRIDGE && ARCH_NETWINDER) || (ARM && COMPILE_TEST)
- + depends on HAS_IOPORT
- help
- Say Y here to include support for the WB977 watchdog included in
- NetWinder machines. Alternatively say M to compile the driver as
- @@ -1199,6 +1200,7 @@ config ITCO_WDT
- select WATCHDOG_CORE
- depends on I2C || I2C=n
- depends on MFD_INTEL_PMC_BXT || !MFD_INTEL_PMC_BXT
- + depends on HAS_IOPORT # for I2C_I801
- select LPC_ICH if !EXPERT
- select I2C_I801 if !EXPERT && I2C
- help
- @@ -2056,7 +2058,7 @@ comment "PCI-based Watchdog Cards"
- config PCIPCWATCHDOG
- tristate "Berkshire Products PCI-PC Watchdog"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- This is the driver for the Berkshire Products PCI-PC Watchdog card.
- This card simply watches your kernel to make sure it doesn't freeze,
- @@ -2071,7 +2073,7 @@ config PCIPCWATCHDOG
- config WDTPCI
- tristate "PCI-WDT500/501 Watchdog timer"
- - depends on PCI
- + depends on LEGACY_PCI
- help
- If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N.
- diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
- index e93375c710b9..ed2ea6a4a17d 100644
- --- a/include/asm-generic/io.h
- +++ b/include/asm-generic/io.h
- @@ -448,6 +448,8 @@ static inline void writesq(volatile void __iomem *addr, const void *buffer,
- #define IO_SPACE_LIMIT 0xffff
- #endif
- +#ifdef CONFIG_IOPORT
- +
- /*
- * {in,out}{b,w,l}() access little endian I/O. {in,out}{b,w,l}_p() can be
- * implemented on hardware that needs an additional delay for I/O accesses to
- @@ -522,9 +524,12 @@ static inline void _outl(u32 value, unsigned long addr)
- __io_paw();
- }
- #endif
- +#endif
- #include <linux/logic_pio.h>
- +#ifdef CONFIG_HAS_IOPORT
- +
- #ifndef inb
- #define inb _inb
- #endif
- @@ -703,6 +708,7 @@ static inline void outsl_p(unsigned long addr, const void *buffer,
- outsl(addr, buffer, count);
- }
- #endif
- +#endif /* CONFIG_IOPORT */
- #ifndef CONFIG_GENERIC_IOMAP
- #ifndef ioread8
- diff --git a/include/linux/gameport.h b/include/linux/gameport.h
- index 69081d899492..9e55ac748a86 100644
- --- a/include/linux/gameport.h
- +++ b/include/linux/gameport.h
- @@ -167,16 +167,21 @@ static inline void gameport_trigger(struct gameport *gameport)
- {
- if (gameport->trigger)
- gameport->trigger(gameport);
- +#ifdef CONFIG_HAS_IOPORT
- else
- outb(0xff, gameport->io);
- +#endif
- }
- static inline unsigned char gameport_read(struct gameport *gameport)
- {
- if (gameport->read)
- return gameport->read(gameport);
- - else
- - return inb(gameport->io);
- +#ifdef CONFIG_HAS_IOPORT
- + return inb(gameport->io);
- +#else
- + return 0xff;
- +#endif
- }
- static inline int gameport_cooked_read(struct gameport *gameport, int *axes, int *buttons)
- diff --git a/include/linux/parport.h b/include/linux/parport.h
- index 1c16ffb8b908..04ca5dc597a1 100644
- --- a/include/linux/parport.h
- +++ b/include/linux/parport.h
- @@ -519,7 +519,7 @@ extern int parport_device_proc_register(struct pardevice *device);
- extern int parport_device_proc_unregister(struct pardevice *device);
- /* If PC hardware is the only type supported, we can optimise a bit. */
- -#if !defined(CONFIG_PARPORT_NOT_PC)
- +#if !defined(CONFIG_PARPORT_NOT_PC) && defined(CONFIG_PARPORT_PC)
- #include <linux/parport_pc.h>
- #define parport_write_data(p,x) parport_pc_write_data(p,x)
- diff --git a/include/video/vga.h b/include/video/vga.h
- index d334e64c1c19..53cb52c0fddb 100644
- --- a/include/video/vga.h
- +++ b/include/video/vga.h
- @@ -201,18 +201,26 @@ extern int restore_vga(struct vgastate *state);
- static inline unsigned char vga_io_r (unsigned short port)
- {
- +#ifdef CONFIG_HAS_IOPORT
- return inb_p(port);
- +#else
- + return 0xff;
- +#endif
- }
- static inline void vga_io_w (unsigned short port, unsigned char val)
- {
- +#ifdef CONFIG_HAS_IOPORT
- outb_p(val, port);
- +#endif
- }
- static inline void vga_io_w_fast (unsigned short port, unsigned char reg,
- unsigned char val)
- {
- +#ifdef CONFIG_HAS_IOPORT
- outw(VGA_OUT16VAL (val, reg), port);
- +#endif
- }
- static inline unsigned char vga_mm_r (void __iomem *regbase, unsigned short port)
- diff --git a/lib/Kconfig b/lib/Kconfig
- index 1b68074809d2..2efd015f6ff6 100644
- --- a/lib/Kconfig
- +++ b/lib/Kconfig
- @@ -95,6 +95,7 @@ config ARCH_USE_SYM_ANNOTATIONS
- config INDIRECT_PIO
- bool "Access I/O in non-MMIO mode"
- depends on ARM64
- + depends on HAS_IOPORT
- help
- On some platforms where no separate I/O space exists, there are I/O
- hosts which can not be accessed in MMIO mode. Using the logical PIO
- @@ -472,6 +473,9 @@ config HAS_IOMEM
- depends on !NO_IOMEM
- default y
- +config HAS_IOPORT
- + def_bool ISA || LEGACY_PCI
- +
- config HAS_IOPORT_MAP
- bool
- depends on HAS_IOMEM && !NO_IOPORT_MAP
- diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb
- index 05dae05b6cc9..c68e4d9dcecb 100644
- --- a/lib/Kconfig.kgdb
- +++ b/lib/Kconfig.kgdb
- @@ -121,6 +121,7 @@ config KDB_DEFAULT_ENABLE
- config KDB_KEYBOARD
- bool "KGDB_KDB: keyboard as input device"
- + depends on HAS_IOPORT
- depends on VT && KGDB_KDB
- default n
- help
- diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
- index 7141f73cddd3..c324ab90aaba 100644
- --- a/sound/drivers/Kconfig
- +++ b/sound/drivers/Kconfig
- @@ -128,6 +128,7 @@ config SND_VIRMIDI
- config SND_MTPAV
- tristate "MOTU MidiTimePiece AV multiport MIDI"
- + depends on HAS_IOPORT
- select SND_RAWMIDI
- help
- To use a MOTU MidiTimePiece AV multiport MIDI adapter
- @@ -152,6 +153,7 @@ config SND_MTS64
- config SND_SERIAL_U16550
- tristate "UART16550 serial MIDI driver"
- + depends on HAS_IOPORT
- select SND_RAWMIDI
- help
- To include support for MIDI serial port interfaces, say Y here
- @@ -167,6 +169,7 @@ config SND_SERIAL_U16550
- config SND_MPU401
- tristate "Generic MPU-401 UART driver"
- + depends on HAS_IOPORT
- select SND_MPU401_UART
- help
- Say Y here to include support for MIDI ports compatible with
- diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
- index 6ffa48dd5983..f8159179e38d 100644
- --- a/sound/isa/Kconfig
- +++ b/sound/isa/Kconfig
- @@ -23,6 +23,7 @@ menuconfig SND_ISA
- bool "ISA sound devices"
- depends on ISA || COMPILE_TEST
- depends on ISA_DMA_API
- + depends on HAS_IOPORT
- default y
- help
- Support for sound devices connected via the ISA bus.
- diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
- index 93bc9bef7641..9f8f9e808cc6 100644
- --- a/sound/pci/Kconfig
- +++ b/sound/pci/Kconfig
- @@ -23,10 +23,10 @@ config SND_AD1889
- config SND_ALS300
- tristate "Avance Logic ALS300/ALS300+"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_PCM
- select SND_AC97_CODEC
- select SND_OPL3_LIB
- - depends on ZONE_DMA
- help
- Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
- @@ -35,6 +35,7 @@ config SND_ALS300
- config SND_ALS4000
- tristate "Avance Logic ALS4000"
- + depends on LEGACY_PCI
- depends on ISA_DMA_API
- select SND_OPL3_LIB
- select SND_MPU401_UART
- @@ -49,6 +50,7 @@ config SND_ALS4000
- config SND_ALI5451
- tristate "ALi M5451 PCI Audio Controller"
- + depends on LEGACY_PCI
- select SND_MPU401_UART
- select SND_AC97_CODEC
- depends on ZONE_DMA
- @@ -96,6 +98,7 @@ config SND_ATIIXP_MODEM
- config SND_AU8810
- tristate "Aureal Advantage"
- + depends on LEGACY_PCI
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- @@ -110,6 +113,7 @@ config SND_AU8810
- config SND_AU8820
- tristate "Aureal Vortex"
- + depends on LEGACY_PCI
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- @@ -123,6 +127,7 @@ config SND_AU8820
- config SND_AU8830
- tristate "Aureal Vortex 2"
- + depends on LEGACY_PCI
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- @@ -151,13 +156,13 @@ config SND_AW2
- config SND_AZT3328
- tristate "Aztech AZF3328 / PCI168"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_PCM
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select SND_TIMER
- - depends on ZONE_DMA
- help
- Say Y here to include support for Aztech AZF3328 (PCI168)
- soundcards.
- @@ -172,6 +177,7 @@ config SND_AZT3328
- config SND_BT87X
- tristate "Bt87x Audio Capture"
- + depends on LEGACY_PCI
- select SND_PCM
- help
- If you want to record audio from TV cards based on
- @@ -193,6 +199,7 @@ config SND_BT87X_OVERCLOCK
- config SND_CA0106
- tristate "SB Audigy LS / Live 24bit"
- + depends on LEGACY_PCI
- select SND_AC97_CODEC
- select SND_RAWMIDI
- select SND_VMASTER
- @@ -205,6 +212,7 @@ config SND_CA0106
- config SND_CMIPCI
- tristate "C-Media 8338, 8738, 8768, 8770"
- + depends on LEGACY_PCI
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_PCM
- @@ -221,6 +229,7 @@ config SND_OXYGEN_LIB
- config SND_OXYGEN
- tristate "C-Media 8786, 8787, 8788 (Oxygen)"
- + depends on LEGACY_PCI
- select SND_OXYGEN_LIB
- select SND_PCM
- select SND_MPU401_UART
- @@ -246,6 +255,7 @@ config SND_OXYGEN
- config SND_CS4281
- tristate "Cirrus Logic (Sound Fusion) CS4281"
- + depends on LEGACY_PCI
- select SND_OPL3_LIB
- select SND_RAWMIDI
- select SND_AC97_CODEC
- @@ -257,6 +267,7 @@ config SND_CS4281
- config SND_CS46XX
- tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
- + depends on LEGACY_PCI
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select FW_LOADER
- @@ -279,6 +290,7 @@ config SND_CS46XX_NEW_DSP
- config SND_CS5530
- tristate "CS5530 Audio"
- depends on ISA_DMA_API && (X86_32 || COMPILE_TEST)
- + depends on LEGACY_PCI
- select SND_SB16_DSP
- help
- Say Y here to include support for audio on Cyrix/NatSemi CS5530 chips.
- @@ -289,6 +301,7 @@ config SND_CS5530
- config SND_CS5535AUDIO
- tristate "CS5535/CS5536 Audio"
- depends on X86_32 || MIPS || COMPILE_TEST
- + depends on LEGACY_PCI
- select SND_PCM
- select SND_AC97_CODEC
- help
- @@ -306,6 +319,7 @@ config SND_CS5535AUDIO
- config SND_CTXFI
- tristate "Creative Sound Blaster X-Fi"
- + depends on LEGACY_PCI
- select SND_PCM
- help
- If you want to use soundcards based on Creative Sound Blastr X-Fi
- @@ -461,13 +475,13 @@ config SND_INDIGODJX
- config SND_EMU10K1
- tristate "Emu10k1 (SB Live!, Audigy, E-mu APS)"
- + depends on LEGACY_PCI && ZONE_DMA
- select FW_LOADER
- select SND_HWDEP
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select SND_TIMER
- select SND_SEQ_DEVICE if SND_SEQUENCER != n
- - depends on ZONE_DMA
- help
- Say Y to include support for Sound Blaster PCI 512, Live!,
- Audigy and E-mu APS (partially supported) soundcards.
- @@ -488,6 +502,7 @@ config SND_EMU10K1_SEQ
- config SND_EMU10K1X
- tristate "Emu10k1X (Dell OEM Version)"
- + depends on LEGACY_PCI
- select SND_AC97_CODEC
- select SND_RAWMIDI
- depends on ZONE_DMA
- @@ -500,6 +515,7 @@ config SND_EMU10K1X
- config SND_ENS1370
- tristate "(Creative) Ensoniq AudioPCI 1370"
- + depends on LEGACY_PCI
- select SND_RAWMIDI
- select SND_PCM
- help
- @@ -510,6 +526,7 @@ config SND_ENS1370
- config SND_ENS1371
- tristate "(Creative) Ensoniq AudioPCI 1371/1373"
- + depends on LEGACY_PCI
- select SND_RAWMIDI
- select SND_AC97_CODEC
- help
- @@ -521,10 +538,10 @@ config SND_ENS1371
- config SND_ES1938
- tristate "ESS ES1938/1946/1969 (Solo-1)"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- - depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on ESS Solo-1
- (ES1938, ES1946, ES1969) chips.
- @@ -534,9 +551,9 @@ config SND_ES1938
- config SND_ES1968
- tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_MPU401_UART
- select SND_AC97_CODEC
- - depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on ESS Maestro
- 1/2/2E chips.
- @@ -568,6 +585,7 @@ config SND_ES1968_RADIO
- config SND_FM801
- tristate "ForteMedia FM801"
- + depends on LEGACY_PCI
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- @@ -620,10 +638,10 @@ config SND_HDSPM
- config SND_ICE1712
- tristate "ICEnsemble ICE1712 (Envy24)"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_MPU401_UART
- select SND_AC97_CODEC
- select BITREVERSE
- - depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on the
- ICE1712 (Envy24) chip.
- @@ -639,6 +657,7 @@ config SND_ICE1712
- config SND_ICE1724
- tristate "ICE/VT1724/1720 (Envy24HT/PT)"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select SND_VMASTER
- @@ -711,6 +730,7 @@ config SND_LX6464ES
- config SND_MAESTRO3
- tristate "ESS Allegro/Maestro3"
- select SND_AC97_CODEC
- + depends on LEGACY_PCI
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on ESS Maestro 3
- @@ -752,6 +772,7 @@ config SND_NM256
- config SND_PCXHR
- tristate "Digigram PCXHR"
- + depends on LEGACY_PCI
- select FW_LOADER
- select SND_PCM
- select SND_HWDEP
- @@ -763,6 +784,7 @@ config SND_PCXHR
- config SND_RIPTIDE
- tristate "Conexant Riptide"
- + depends on LEGACY_PCI
- select FW_LOADER
- select SND_OPL3_LIB
- select SND_MPU401_UART
- @@ -807,6 +829,7 @@ config SND_RME9652
- config SND_SE6X
- tristate "Studio Evolution SE6X"
- depends on SND_OXYGEN=n && SND_VIRTUOSO=n # PCI ID conflict
- + depends on LEGACY_PCI
- select SND_OXYGEN_LIB
- select SND_PCM
- select SND_MPU401_UART
- @@ -826,10 +849,10 @@ config SND_SIS7019
- config SND_SONICVIBES
- tristate "S3 SonicVibes"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- - depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on the S3
- SonicVibes chip.
- @@ -839,9 +862,9 @@ config SND_SONICVIBES
- config SND_TRIDENT
- tristate "Trident 4D-Wave DX/NX; SiS 7018"
- + depends on LEGACY_PCI && ZONE_DMA
- select SND_MPU401_UART
- select SND_AC97_CODEC
- - depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on Trident
- 4D-Wave DX/NX or SiS 7018 chips.
- @@ -851,6 +874,7 @@ config SND_TRIDENT
- config SND_VIA82XX
- tristate "VIA 82C686A/B, 8233/8235 AC97 Controller"
- + depends on LEGACY_PCI
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- @@ -862,6 +886,7 @@ config SND_VIA82XX
- config SND_VIA82XX_MODEM
- tristate "VIA 82C686A/B, 8233 based Modems"
- + depends on LEGACY_PCI
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated MC97 modem on
- @@ -872,6 +897,7 @@ config SND_VIA82XX_MODEM
- config SND_VIRTUOSO
- tristate "Asus Virtuoso 66/100/200 (Xonar)"
- + depends on LEGACY_PCI
- select SND_OXYGEN_LIB
- select SND_PCM
- select SND_MPU401_UART
- @@ -888,6 +914,7 @@ config SND_VIRTUOSO
- config SND_VX222
- tristate "Digigram VX222"
- + depends on LEGACY_PCI
- select SND_VX_LIB
- help
- Say Y here to include support for Digigram VX222 soundcards.
- @@ -897,6 +924,7 @@ config SND_VX222
- config SND_YMFPCI
- tristate "Yamaha YMF724/740/744/754"
- + depends on LEGACY_PCI
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement