mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 22:36:49 +07:00
staging: comedi: 8255_pci: use pci_ioremap_bar()
Use pci_ioremap_bar() to ioremap the PCI resources. That function just takes the pci device and a bar number. It also has some additional sanity checks to make sure the bar is actually a memory resource. Refactor the code a bit. The dev->iobase only needs to be set when the board does not use memory mapped I/O. And the 'iobase' passed to subdev_8255_init() is an unsigned long. 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>
This commit is contained in:
parent
55d2a20892
commit
4353552636
@ -187,8 +187,6 @@ static int pci_8255_auto_attach(struct comedi_device *dev,
|
||||
const struct pci_8255_boardinfo *board = NULL;
|
||||
struct pci_8255_private *devpriv;
|
||||
struct comedi_subdevice *s;
|
||||
resource_size_t iobase;
|
||||
unsigned long len;
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
@ -207,15 +205,14 @@ static int pci_8255_auto_attach(struct comedi_device *dev,
|
||||
ret = comedi_pci_enable(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
iobase = pci_resource_start(pcidev, board->dio_badr);
|
||||
len = pci_resource_len(pcidev, board->dio_badr);
|
||||
|
||||
if (board->is_mmio) {
|
||||
devpriv->mmio_base = ioremap(iobase, len);
|
||||
devpriv->mmio_base = pci_ioremap_bar(pcidev, board->dio_badr);
|
||||
if (!devpriv->mmio_base)
|
||||
return -ENOMEM;
|
||||
} else {
|
||||
dev->iobase = pci_resource_start(pcidev, board->dio_badr);
|
||||
}
|
||||
dev->iobase = iobase;
|
||||
|
||||
/*
|
||||
* One, two, or four subdevices are setup by this driver depending
|
||||
@ -227,6 +224,8 @@ static int pci_8255_auto_attach(struct comedi_device *dev,
|
||||
return ret;
|
||||
|
||||
for (i = 0; i < board->n_8255; i++) {
|
||||
unsigned long iobase;
|
||||
|
||||
s = &dev->subdevices[i];
|
||||
if (board->is_mmio) {
|
||||
iobase = (unsigned long)(devpriv->mmio_base + (i * 4));
|
||||
|
Loading…
Reference in New Issue
Block a user