summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2014-08-12 11:41:25 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-08-16 12:23:26 -0700
commit2b1a3fcfdf4067290cafffb5bc348c158e170fd7 (patch)
treef60a286645c0174c78dae0074a8cf3b5e5618b82
parentda261e1d38f5ed4baaebc45f51e628e7d84a2560 (diff)
staging: comedi: 8255_pci: tidy up pci_8255_mmio()
The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (i * 4). 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>
-rw-r--r--drivers/staging/comedi/drivers/8255_pci.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/staging/comedi/drivers/8255_pci.c b/drivers/staging/comedi/drivers/8255_pci.c
index cee3d18370fa..1a3deec57381 100644
--- a/drivers/staging/comedi/drivers/8255_pci.c
+++ b/drivers/staging/comedi/drivers/8255_pci.c
@@ -193,13 +193,11 @@ static int pci_8255_mite_init(struct pci_dev *pcidev)
static int pci_8255_mmio(struct comedi_device *dev,
int dir, int port, int data, unsigned long iobase)
{
- void __iomem *mmio_base = (void __iomem *)iobase;
-
if (dir) {
- writeb(data, mmio_base + port);
+ writeb(data, dev->mmio + iobase + port);
return 0;
}
- return readb(mmio_base + port);
+ return readb(dev->mmio + iobase + port);
}
static int pci_8255_auto_attach(struct comedi_device *dev,
@@ -253,8 +251,7 @@ static int pci_8255_auto_attach(struct comedi_device *dev,
s = &dev->subdevices[i];
if (is_mmio) {
- iobase = (unsigned long)(dev->mmio + (i * 4));
- ret = subdev_8255_init(dev, s, pci_8255_mmio, iobase);
+ ret = subdev_8255_init(dev, s, pci_8255_mmio, i * 4);
} else {
iobase = dev->iobase + (i * 4);
ret = subdev_8255_init(dev, s, NULL, iobase);