Files
linux/drivers
H Hartley Sweeten 4085e93b9f staging: comedi: 8255: refactor how the (*io) function works
Currently, all users of is module that use the default (*io) function
pass an 'iobase' to subdev_8255_init() of the form:

  dev->iobase + OFFSET_TO_8255_BASE_REG

Now that the (*io) callback includes the comedi_device 'dev' pointer
the 'dev->iobase' does not need to be included.

Modify the default (*io) function, subdev_8255_io(), to automatically
add the dev->iobase to the address when reading/writing the port.

For aesthetics, rename the subdevice private data member to 'regbase'.
Also, rename the local variables in this module that are used to
access this member.

Add a comment in dev_8255_attach() about the 'iobase' that is passed
to subdev_8255_init(). For manually attached 8255 devices the io
region is requested with __comedi_request_region() which does not
set dev->iobase. For these devices the 'regbase' is actually the
'iobase'.

Remove the, now unnecessary, dev->iobase from all the callers of
subdev_8255_init(). There are a couple drivers that only passed the
dev->iobase. For those drivers pass a 'regbase' of 0x00.

Note that the das16m1 driver is a bit goofy. The devpriv->extra_iobase
is requested using __comedi_request_region() which does not set the
dev->iobase. But the starting address passed is dev->iobase + DAS16M1_82C55
so a 'regbase' of DAS16M1_82C55 is passed to subdev_8255_init().

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>
2014-08-16 12:23:26 -07:00
..
2014-07-23 10:18:07 -07:00
2014-07-23 00:51:30 +02:00
2014-08-05 21:16:46 -07:00
2014-08-15 17:06:40 -04:00
2014-08-08 15:57:28 -07:00
2014-07-30 00:23:09 +02:00
2014-07-17 14:58:43 +02:00
2014-06-26 10:48:23 +01:00
2014-07-13 13:16:50 -07:00
2014-07-13 15:26:47 -07:00
2014-06-23 12:38:08 -04:00
2014-07-11 10:38:02 +02:00