summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-01-18 17:48:25 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-18 20:57:24 (GMT)
commit0e2bd50b393084a338a6a21063ef012c5a2720fb (patch)
treefed51040580358215cda29d01fb8775be3b98fff
parent2a2e63dd98ff5310b4677e177939dd2232e0c1c3 (diff)
downloadlinux-0e2bd50b393084a338a6a21063ef012c5a2720fb.tar.xz
staging: comedi: addi_apci_16xx: cleanup addi_find_boardinfo()
This function was originally in the addi-data "common" code and required using pointer math to access the boardinfo data using the void * 'dev->driver->board_name'. Now that the function is local to this driver we can access the boardinfo directly and remove the pointer math. Rename the function so it has namespace associated with this driver. Also, for aesthetic reasons, globally rename the local variable used for the boardinfo pointer from 'this_board' to 'board', Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_16xx.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/drivers/staging/comedi/drivers/addi_apci_16xx.c b/drivers/staging/comedi/drivers/addi_apci_16xx.c
index 23aafe2..899dae1 100644
--- a/drivers/staging/comedi/drivers/addi_apci_16xx.c
+++ b/drivers/staging/comedi/drivers/addi_apci_16xx.c
@@ -26,19 +26,17 @@ static const struct apci16xx_boardinfo apci16xx_boardtypes[] = {
},
};
-static const void *addi_find_boardinfo(struct comedi_device *dev,
- struct pci_dev *pcidev)
+static const void *apci16xx_find_boardinfo(struct comedi_device *dev,
+ struct pci_dev *pcidev)
{
- const void *p = dev->driver->board_name;
- const struct apci16xx_boardinfo *this_board;
+ const struct apci16xx_boardinfo *board;
int i;
- for (i = 0; i < dev->driver->num_names; i++) {
- this_board = p;
- if (this_board->vendor == pcidev->vendor &&
- this_board->device == pcidev->device)
- return this_board;
- p += dev->driver->offset;
+ for (i = 0; i < ARRAY_SIZE(apci16xx_boardtypes); i++) {
+ board = &apci16xx_boardtypes[i];
+ if (board->vendor == pcidev->vendor &&
+ board->device == pcidev->device)
+ return board;
}
return NULL;
}
@@ -47,16 +45,16 @@ static int apci16xx_auto_attach(struct comedi_device *dev,
unsigned long context_unused)
{
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
- const struct apci16xx_boardinfo *this_board;
+ const struct apci16xx_boardinfo *board;
struct addi_private *devpriv;
struct comedi_subdevice *s;
int ret;
- this_board = addi_find_boardinfo(dev, pcidev);
- if (!this_board)
+ board = apci16xx_find_boardinfo(dev, pcidev);
+ if (!board)
return -ENODEV;
- dev->board_ptr = this_board;
- dev->board_name = this_board->name;
+ dev->board_ptr = board;
+ dev->board_name = board->name;
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
if (!devpriv)
@@ -77,10 +75,10 @@ static int apci16xx_auto_attach(struct comedi_device *dev,
s = &dev->subdevices[0];
s->type = COMEDI_SUBD_DIO;
s->subdev_flags = SDF_WRITEABLE | SDF_READABLE;
- s->n_chan = this_board->n_chan;
+ s->n_chan = board->n_chan;
s->maxdata = 1;
s->io_bits = 0; /* all bits input */
- s->len_chanlist = this_board->n_chan;
+ s->len_chanlist = board->n_chan;
s->range_table = &range_digital;
s->insn_config = i_APCI16XX_InsnConfigInitTTLIO;
s->insn_bits = i_APCI16XX_InsnBitsReadTTLIO;