summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorIan Abbott <abbotti@mev.co.uk>2012-10-24 16:48:00 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-24 15:25:12 -0700
commit9bfa0d548c0ca427cba4a1c26658f870cfda64ca (patch)
tree342b7544e628a737ca6bd7fdbe19aae187298143 /drivers
parentc10aa035512f9c5092d7044676d3f3d14739f8d8 (diff)
downloadlwn-9bfa0d548c0ca427cba4a1c26658f870cfda64ca.tar.gz
lwn-9bfa0d548c0ca427cba4a1c26658f870cfda64ca.zip
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/comedi/drivers/amplc_dio200.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/staging/comedi/drivers/amplc_dio200.c b/drivers/staging/comedi/drivers/amplc_dio200.c
index 4fe2b2b754cd..1b734dc51b33 100644
--- a/drivers/staging/comedi/drivers/amplc_dio200.c
+++ b/drivers/staging/comedi/drivers/amplc_dio200.c
@@ -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)