From b4eafd11351d90a652657cc2a12728c51000d5e3 Mon Sep 17 00:00:00 2001 From: Ian Abbott Date: Fri, 25 Jul 2014 10:04:56 +0100 Subject: [PATCH] staging: comedi: amplc_pc236: Simplify PCI board look-up Since only a single PCI board is supported by the driver, there is no need to call `pc236_find_pci_board()` to find the a board entry with matching PCI device ID in `pc236_pci_boards[]`. Just point to the entry directly and remove the look-up function. In fact, there is no reason for `pc236_pci_boards[]` to be an array, so change it to a non-array variable and rename it to `pc236_pci_board`. Also, the `devid` member of `struct pc236_board` is no longer needed as it was only used by the look-up function, so remove it. Signed-off-by: Ian Abbott Reviewed-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/amplc_pc236.c | 29 +++----------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/drivers/staging/comedi/drivers/amplc_pc236.c b/drivers/staging/comedi/drivers/amplc_pc236.c index 51c22f9a9af1..1aae066f6160 100644 --- a/drivers/staging/comedi/drivers/amplc_pc236.c +++ b/drivers/staging/comedi/drivers/amplc_pc236.c @@ -85,7 +85,6 @@ enum pc236_bustype { isa_bustype, pci_bustype }; struct pc236_board { const char *name; - unsigned short devid; enum pc236_bustype bustype; }; @@ -96,12 +95,9 @@ static const struct pc236_board pc236_isa_boards[] = { }, }; -static const struct pc236_board pc236_pci_boards[] = { - { - .name = "pci236", - .devid = PCI_DEVICE_ID_AMPLICON_PCI236, - .bustype = pci_bustype, - }, +static const struct pc236_board pc236_pci_board = { + .name = "pci236", + .bustype = pci_bustype, }; struct pc236_private { @@ -121,19 +117,6 @@ static inline bool is_pci_board(const struct pc236_board *board) return DO_PCI && board->bustype == pci_bustype; } -/* - * This function looks for a board matching the supplied PCI device. - */ -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 (pci_dev->device == pc236_pci_boards[i].devid) - return &pc236_pci_boards[i]; - return NULL; -} - /* * This function is called to mark the interrupt as disabled (no command * configured on subdevice 1) and to physically disable the interrupt @@ -382,11 +365,7 @@ static int pc236_auto_attach(struct comedi_device *dev, if (!devpriv) return -ENOMEM; - dev->board_ptr = pc236_find_pci_board(pci_dev); - if (dev->board_ptr == NULL) { - dev_err(dev->class_dev, "BUG! cannot determine board type!\n"); - return -EINVAL; - } + dev->board_ptr = &pc236_pci_board; ret = comedi_pci_enable(dev); if (ret) return ret; -- 2.39.5