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:
parent
3dd98ebe53
commit
1f388811b5
1 changed files with 8 additions and 5 deletions
|
@ -105,16 +105,19 @@ static int addi_auto_attach(struct comedi_device *dev,
|
||||||
unsigned long context_unused)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
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 addi_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret, n_subdevices;
|
int ret, n_subdevices;
|
||||||
unsigned int dw_Dummy;
|
unsigned int dw_Dummy;
|
||||||
|
|
||||||
|
if (!this_board) {
|
||||||
|
/* The driver did not set the board_ptr, try finding it. */
|
||||||
this_board = addi_find_boardinfo(dev, pcidev);
|
this_board = addi_find_boardinfo(dev, pcidev);
|
||||||
if (!this_board)
|
if (!this_board)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
dev->board_ptr = this_board;
|
dev->board_ptr = this_board;
|
||||||
|
}
|
||||||
dev->board_name = this_board->pc_DriverName;
|
dev->board_name = this_board->pc_DriverName;
|
||||||
|
|
||||||
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
|
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
|
||||||
|
|
Loading…
Add table
Reference in a new issue