OSDN Git Service

staging: comedi: 8255: handle memory mapped io
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 12 Aug 2014 18:41:28 +0000 (11:41 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Aug 2014 19:23:26 +0000 (12:23 -0700)
commit5c19084bbd4ef7c0a10e5b01145b940edf872a63
tree846edb1456a00e9a471e29370f63bdee79bff1dc
parent9067983867516a425d3382cb2eeeb234a2e8e3b6
staging: comedi: 8255: handle memory mapped io

The drivers that use this module with memory mapped io all have the
ioremap'ed base address stored in the comedi_device 'mmio' member.

Introduce a default (*io) function that does 8-bit memory mapped io.

Modify subdev_8255_init() so that it takes a flag parameter indicating
if the io is port or memory mapped. Make the function static and rename
it to __subdev_8255_init().

Introduce two exported wrappers for __subdev_8255_init():

  subdev_8255_init() - for drivers that do 8-bit port io
  subdev_8255_mm_init() - for drivers that do 8-bit memory mapped io

Use subdev_8255_mm_init() in the drivers that do 8-bit memory mapped io
and remove the private (*io) functions.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/8255.c
drivers/staging/comedi/drivers/8255.h
drivers/staging/comedi/drivers/8255_pci.c
drivers/staging/comedi/drivers/cb_pcidas64.c
drivers/staging/comedi/drivers/ni_labpc.c