staging: comedi: addi_common: allow driver to set the board_ptr

The addi_apci_035, addi_apci_1500, addi_apci_1564, and addi_apci_3xxx
drivers still use the addi_common code. Allow those drivers to set
the dev->board_ptr before calling addi_auto_attach().

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>
This commit is contained in:
H Hartley Sweeten 2013-03-05 10:23:10 -07:00 committed by Greg Kroah-Hartman
parent 3dd98ebe53
commit 1f388811b5
1 changed files with 8 additions and 5 deletions

View File

@ -105,16 +105,19 @@ static int addi_auto_attach(struct comedi_device *dev,
unsigned long context_unused)
{
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
const struct addi_board *this_board;
const struct addi_board *this_board = comedi_board(dev);
struct addi_private *devpriv;
struct comedi_subdevice *s;
int ret, n_subdevices;
unsigned int dw_Dummy;
this_board = addi_find_boardinfo(dev, pcidev);
if (!this_board)
return -ENODEV;
dev->board_ptr = this_board;
if (!this_board) {
/* The driver did not set the board_ptr, try finding it. */
this_board = addi_find_boardinfo(dev, pcidev);
if (!this_board)
return -ENODEV;
dev->board_ptr = this_board;
}
dev->board_name = this_board->pc_DriverName;
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);