Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b1a3fcf authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

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: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent da261e1d
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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);