Skip to content

Commit

Permalink
staging: comedi: amplc_dio200: set dev->iobase before common attach
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ian Abbott authored and Greg Kroah-Hartman committed Oct 24, 2012
1 parent c10aa03 commit 9bfa0d5
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions drivers/staging/comedi/drivers/amplc_dio200.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down Expand Up @@ -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",
Expand All @@ -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)
Expand All @@ -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)
Expand Down

0 comments on commit 9bfa0d5

Please sign in to comment.