staging: comedi: amplc_pc236: don't check bus type in attach
Since the legacy attach routine `pc236_attach()` is only called for board names matching an entry in our array of ISA boards `pc236_isa_boards[]`, and it is reasonable to expect all elements of `pc236_isa_boards[]` to have their `bustype` member initialized correctly to `isa_bustype`, don't bother checking the bus type in `pc236_attach()`. Add `if (!DO_ISA) return -EINVAL` to optimize out the remainder of the function if `CONFIG_COMEDI_AMPLC_PC236_ISA` is not defined. Similarly, don't bother checking the bus type in `pc236_find_pci_board()` as it is reasonable to expect all elements of `pc236_pci_boards[]` to have their `bustype` member initialized correctly to `pci_bustype`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
22c39196b6
commit
ffe2d9fd49
1 changed files with 8 additions and 18 deletions
|
@ -129,8 +129,7 @@ static const struct pc236_board *pc236_find_pci_board(struct pci_dev *pci_dev)
|
|||
unsigned int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(pc236_pci_boards); i++)
|
||||
if (is_pci_board(&pc236_pci_boards[i]) &&
|
||||
pci_dev->device == pc236_pci_boards[i].devid)
|
||||
if (pci_dev->device == pc236_pci_boards[i].devid)
|
||||
return &pc236_pci_boards[i];
|
||||
return NULL;
|
||||
}
|
||||
|
@ -349,30 +348,21 @@ static int pc236_common_attach(struct comedi_device *dev, unsigned long iobase,
|
|||
|
||||
static int pc236_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||
{
|
||||
const struct pc236_board *thisboard = comedi_board(dev);
|
||||
struct pc236_private *devpriv;
|
||||
int ret;
|
||||
|
||||
if (!DO_ISA)
|
||||
return -EINVAL;
|
||||
|
||||
devpriv = comedi_alloc_devpriv(dev, sizeof(*devpriv));
|
||||
if (!devpriv)
|
||||
return -ENOMEM;
|
||||
|
||||
/* Process options according to bus type. */
|
||||
if (is_isa_board(thisboard)) {
|
||||
ret = comedi_request_region(dev, it->options[0], 0x4);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return pc236_common_attach(dev, dev->iobase, it->options[1], 0);
|
||||
} else if (is_pci_board(thisboard)) {
|
||||
dev_err(dev->class_dev,
|
||||
"Manual configuration of PCI board '%s' is not supported\n",
|
||||
thisboard->name);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
dev_err(dev->class_dev, "BUG! cannot determine board type!\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static int pc236_auto_attach(struct comedi_device *dev,
|
||||
|
|
Loading…
Reference in a new issue