mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 00:39:30 -04:00
staging: comedi: amplc_dio200: set dev->iobase before common attach
Don't pass the I/O base address to `dio200_common_attach()`. The only thing it does with it is set `dev->iobase` to the passed in value. Do that before calling `dio200_common_attach()` in order to simplify upcoming support for different register access methods. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c10aa03551
commit
9bfa0d548c
@@ -1427,8 +1427,8 @@ static void dio200_report_attach(struct comedi_device *dev, unsigned int irq)
|
||||
dev_info(dev->class_dev, "%s %sattached\n", dev->board_name, tmpbuf);
|
||||
}
|
||||
|
||||
static int dio200_common_attach(struct comedi_device *dev, unsigned long iobase,
|
||||
unsigned int irq, unsigned long req_irq_flags)
|
||||
static int dio200_common_attach(struct comedi_device *dev, unsigned int irq,
|
||||
unsigned long req_irq_flags)
|
||||
{
|
||||
const struct dio200_board *thisboard = comedi_board(dev);
|
||||
struct dio200_private *devpriv = dev->private;
|
||||
@@ -1439,7 +1439,6 @@ static int dio200_common_attach(struct comedi_device *dev, unsigned long iobase,
|
||||
int ret;
|
||||
|
||||
devpriv->intr_sd = -1;
|
||||
dev->iobase = iobase;
|
||||
dev->board_name = thisboard->name;
|
||||
|
||||
ret = comedi_alloc_subdevices(dev, layout->n_subdevs);
|
||||
@@ -1527,7 +1526,8 @@ static int dio200_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
ret = dio200_request_region(dev, iobase, DIO200_IO_SIZE);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return dio200_common_attach(dev, iobase, irq, 0);
|
||||
dev->iobase = iobase;
|
||||
return dio200_common_attach(dev, irq, 0);
|
||||
} else if (is_pci_board(thisboard)) {
|
||||
dev_err(dev->class_dev,
|
||||
"Manual configuration of PCI board '%s' is not supported\n",
|
||||
@@ -1549,7 +1549,6 @@ static int __devinit dio200_attach_pci(struct comedi_device *dev,
|
||||
struct pci_dev *pci_dev)
|
||||
{
|
||||
struct dio200_private *devpriv;
|
||||
unsigned long iobase;
|
||||
int ret;
|
||||
|
||||
if (!DO_PCI)
|
||||
@@ -1574,8 +1573,8 @@ static int __devinit dio200_attach_pci(struct comedi_device *dev,
|
||||
"error! cannot enable PCI device and request regions!\n");
|
||||
return ret;
|
||||
}
|
||||
iobase = pci_resource_start(pci_dev, 2);
|
||||
return dio200_common_attach(dev, iobase, pci_dev->irq, IRQF_SHARED);
|
||||
dev->iobase = pci_resource_start(pci_dev, 2);
|
||||
return dio200_common_attach(dev, pci_dev->irq, IRQF_SHARED);
|
||||
}
|
||||
|
||||
static void dio200_detach(struct comedi_device *dev)
|
||||
|
||||
Reference in New Issue
Block a user