linux-stable/drivers/comedi/drivers
Ian Abbott 88dd479774 comedi: amplc_dio200_common: Conditionally remove I/O port support
In a future patch, the port I/O functions (`inb()`, `outb()`, and
friends will only be declared in the `HAS_IOPORT` configuration option
is enabled.

The amplc_dio200_common module is used by the amplc_dio200 module (for
ISA cards) and the amplc_dio200_pci module (for PCI and PCI Express
cards).  It supports both port I/O and memory-mapped I/O.

Port I/O and memory-mapped I/O is confined to the `dio200___read8()`,
`dio200___read32()`, `dio200___write8()` and `dio200___write32()`
functions.  Conditionally compile two versions of those functions.  If
the `CONFIG_HAS_IOPORT` macro is defined, call either the port I/O or
memory mapped I/O functions depending on the `mmio` member of the
`struct comedi_device`.  If the `CONFIG_HAS_IOPORT` macro is undefined
only call the memory-mapped I/O functions.

Add a run-time check to `amplc_dio200_common_attach()` to return an
error if the device wants to use port I/O when the `CONFIG_HAS_IOPORT`
macro is undefined.

The changes allow the module to be built even if the port I/O functions
have not been declared.

Cc: Arnd Bergmann <arnd@kernel.org>
Cc: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Link: https://lore.kernel.org/r/20230913170712.111719-13-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-05 13:34:04 +02:00
..
ni_routing comedi: ni_routing: tools: Update due to moved COMEDI headers 2021-11-26 16:48:59 +01:00
tests
8255.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
8255_pci.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
addi_apci_3xxx.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_16xx.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_1032.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_1500.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_1516.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_1564.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_2032.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_2200.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_3120.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_apci_3501.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_tcw.h
addi_watchdog.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
addi_watchdog.h
adl_pci7x3x.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adl_pci6208.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adl_pci8164.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adl_pci9111.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
adl_pci9118.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
adq12b.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adv_pci1710.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
adv_pci1720.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adv_pci1723.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adv_pci1724.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
adv_pci1760.c comedi: adv_pci1760: Fix PWM instruction handling 2023-01-19 17:24:47 +01:00
adv_pci_dio.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
aio_aio12_8.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
aio_iiro_16.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
amcc_s5933.h
amplc_dio200.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
amplc_dio200.h
amplc_dio200_common.c comedi: amplc_dio200_common: Conditionally remove I/O port support 2023-10-05 13:34:04 +02:00
amplc_dio200_pci.c comedi: amplc_dio200_pci: Conditionally remove devices that use port I/O 2023-10-05 13:34:04 +02:00
amplc_pc236.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
amplc_pc236.h
amplc_pc236_common.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
amplc_pc263.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
amplc_pci224.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
amplc_pci230.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
amplc_pci236.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
amplc_pci263.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
c6xdigio.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
cb_das16_cs.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
cb_pcidas.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
cb_pcidas64.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
cb_pcidda.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
cb_pcimdas.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
cb_pcimdda.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
comedi_8254.c comedi: comedi_8254: Conditionally remove I/O port support 2023-10-05 13:34:04 +02:00
comedi_8255.c comedi: comedi_8255: Conditionally remove I/O port support 2023-10-05 13:34:04 +02:00
comedi_bond.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
comedi_isadma.c PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
comedi_parport.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
comedi_test.c comedi: make all 'class' structures const 2023-06-23 10:29:02 +02:00
contec_pci_dio.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dac02.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
daqboard2000.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
das08.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
das08.h
das08_cs.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
das08_isa.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
das08_pci.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
das16.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
das16m1.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
das800.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
das1800.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
das6402.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
dmm32at.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
dt282x.c comedi: Move "comedi_isadma.h" to <linux/comedi/comedi_isadma.h> 2021-11-26 16:48:59 +01:00
dt2801.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dt2811.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dt2814.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dt2815.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dt2817.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dt3000.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dt9812.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
dyna_pci10xx.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
fl512.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
gsc_hpdi.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
icp_multi.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ii_pci20kc.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
jr3_pci.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
jr3_pci.h
ke_counter.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
Makefile
me4000.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
me_daq.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
mf6x4.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
mite.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
mite.h
mpc624.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
multiq3.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_65xx.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_660x.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_670x.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_6527.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_at_a2150.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
ni_at_ao.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
ni_atmio.c comedi: Move and rename "8255.h" to <linux/comedi/comedi_8255.h> 2021-11-26 16:48:59 +01:00
ni_atmio16d.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
ni_daq_700.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_daq_dio24.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
ni_labpc.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_labpc.h
ni_labpc_common.c comedi: ni_labpc_common: Conditionally remove I/O port support 2023-10-05 13:34:04 +02:00
ni_labpc_cs.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_labpc_isadma.c comedi: Move "comedi_isadma.h" to <linux/comedi/comedi_isadma.h> 2021-11-26 16:48:59 +01:00
ni_labpc_isadma.h
ni_labpc_pci.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_labpc_regs.h
ni_mio_common.c comedi: ni_mio_common: Conditionally use I/O port or MMIO 2023-10-05 13:34:04 +02:00
ni_mio_cs.c comedi: Move and rename "8255.h" to <linux/comedi/comedi_8255.h> 2021-11-26 16:48:59 +01:00
ni_pcidio.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_pcimio.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_routes.c comedi: drivers: ni_routes: Use strcmp() instead of memcmp() 2022-02-25 12:08:52 +01:00
ni_routes.h comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_stc.h
ni_tio.c comedi: drivers: ni_tio: Fix slightly broken kernel-doc and demote others 2021-05-21 14:38:44 +02:00
ni_tio.h comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
ni_tio_internal.h
ni_tiocmd.c
ni_usb6501.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
pcl711.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
pcl724.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
pcl726.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
pcl730.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
pcl812.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
pcl816.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
pcl818.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
pcm3724.c comedi: comedi_8255: Rework subdevice initialization functions 2023-10-05 13:34:04 +02:00
pcmad.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
pcmda12.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
pcmmio.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
pcmuio.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
plx9052.h
plx9080.h
quatech_daqp_cs.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
rtd520.c comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init() 2023-10-05 13:34:04 +02:00
rti800.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
rti802.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
s526.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
s626.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
s626.h
ssv_dnp.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
usbdux.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
usbduxfast.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
usbduxsigma.c comedi: Move the main COMEDI headers 2021-11-26 16:48:59 +01:00
vmk80xx.c comedi: vmk80xx: fix expression for tx buffer size 2022-06-10 15:21:23 +02:00
z8536.h