From: H Hartley Sweeten Date: Tue, 12 Aug 2014 18:41:25 +0000 (-0700) Subject: staging: comedi: 8255_pci: tidy up pci_8255_mmio() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2b1a3fcfdf4067290cafffb5bc348c158e170fd7;p=openwrt%2Fstaging%2Fblogic.git 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 Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- 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);