comedi: comedi_8255: Rework subdevice initialization functions
authorIan Abbott <abbotti@mev.co.uk>
Wed, 13 Sep 2023 17:07:05 +0000 (18:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Oct 2023 11:34:04 +0000 (13:34 +0200)
commit5c57b1ccecc72738d4b9be2dfcdfb9001be76bd7
treeea544c1e17557a47e016973d38895253c54ba444
parent0ccb86a690c52d047b6cafa0f7f99805bf6eeb4e
comedi: comedi_8255: Rework subdevice initialization functions

Comedi drivers can initialize an 8255 subdevice in I/O space by calling
`subdev_8255_init()`, or in memory-mapped I/O space by calling
`subdev_8255_mm_init()`, or by supplying a call-back function pointer
and context to either of those functions.  Change it so that a new
function `subdev_8255_cb_init()` shall be called instead when supplying
a callback function and context, and remove the call-back function
parameter from `subdev_8255_init()` and `subdev_8255_mm_init()`.

Also rename `subdev_8255_init()` to `subdev_8255_io_init()`.  The
parameters are changing, so might as well rename it at the same time.

Also rename the `regbase` member of `struct subdev_8255_private` to
`context` since this holds the context for the call-back function call.

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-7-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
24 files changed:
drivers/comedi/drivers/8255.c
drivers/comedi/drivers/8255_pci.c
drivers/comedi/drivers/adv_pci_dio.c
drivers/comedi/drivers/aio_aio12_8.c
drivers/comedi/drivers/amplc_pc236_common.c
drivers/comedi/drivers/amplc_pci230.c
drivers/comedi/drivers/cb_pcidas.c
drivers/comedi/drivers/cb_pcidas64.c
drivers/comedi/drivers/cb_pcidda.c
drivers/comedi/drivers/cb_pcimdas.c
drivers/comedi/drivers/cb_pcimdda.c
drivers/comedi/drivers/comedi_8255.c
drivers/comedi/drivers/daqboard2000.c
drivers/comedi/drivers/das08.c
drivers/comedi/drivers/das16.c
drivers/comedi/drivers/das16m1.c
drivers/comedi/drivers/dmm32at.c
drivers/comedi/drivers/ni_atmio16d.c
drivers/comedi/drivers/ni_daq_dio24.c
drivers/comedi/drivers/ni_labpc_common.c
drivers/comedi/drivers/ni_mio_common.c
drivers/comedi/drivers/pcl724.c
drivers/comedi/drivers/pcm3724.c
include/linux/comedi/comedi_8255.h