mirror of https://gitee.com/openkylin/linux.git
staging: comedi/drivers: use auto_attach instead of attach_pci
Change comedi drivers for PCI boards to use the new `auto_attach()` method instead of the `attach_pci()` method. I plan to remove the `attach_pci()` and `attach_usb()` methods from `struct comedi_driver` once nothing is using them. Tag the functions with `__devinit` where they are not already so tagged, as they are only called during PCI probe. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
807e65b0a8
commit
750af5e568
|
@ -213,9 +213,10 @@ static const void *pci_8255_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci_8255_attach_pci(struct comedi_device *dev,
|
static int __devinit pci_8255_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct pci_8255_boardinfo *board;
|
const struct pci_8255_boardinfo *board;
|
||||||
struct pci_8255_private *devpriv;
|
struct pci_8255_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -303,7 +304,7 @@ static void pci_8255_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver pci_8255_driver = {
|
static struct comedi_driver pci_8255_driver = {
|
||||||
.driver_name = "8255_pci",
|
.driver_name = "8255_pci",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pci_8255_attach_pci,
|
.auto_attach = pci_8255_auto_attach,
|
||||||
.detach = pci_8255_detach,
|
.detach = pci_8255_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -174,9 +174,10 @@ static const void *pci6208_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci6208_attach_pci(struct comedi_device *dev,
|
static int __devinit pci6208_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct pci6208_board *boardinfo;
|
const struct pci6208_board *boardinfo;
|
||||||
struct pci6208_private *devpriv;
|
struct pci6208_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -259,7 +260,7 @@ static void pci6208_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adl_pci6208_driver = {
|
static struct comedi_driver adl_pci6208_driver = {
|
||||||
.driver_name = "adl_pci6208",
|
.driver_name = "adl_pci6208",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pci6208_attach_pci,
|
.auto_attach = pci6208_auto_attach,
|
||||||
.detach = pci6208_detach,
|
.detach = pci6208_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -168,9 +168,10 @@ static const void *adl_pci7x3x_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int adl_pci7x3x_attach_pci(struct comedi_device *dev,
|
static int __devinit adl_pci7x3x_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct adl_pci7x3x_boardinfo *board;
|
const struct adl_pci7x3x_boardinfo *board;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int subdev;
|
int subdev;
|
||||||
|
@ -291,7 +292,7 @@ static void adl_pci7x3x_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adl_pci7x3x_driver = {
|
static struct comedi_driver adl_pci7x3x_driver = {
|
||||||
.driver_name = "adl_pci7x3x",
|
.driver_name = "adl_pci7x3x",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = adl_pci7x3x_attach_pci,
|
.auto_attach = adl_pci7x3x_auto_attach,
|
||||||
.detach = adl_pci7x3x_detach,
|
.detach = adl_pci7x3x_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -212,9 +212,10 @@ static int adl_pci8164_insn_write_buf1(struct comedi_device *dev,
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int adl_pci8164_attach_pci(struct comedi_device *dev,
|
static int __devinit adl_pci8164_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -287,7 +288,7 @@ static void adl_pci8164_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adl_pci8164_driver = {
|
static struct comedi_driver adl_pci8164_driver = {
|
||||||
.driver_name = "adl_pci8164",
|
.driver_name = "adl_pci8164",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = adl_pci8164_attach_pci,
|
.auto_attach = adl_pci8164_auto_attach,
|
||||||
.detach = adl_pci8164_detach,
|
.detach = adl_pci8164_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -879,9 +879,10 @@ static int pci9111_reset(struct comedi_device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci9111_attach_pci(struct comedi_device *dev,
|
static int __devinit pci9111_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct pci9111_private_data *dev_private;
|
struct pci9111_private_data *dev_private;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -975,7 +976,7 @@ static void pci9111_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adl_pci9111_driver = {
|
static struct comedi_driver adl_pci9111_driver = {
|
||||||
.driver_name = "adl_pci9111",
|
.driver_name = "adl_pci9111",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pci9111_attach_pci,
|
.auto_attach = pci9111_auto_attach,
|
||||||
.detach = pci9111_detach,
|
.detach = pci9111_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1255,9 +1255,10 @@ static const void *pci1710_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci1710_attach_pci(struct comedi_device *dev,
|
static int __devinit pci1710_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct boardtype *this_board;
|
const struct boardtype *this_board;
|
||||||
struct pci1710_private *devpriv;
|
struct pci1710_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -1413,7 +1414,7 @@ static void pci1710_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adv_pci1710_driver = {
|
static struct comedi_driver adv_pci1710_driver = {
|
||||||
.driver_name = "adv_pci1710",
|
.driver_name = "adv_pci1710",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pci1710_attach_pci,
|
.auto_attach = pci1710_auto_attach,
|
||||||
.detach = pci1710_detach,
|
.detach = pci1710_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -232,9 +232,10 @@ static int pci1723_dio_insn_bits(struct comedi_device *dev,
|
||||||
return insn->n;
|
return insn->n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci1723_attach_pci(struct comedi_device *dev,
|
static int __devinit pci1723_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct pci1723_private *devpriv;
|
struct pci1723_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -316,7 +317,7 @@ static void pci1723_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adv_pci1723_driver = {
|
static struct comedi_driver adv_pci1723_driver = {
|
||||||
.driver_name = "adv_pci1723",
|
.driver_name = "adv_pci1723",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pci1723_attach_pci,
|
.auto_attach = pci1723_auto_attach,
|
||||||
.detach = pci1723_detach,
|
.detach = pci1723_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1090,9 +1090,10 @@ static const void *pci_dio_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci_dio_attach_pci(struct comedi_device *dev,
|
static int __devinit pci_dio_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct dio_boardtype *this_board;
|
const struct dio_boardtype *this_board;
|
||||||
struct pci_dio_private *devpriv;
|
struct pci_dio_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -1195,7 +1196,7 @@ static void pci_dio_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver adv_pci_dio_driver = {
|
static struct comedi_driver adv_pci_dio_driver = {
|
||||||
.driver_name = "adv_pci_dio",
|
.driver_name = "adv_pci_dio",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pci_dio_attach_pci,
|
.auto_attach = pci_dio_auto_attach,
|
||||||
.detach = pci_dio_detach,
|
.detach = pci_dio_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1943,13 +1943,14 @@ static int dio200_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The attach_pci hook (if non-NULL) is called at PCI probe time in preference
|
* The auto_attach hook is called at PCI probe time via
|
||||||
* to the "manual" attach hook. dev->board_ptr is NULL on entry. There should
|
* comedi_pci_auto_config(). dev->board_ptr is NULL on entry.
|
||||||
* be a board entry matching the supplied PCI device.
|
* There should be a board entry matching the supplied PCI device.
|
||||||
*/
|
*/
|
||||||
static int __devinit dio200_attach_pci(struct comedi_device *dev,
|
static int __devinit dio200_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pci_dev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pci_dev = comedi_to_pci_dev(dev);
|
||||||
const struct dio200_board *thisboard;
|
const struct dio200_board *thisboard;
|
||||||
struct dio200_private *devpriv;
|
struct dio200_private *devpriv;
|
||||||
resource_size_t base, len;
|
resource_size_t base, len;
|
||||||
|
@ -2074,7 +2075,7 @@ static struct comedi_driver amplc_dio200_driver = {
|
||||||
.driver_name = DIO200_DRIVER_NAME,
|
.driver_name = DIO200_DRIVER_NAME,
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach = dio200_attach,
|
.attach = dio200_attach,
|
||||||
.attach_pci = dio200_attach_pci,
|
.auto_attach = dio200_auto_attach,
|
||||||
.detach = dio200_detach,
|
.detach = dio200_detach,
|
||||||
.board_name = &dio200_boards[0].name,
|
.board_name = &dio200_boards[0].name,
|
||||||
.offset = sizeof(struct dio200_board),
|
.offset = sizeof(struct dio200_board),
|
||||||
|
|
|
@ -537,13 +537,14 @@ static int pc236_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The attach_pci hook (if non-NULL) is called at PCI probe time in preference
|
* The auto_attach hook is called at PCI probe time via
|
||||||
* to the "manual" attach hook. dev->board_ptr is NULL on entry. There should
|
* comedi_pci_auto_config(). dev->board_ptr is NULL on entry.
|
||||||
* be a board entry matching the supplied PCI device.
|
* There should be a board entry matching the supplied PCI device.
|
||||||
*/
|
*/
|
||||||
static int __devinit pc236_attach_pci(struct comedi_device *dev,
|
static int __devinit pc236_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pci_dev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pci_dev = comedi_to_pci_dev(dev);
|
||||||
struct pc236_private *devpriv;
|
struct pc236_private *devpriv;
|
||||||
|
|
||||||
if (!DO_PCI)
|
if (!DO_PCI)
|
||||||
|
@ -607,7 +608,7 @@ static struct comedi_driver amplc_pc236_driver = {
|
||||||
.driver_name = PC236_DRIVER_NAME,
|
.driver_name = PC236_DRIVER_NAME,
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach = pc236_attach,
|
.attach = pc236_attach,
|
||||||
.attach_pci = pc236_attach_pci,
|
.auto_attach = pc236_auto_attach,
|
||||||
.detach = pc236_detach,
|
.detach = pc236_detach,
|
||||||
.board_name = &pc236_boards[0].name,
|
.board_name = &pc236_boards[0].name,
|
||||||
.offset = sizeof(struct pc236_board),
|
.offset = sizeof(struct pc236_board),
|
||||||
|
|
|
@ -290,17 +290,21 @@ static int pc263_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The attach_pci hook (if non-NULL) is called at PCI probe time in preference
|
* The auto_attach hook is called at PCI probe time via
|
||||||
* to the "manual" attach hook. dev->board_ptr is NULL on entry. There should
|
* comedi_pci_auto_config(). dev->board_ptr is NULL on entry.
|
||||||
* be a board entry matching the supplied PCI device.
|
* There should be a board entry matching the supplied PCI device.
|
||||||
*/
|
*/
|
||||||
static int __devinit pc263_attach_pci(struct comedi_device *dev,
|
static int __devinit pc263_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pci_dev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pci_dev;
|
||||||
|
|
||||||
if (!DO_PCI)
|
if (!DO_PCI)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
pci_dev = comedi_to_pci_dev(dev);
|
||||||
dev_info(dev->class_dev, PC263_DRIVER_NAME ": attach pci %s\n",
|
dev_info(dev->class_dev, PC263_DRIVER_NAME ": attach pci %s\n",
|
||||||
pci_name(pci_dev));
|
pci_name(pci_dev));
|
||||||
dev->board_ptr = pc263_find_pci_board(pci_dev);
|
dev->board_ptr = pc263_find_pci_board(pci_dev);
|
||||||
|
@ -347,7 +351,7 @@ static struct comedi_driver amplc_pc263_driver = {
|
||||||
.driver_name = PC263_DRIVER_NAME,
|
.driver_name = PC263_DRIVER_NAME,
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach = pc263_attach,
|
.attach = pc263_attach,
|
||||||
.attach_pci = pc263_attach_pci,
|
.auto_attach = pc263_auto_attach,
|
||||||
.detach = pc263_detach,
|
.detach = pc263_detach,
|
||||||
.board_name = &pc263_boards[0].name,
|
.board_name = &pc263_boards[0].name,
|
||||||
.offset = sizeof(struct pc263_board),
|
.offset = sizeof(struct pc263_board),
|
||||||
|
|
|
@ -1286,7 +1286,7 @@ static void pci224_report_attach(struct comedi_device *dev, unsigned int irq)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common part of attach and attach_pci.
|
* Common part of attach and auto_attach.
|
||||||
*/
|
*/
|
||||||
static int pci224_attach_common(struct comedi_device *dev,
|
static int pci224_attach_common(struct comedi_device *dev,
|
||||||
struct pci_dev *pci_dev, int *options)
|
struct pci_dev *pci_dev, int *options)
|
||||||
|
@ -1460,11 +1460,12 @@ static int pci224_attach(struct comedi_device *dev, struct comedi_devconfig *it)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit
|
static int __devinit
|
||||||
pci224_attach_pci(struct comedi_device *dev, struct pci_dev *pci_dev)
|
pci224_auto_attach(struct comedi_device *dev, unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pci_dev = comedi_to_pci_dev(dev);
|
||||||
struct pci224_private *devpriv;
|
struct pci224_private *devpriv;
|
||||||
|
|
||||||
dev_info(dev->class_dev, DRIVER_NAME ": attach_pci %s\n",
|
dev_info(dev->class_dev, DRIVER_NAME ": attach pci %s\n",
|
||||||
pci_name(pci_dev));
|
pci_name(pci_dev));
|
||||||
|
|
||||||
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
|
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
|
||||||
|
@ -1519,7 +1520,7 @@ static struct comedi_driver amplc_pci224_driver = {
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach = pci224_attach,
|
.attach = pci224_attach,
|
||||||
.detach = pci224_detach,
|
.detach = pci224_detach,
|
||||||
.attach_pci = pci224_attach_pci,
|
.auto_attach = pci224_auto_attach,
|
||||||
.board_name = &pci224_boards[0].name,
|
.board_name = &pci224_boards[0].name,
|
||||||
.offset = sizeof(struct pci224_board),
|
.offset = sizeof(struct pci224_board),
|
||||||
.num_names = ARRAY_SIZE(pci224_boards),
|
.num_names = ARRAY_SIZE(pci224_boards),
|
||||||
|
|
|
@ -2672,7 +2672,7 @@ static int pci230_alloc_private(struct comedi_device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Common part of attach and attach_pci. */
|
/* Common part of attach and auto_attach. */
|
||||||
static int pci230_attach_common(struct comedi_device *dev,
|
static int pci230_attach_common(struct comedi_device *dev,
|
||||||
struct pci_dev *pci_dev)
|
struct pci_dev *pci_dev)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1466,9 +1466,10 @@ static const void *cb_pcidas_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cb_pcidas_attach_pci(struct comedi_device *dev,
|
static int __devinit cb_pcidas_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct cb_pcidas_board *thisboard;
|
const struct cb_pcidas_board *thisboard;
|
||||||
struct cb_pcidas_private *devpriv;
|
struct cb_pcidas_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -1651,7 +1652,7 @@ static void cb_pcidas_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver cb_pcidas_driver = {
|
static struct comedi_driver cb_pcidas_driver = {
|
||||||
.driver_name = "cb_pcidas",
|
.driver_name = "cb_pcidas",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = cb_pcidas_attach_pci,
|
.auto_attach = cb_pcidas_auto_attach,
|
||||||
.detach = cb_pcidas_detach,
|
.detach = cb_pcidas_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -349,9 +349,10 @@ static const void *cb_pcidda_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cb_pcidda_attach_pci(struct comedi_device *dev,
|
static int __devinit cb_pcidda_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct cb_pcidda_board *thisboard;
|
const struct cb_pcidda_board *thisboard;
|
||||||
struct cb_pcidda_private *devpriv;
|
struct cb_pcidda_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -427,7 +428,7 @@ static void cb_pcidda_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver cb_pcidda_driver = {
|
static struct comedi_driver cb_pcidda_driver = {
|
||||||
.driver_name = "cb_pcidda",
|
.driver_name = "cb_pcidda",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = cb_pcidda_attach_pci,
|
.auto_attach = cb_pcidda_auto_attach,
|
||||||
.detach = cb_pcidda_detach,
|
.detach = cb_pcidda_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -205,9 +205,10 @@ static int cb_pcimdas_ao_rinsn(struct comedi_device *dev,
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cb_pcimdas_attach_pci(struct comedi_device *dev,
|
static int __devinit cb_pcimdas_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct cb_pcimdas_private *devpriv;
|
struct cb_pcimdas_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
unsigned long iobase_8255;
|
unsigned long iobase_8255;
|
||||||
|
@ -288,7 +289,7 @@ static void cb_pcimdas_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver cb_pcimdas_driver = {
|
static struct comedi_driver cb_pcimdas_driver = {
|
||||||
.driver_name = "cb_pcimdas",
|
.driver_name = "cb_pcimdas",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = cb_pcimdas_attach_pci,
|
.auto_attach = cb_pcimdas_auto_attach,
|
||||||
.detach = cb_pcimdas_detach,
|
.detach = cb_pcimdas_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -151,9 +151,10 @@ static int cb_pcimdda_ao_rinsn(struct comedi_device *dev,
|
||||||
return insn->n;
|
return insn->n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cb_pcimdda_attach_pci(struct comedi_device *dev,
|
static int __devinit cb_pcimdda_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct cb_pcimdda_private *devpriv;
|
struct cb_pcimdda_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -211,7 +212,7 @@ static void cb_pcimdda_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver cb_pcimdda_driver = {
|
static struct comedi_driver cb_pcimdda_driver = {
|
||||||
.driver_name = "cb_pcimdda",
|
.driver_name = "cb_pcimdda",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = cb_pcimdda_attach_pci,
|
.auto_attach = cb_pcimdda_auto_attach,
|
||||||
.detach = cb_pcimdda_detach,
|
.detach = cb_pcimdda_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -68,9 +68,10 @@ static int contec_di_insn_bits(struct comedi_device *dev,
|
||||||
return insn->n;
|
return insn->n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int contec_attach_pci(struct comedi_device *dev,
|
static int __devinit contec_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -119,7 +120,7 @@ static void contec_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver contec_pci_dio_driver = {
|
static struct comedi_driver contec_pci_dio_driver = {
|
||||||
.driver_name = "contec_pci_dio",
|
.driver_name = "contec_pci_dio",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = contec_attach_pci,
|
.auto_attach = contec_auto_attach,
|
||||||
.detach = contec_detach,
|
.detach = contec_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -688,9 +688,10 @@ static const void *daqboard2000_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int daqboard2000_attach_pci(struct comedi_device *dev,
|
static int __devinit daqboard2000_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct daq200_boardtype *board;
|
const struct daq200_boardtype *board;
|
||||||
struct daqboard2000_private *devpriv;
|
struct daqboard2000_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -788,7 +789,7 @@ static void daqboard2000_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver daqboard2000_driver = {
|
static struct comedi_driver daqboard2000_driver = {
|
||||||
.driver_name = "daqboard2000",
|
.driver_name = "daqboard2000",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = daqboard2000_attach_pci,
|
.auto_attach = daqboard2000_auto_attach,
|
||||||
.detach = daqboard2000_detach,
|
.detach = daqboard2000_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -775,14 +775,16 @@ das08_find_pci_board(struct pci_dev *pdev)
|
||||||
|
|
||||||
/* only called in the PCI probe path, via comedi_pci_auto_config() */
|
/* only called in the PCI probe path, via comedi_pci_auto_config() */
|
||||||
static int __devinit __maybe_unused
|
static int __devinit __maybe_unused
|
||||||
das08_attach_pci(struct comedi_device *dev, struct pci_dev *pdev)
|
das08_auto_attach(struct comedi_device *dev, unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pdev;
|
||||||
struct das08_private_struct *devpriv;
|
struct das08_private_struct *devpriv;
|
||||||
unsigned long iobase;
|
unsigned long iobase;
|
||||||
|
|
||||||
if (!DO_PCI)
|
if (!DO_PCI)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
pdev = comedi_to_pci_dev(dev);
|
||||||
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
|
devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
|
||||||
if (!devpriv)
|
if (!devpriv)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -867,7 +869,7 @@ static struct comedi_driver das08_driver = {
|
||||||
.driver_name = DRV_NAME,
|
.driver_name = DRV_NAME,
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach = das08_attach,
|
.attach = das08_attach,
|
||||||
.attach_pci = das08_attach_pci,
|
.auto_attach = das08_auto_attach,
|
||||||
.detach = das08_detach,
|
.detach = das08_detach,
|
||||||
.board_name = &das08_boards[0].name,
|
.board_name = &das08_boards[0].name,
|
||||||
.num_names = sizeof(das08_boards) / sizeof(struct das08_board_struct),
|
.num_names = sizeof(das08_boards) / sizeof(struct das08_board_struct),
|
||||||
|
|
|
@ -749,9 +749,10 @@ static const void *dt3000_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dt3000_attach_pci(struct comedi_device *dev,
|
static int __devinit dt3000_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct dt3k_boardtype *this_board;
|
const struct dt3k_boardtype *this_board;
|
||||||
struct dt3k_private *devpriv;
|
struct dt3k_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -866,7 +867,7 @@ static void dt3000_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver dt3000_driver = {
|
static struct comedi_driver dt3000_driver = {
|
||||||
.driver_name = "dt3000",
|
.driver_name = "dt3000",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = dt3000_attach_pci,
|
.auto_attach = dt3000_auto_attach,
|
||||||
.detach = dt3000_detach,
|
.detach = dt3000_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -177,9 +177,10 @@ static int dyna_pci10xx_do_insn_bits(struct comedi_device *dev,
|
||||||
return insn->n;
|
return insn->n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dyna_pci10xx_attach_pci(struct comedi_device *dev,
|
static int __devinit dyna_pci10xx_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct dyna_pci10xx_private *devpriv;
|
struct dyna_pci10xx_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -265,7 +266,7 @@ static void dyna_pci10xx_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver dyna_pci10xx_driver = {
|
static struct comedi_driver dyna_pci10xx_driver = {
|
||||||
.driver_name = "dyna_pci10xx",
|
.driver_name = "dyna_pci10xx",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = dyna_pci10xx_attach_pci,
|
.auto_attach = dyna_pci10xx_auto_attach,
|
||||||
.detach = dyna_pci10xx_detach,
|
.detach = dyna_pci10xx_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -494,9 +494,10 @@ static int icp_multi_reset(struct comedi_device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int icp_multi_attach_pci(struct comedi_device *dev,
|
static int __devinit icp_multi_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct icp_multi_private *devpriv;
|
struct icp_multi_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
resource_size_t iobase;
|
resource_size_t iobase;
|
||||||
|
@ -612,7 +613,7 @@ static void icp_multi_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver icp_multi_driver = {
|
static struct comedi_driver icp_multi_driver = {
|
||||||
.driver_name = "icp_multi",
|
.driver_name = "icp_multi",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = icp_multi_attach_pci,
|
.auto_attach = icp_multi_auto_attach,
|
||||||
.detach = icp_multi_detach,
|
.detach = icp_multi_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -87,9 +87,10 @@ static int cnt_rinsn(struct comedi_device *dev,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cnt_attach_pci(struct comedi_device *dev,
|
static int __devinit cnt_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -141,7 +142,7 @@ static void cnt_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver ke_counter_driver = {
|
static struct comedi_driver ke_counter_driver = {
|
||||||
.driver_name = "ke_counter",
|
.driver_name = "ke_counter",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = cnt_attach_pci,
|
.auto_attach = cnt_auto_attach,
|
||||||
.detach = cnt_detach,
|
.detach = cnt_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1568,9 +1568,10 @@ static const void *me4000_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int me4000_attach_pci(struct comedi_device *dev,
|
static int __devinit me4000_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct me4000_board *thisboard;
|
const struct me4000_board *thisboard;
|
||||||
struct me4000_info *info;
|
struct me4000_info *info;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -1728,7 +1729,7 @@ static void me4000_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver me4000_driver = {
|
static struct comedi_driver me4000_driver = {
|
||||||
.driver_name = "me4000",
|
.driver_name = "me4000",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = me4000_attach_pci,
|
.auto_attach = me4000_auto_attach,
|
||||||
.detach = me4000_detach,
|
.detach = me4000_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -542,8 +542,10 @@ static const void *me_find_boardinfo(struct comedi_device *dev,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int me_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
|
static int __devinit me_auto_attach(struct comedi_device *dev,
|
||||||
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct me_board *board;
|
const struct me_board *board;
|
||||||
struct me_private_data *dev_private;
|
struct me_private_data *dev_private;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -653,7 +655,7 @@ static void me_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver me_daq_driver = {
|
static struct comedi_driver me_daq_driver = {
|
||||||
.driver_name = "me_daq",
|
.driver_name = "me_daq",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = me_attach_pci,
|
.auto_attach = me_auto_attach,
|
||||||
.detach = me_detach,
|
.detach = me_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -357,9 +357,10 @@ ni6527_find_boardinfo(struct pci_dev *pcidev)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit ni6527_attach_pci(struct comedi_device *dev,
|
static int __devinit ni6527_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct ni6527_private *devpriv;
|
struct ni6527_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -457,7 +458,7 @@ static void ni6527_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver ni6527_driver = {
|
static struct comedi_driver ni6527_driver = {
|
||||||
.driver_name = DRIVER_NAME,
|
.driver_name = DRIVER_NAME,
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = ni6527_attach_pci,
|
.auto_attach = ni6527_auto_attach,
|
||||||
.detach = ni6527_detach,
|
.detach = ni6527_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -627,9 +627,10 @@ ni_65xx_find_boardinfo(struct pci_dev *pcidev)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit ni_65xx_attach_pci(struct comedi_device *dev,
|
static int __devinit ni_65xx_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct ni_65xx_private *devpriv;
|
struct ni_65xx_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
@ -793,7 +794,7 @@ static void ni_65xx_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver ni_65xx_driver = {
|
static struct comedi_driver ni_65xx_driver = {
|
||||||
.driver_name = "ni_65xx",
|
.driver_name = "ni_65xx",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = ni_65xx_attach_pci,
|
.auto_attach = ni_65xx_auto_attach,
|
||||||
.detach = ni_65xx_detach,
|
.detach = ni_65xx_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1166,9 +1166,10 @@ static int ni_660x_dio_insn_config(struct comedi_device *dev,
|
||||||
return insn->n;
|
return insn->n;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit ni_660x_attach_pci(struct comedi_device *dev,
|
static int __devinit ni_660x_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct ni_660x_board *board;
|
const struct ni_660x_board *board;
|
||||||
struct ni_660x_private *devpriv;
|
struct ni_660x_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -1316,7 +1317,7 @@ static void ni_660x_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver ni_660x_driver = {
|
static struct comedi_driver ni_660x_driver = {
|
||||||
.driver_name = "ni_660x",
|
.driver_name = "ni_660x",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = ni_660x_attach_pci,
|
.auto_attach = ni_660x_auto_attach,
|
||||||
.detach = ni_660x_detach,
|
.detach = ni_660x_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -201,9 +201,10 @@ ni_670x_find_boardinfo(struct pci_dev *pcidev)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit ni_670x_attach_pci(struct comedi_device *dev,
|
static int __devinit ni_670x_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
const struct ni_670x_board *thisboard;
|
const struct ni_670x_board *thisboard;
|
||||||
struct ni_670x_private *devpriv;
|
struct ni_670x_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
|
@ -298,7 +299,7 @@ static void ni_670x_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver ni_670x_driver = {
|
static struct comedi_driver ni_670x_driver = {
|
||||||
.driver_name = "ni_670x",
|
.driver_name = "ni_670x",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = ni_670x_attach_pci,
|
.auto_attach = ni_670x_auto_attach,
|
||||||
.detach = ni_670x_detach,
|
.detach = ni_670x_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -696,9 +696,10 @@ labpc_pci_find_boardinfo(struct pci_dev *pcidev)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit labpc_attach_pci(struct comedi_device *dev,
|
static int __devinit labpc_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct labpc_private *devpriv;
|
struct labpc_private *devpriv;
|
||||||
unsigned long iobase;
|
unsigned long iobase;
|
||||||
unsigned int irq;
|
unsigned int irq;
|
||||||
|
@ -2117,7 +2118,7 @@ static struct comedi_driver labpc_driver = {
|
||||||
.driver_name = DRV_NAME,
|
.driver_name = DRV_NAME,
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach = labpc_attach,
|
.attach = labpc_attach,
|
||||||
.attach_pci = labpc_attach_pci,
|
.auto_attach = labpc_auto_attach,
|
||||||
.detach = labpc_common_detach,
|
.detach = labpc_common_detach,
|
||||||
.num_names = ARRAY_SIZE(labpc_boards),
|
.num_names = ARRAY_SIZE(labpc_boards),
|
||||||
.board_name = &labpc_boards[0].name,
|
.board_name = &labpc_boards[0].name,
|
||||||
|
|
|
@ -1120,9 +1120,10 @@ nidio_find_boardinfo(struct pci_dev *pcidev)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit nidio_attach_pci(struct comedi_device *dev,
|
static int __devinit nidio_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct nidio96_private *devpriv;
|
struct nidio96_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1227,7 +1228,7 @@ static void nidio_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver ni_pcidio_driver = {
|
static struct comedi_driver ni_pcidio_driver = {
|
||||||
.driver_name = "ni_pcidio",
|
.driver_name = "ni_pcidio",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = nidio_attach_pci,
|
.auto_attach = nidio_auto_attach,
|
||||||
.detach = nidio_detach,
|
.detach = nidio_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1620,9 +1620,10 @@ pcimio_find_boardinfo(struct pci_dev *pcidev)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit pcimio_attach_pci(struct comedi_device *dev,
|
static int __devinit pcimio_auto_attach(struct comedi_device *dev,
|
||||||
struct pci_dev *pcidev)
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct ni_private *devpriv;
|
struct ni_private *devpriv;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -1780,7 +1781,7 @@ static int pcimio_dio_change(struct comedi_device *dev,
|
||||||
static struct comedi_driver ni_pcimio_driver = {
|
static struct comedi_driver ni_pcimio_driver = {
|
||||||
.driver_name = "ni_pcimio",
|
.driver_name = "ni_pcimio",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = pcimio_attach_pci,
|
.auto_attach = pcimio_auto_attach,
|
||||||
.detach = pcimio_detach,
|
.detach = pcimio_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2691,8 +2691,10 @@ static void s626_initialize(struct comedi_device *dev)
|
||||||
/* writel(IRQ_GPIO3 | IRQ_RPS1, devpriv->base_addr + P_IER); */
|
/* writel(IRQ_GPIO3 | IRQ_RPS1, devpriv->base_addr + P_IER); */
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s626_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
|
static int __devinit s626_auto_attach(struct comedi_device *dev,
|
||||||
|
unsigned long context_unused)
|
||||||
{
|
{
|
||||||
|
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
|
||||||
struct s626_private *devpriv;
|
struct s626_private *devpriv;
|
||||||
struct comedi_subdevice *s;
|
struct comedi_subdevice *s;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -2858,7 +2860,7 @@ static void s626_detach(struct comedi_device *dev)
|
||||||
static struct comedi_driver s626_driver = {
|
static struct comedi_driver s626_driver = {
|
||||||
.driver_name = "s626",
|
.driver_name = "s626",
|
||||||
.module = THIS_MODULE,
|
.module = THIS_MODULE,
|
||||||
.attach_pci = s626_attach_pci,
|
.auto_attach = s626_auto_attach,
|
||||||
.detach = s626_detach,
|
.detach = s626_detach,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue