[00/13] comedi: Re-do HAS_IOPORT dependencies

Message ID 20230913112032.90618-1-abbotti@mev.co.uk
Headers
Series comedi: Re-do HAS_IOPORT dependencies |

Message

Ian Abbott Sept. 13, 2023, 11:20 a.m. UTC
  Commit b5c75b68b7de ("comedi: add HAS_IOPORT dependencies") was reverted
because it made it impossible to select configuration options that
depend on the COMEDI_8254, COMEDI_DAS08, COMEDI_NI_LABPC, or
COMEDI_AMPLC_DIO200 options due to changing 'select' directives to
'depends on' directives and there being no other way to select those
codependent configuration options.

This patch series conditionally removes port I/O support from various
comedi modules so they still be built when a future patch removes the
port I/O functions (inb(), outb() and friends) unless the HAS_IOPORT
configuration option is selected.  The final patch 13 adds HAS_IOPORT
dependencies to the configuration options as in the reverted patch, but
there are now fewer options that need to depend on HAS_IOPORT, and the
'select' directives have not been replaced with 'depends on' directives.

01) comedi: Correct dependencies for COMEDI_NI_PCIDIO
02) comedi: comedi_8254: Use a call-back function for register access
03) comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init()
04) comedi: comedi_8254: Conditionally remove I/O port support
05) comedi: 8255_pci: Conditionally remove devices that use port I/O
06) comedi: comedi_8255: Rework subdevice initialization functions
07) comedi: comedi_8255: Conditionally remove I/O port support
08) comedi: ni_labpc_common: Conditionally remove I/O port support
09) comedi: ni_mio_common: Conditionally use I/O port or MMIO
10) comedi: amplc_dio200_pci: Conditionally remove devices that use port I/O
11) comedi: amplc_dio200_common: Refactor register access functions
12) comedi: amplc_dio200_common: Conditionally remove I/O port support
13) comedi: add HAS_IOPORT dependencies again

 drivers/comedi/Kconfig                       |  45 +++++-
 drivers/comedi/drivers.c                     |   3 +-
 drivers/comedi/drivers/8255.c                |   2 +-
 drivers/comedi/drivers/8255_pci.c            |  15 +-
 drivers/comedi/drivers/adl_pci9111.c         |   8 +-
 drivers/comedi/drivers/adl_pci9118.c         |   8 +-
 drivers/comedi/drivers/adv_pci1710.c         |   8 +-
 drivers/comedi/drivers/adv_pci_dio.c         |  14 +-
 drivers/comedi/drivers/aio_aio12_8.c         |  10 +-
 drivers/comedi/drivers/amplc_dio200_common.c | 104 +++++++++---
 drivers/comedi/drivers/amplc_dio200_pci.c    |  12 +-
 drivers/comedi/drivers/amplc_pc236_common.c  |   2 +-
 drivers/comedi/drivers/amplc_pci224.c        |   8 +-
 drivers/comedi/drivers/amplc_pci230.c        |  10 +-
 drivers/comedi/drivers/cb_das16_cs.c         |   8 +-
 drivers/comedi/drivers/cb_pcidas.c           |  23 +--
 drivers/comedi/drivers/cb_pcidas64.c         |   7 +-
 drivers/comedi/drivers/cb_pcidda.c           |   2 +-
 drivers/comedi/drivers/cb_pcimdas.c          |  12 +-
 drivers/comedi/drivers/cb_pcimdda.c          |   2 +-
 drivers/comedi/drivers/comedi_8254.c         | 234 ++++++++++++++++++---------
 drivers/comedi/drivers/comedi_8255.c         | 123 +++++++-------
 drivers/comedi/drivers/daqboard2000.c        |   4 +-
 drivers/comedi/drivers/das08.c               |  11 +-
 drivers/comedi/drivers/das16.c               |  10 +-
 drivers/comedi/drivers/das16m1.c             |  22 +--
 drivers/comedi/drivers/das1800.c             |   8 +-
 drivers/comedi/drivers/das6402.c             |   8 +-
 drivers/comedi/drivers/das800.c              |   8 +-
 drivers/comedi/drivers/dmm32at.c             |   3 +-
 drivers/comedi/drivers/me4000.c              |   6 +-
 drivers/comedi/drivers/ni_at_a2150.c         |   8 +-
 drivers/comedi/drivers/ni_at_ao.c            |   8 +-
 drivers/comedi/drivers/ni_atmio16d.c         |   2 +-
 drivers/comedi/drivers/ni_daq_dio24.c        |   2 +-
 drivers/comedi/drivers/ni_labpc_common.c     |  51 +++---
 drivers/comedi/drivers/ni_mio_common.c       |  74 ++++++---
 drivers/comedi/drivers/pcl711.c              |   8 +-
 drivers/comedi/drivers/pcl724.c              |   6 +-
 drivers/comedi/drivers/pcl812.c              |  10 +-
 drivers/comedi/drivers/pcl816.c              |   8 +-
 drivers/comedi/drivers/pcl818.c              |   8 +-
 drivers/comedi/drivers/pcm3724.c             |   2 +-
 drivers/comedi/drivers/rtd520.c              |   6 +-
 include/linux/comedi/comedi_8254.h           |  51 ++++--
 include/linux/comedi/comedi_8255.h           |  24 ++-
 46 files changed, 649 insertions(+), 359 deletions(-)
  

Comments

Ian Abbott Sept. 13, 2023, 11:26 a.m. UTC | #1
On 13/09/2023 12:20, Ian Abbott wrote:
> Commit b5c75b68b7de ("comedi: add HAS_IOPORT dependencies") was reverted
> because it made it impossible to select configuration options that
> depend on the COMEDI_8254, COMEDI_DAS08, COMEDI_NI_LABPC, or
> COMEDI_AMPLC_DIO200 options due to changing 'select' directives to
> 'depends on' directives and there being no other way to select those
> codependent configuration options.
> 
> This patch series conditionally removes port I/O support from various
> comedi modules so they still be built when a future patch removes the
> port I/O functions (inb(), outb() and friends) unless the HAS_IOPORT
> configuration option is selected.  The final patch 13 adds HAS_IOPORT
> dependencies to the configuration options as in the reverted patch, but
> there are now fewer options that need to depend on HAS_IOPORT, and the
> 'select' directives have not been replaced with 'depends on' directives.
> 
> 01) comedi: Correct dependencies for COMEDI_NI_PCIDIO
> 02) comedi: comedi_8254: Use a call-back function for register access
> 03) comedi: comedi_8254: Replace comedi_8254_init() and comedi_8254_mm_init()
> 04) comedi: comedi_8254: Conditionally remove I/O port support
> 05) comedi: 8255_pci: Conditionally remove devices that use port I/O
> 06) comedi: comedi_8255: Rework subdevice initialization functions
> 07) comedi: comedi_8255: Conditionally remove I/O port support
> 08) comedi: ni_labpc_common: Conditionally remove I/O port support
> 09) comedi: ni_mio_common: Conditionally use I/O port or MMIO
> 10) comedi: amplc_dio200_pci: Conditionally remove devices that use port I/O
> 11) comedi: amplc_dio200_common: Refactor register access functions
> 12) comedi: amplc_dio200_common: Conditionally remove I/O port support
> 13) comedi: add HAS_IOPORT dependencies again
> 
>   drivers/comedi/Kconfig                       |  45 +++++-
>   drivers/comedi/drivers.c                     |   3 +-
>   drivers/comedi/drivers/8255.c                |   2 +-
>   drivers/comedi/drivers/8255_pci.c            |  15 +-
>   drivers/comedi/drivers/adl_pci9111.c         |   8 +-
>   drivers/comedi/drivers/adl_pci9118.c         |   8 +-
>   drivers/comedi/drivers/adv_pci1710.c         |   8 +-
>   drivers/comedi/drivers/adv_pci_dio.c         |  14 +-
>   drivers/comedi/drivers/aio_aio12_8.c         |  10 +-
>   drivers/comedi/drivers/amplc_dio200_common.c | 104 +++++++++---
>   drivers/comedi/drivers/amplc_dio200_pci.c    |  12 +-
>   drivers/comedi/drivers/amplc_pc236_common.c  |   2 +-
>   drivers/comedi/drivers/amplc_pci224.c        |   8 +-
>   drivers/comedi/drivers/amplc_pci230.c        |  10 +-
>   drivers/comedi/drivers/cb_das16_cs.c         |   8 +-
>   drivers/comedi/drivers/cb_pcidas.c           |  23 +--
>   drivers/comedi/drivers/cb_pcidas64.c         |   7 +-
>   drivers/comedi/drivers/cb_pcidda.c           |   2 +-
>   drivers/comedi/drivers/cb_pcimdas.c          |  12 +-
>   drivers/comedi/drivers/cb_pcimdda.c          |   2 +-
>   drivers/comedi/drivers/comedi_8254.c         | 234 ++++++++++++++++++---------
>   drivers/comedi/drivers/comedi_8255.c         | 123 +++++++-------
>   drivers/comedi/drivers/daqboard2000.c        |   4 +-
>   drivers/comedi/drivers/das08.c               |  11 +-
>   drivers/comedi/drivers/das16.c               |  10 +-
>   drivers/comedi/drivers/das16m1.c             |  22 +--
>   drivers/comedi/drivers/das1800.c             |   8 +-
>   drivers/comedi/drivers/das6402.c             |   8 +-
>   drivers/comedi/drivers/das800.c              |   8 +-
>   drivers/comedi/drivers/dmm32at.c             |   3 +-
>   drivers/comedi/drivers/me4000.c              |   6 +-
>   drivers/comedi/drivers/ni_at_a2150.c         |   8 +-
>   drivers/comedi/drivers/ni_at_ao.c            |   8 +-
>   drivers/comedi/drivers/ni_atmio16d.c         |   2 +-
>   drivers/comedi/drivers/ni_daq_dio24.c        |   2 +-
>   drivers/comedi/drivers/ni_labpc_common.c     |  51 +++---
>   drivers/comedi/drivers/ni_mio_common.c       |  74 ++++++---
>   drivers/comedi/drivers/pcl711.c              |   8 +-
>   drivers/comedi/drivers/pcl724.c              |   6 +-
>   drivers/comedi/drivers/pcl812.c              |  10 +-
>   drivers/comedi/drivers/pcl816.c              |   8 +-
>   drivers/comedi/drivers/pcl818.c              |   8 +-
>   drivers/comedi/drivers/pcm3724.c             |   2 +-
>   drivers/comedi/drivers/rtd520.c              |   6 +-
>   include/linux/comedi/comedi_8254.h           |  51 ++++--
>   include/linux/comedi/comedi_8255.h           |  24 ++-
>   46 files changed, 649 insertions(+), 359 deletions(-)
> 

Sorry people, I need to repost this series with more Cc: entries because 
I neglected the fact that the git send-email --cc option causes all cc 
lines in the .gitconfig to be ignored!