aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi/drivers/adv_pci_dio.c
diff options
context:
space:
mode:
authorH Hartley Sweeten <hartleys@visionengravers.com>2012-08-17 18:19:56 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-04 11:20:38 -0700
commit59bd675298672dc29b95ec0b7622b04bdab0569a (patch)
treeebacf8d0ac4aa02a103dd3dc85ed317269fad31e /drivers/staging/comedi/drivers/adv_pci_dio.c
parentstaging: comedi: adv_pci_dio: use attach_pci callback (diff)
downloadlinux-dev-59bd675298672dc29b95ec0b7622b04bdab0569a.tar.xz
linux-dev-59bd675298672dc29b95ec0b7622b04bdab0569a.zip
staging: comedi: adv_pci_dio: convert boardinfo initialization to C99 format
Convert the boardinfo initialization to C99 format to make it less error prone. The struct diosubd_data information is not converted to C99 format yet because some of it will be removed. 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>
Diffstat (limited to 'drivers/staging/comedi/drivers/adv_pci_dio.c')
-rw-r--r--drivers/staging/comedi/drivers/adv_pci_dio.c347
1 files changed, 227 insertions, 120 deletions
diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c b/drivers/staging/comedi/drivers/adv_pci_dio.c
index 36b7c8d3b7e7..0d1b44197224 100644
--- a/drivers/staging/comedi/drivers/adv_pci_dio.c
+++ b/drivers/staging/comedi/drivers/adv_pci_dio.c
@@ -250,126 +250,233 @@ struct dio_boardtype {
};
static const struct dio_boardtype boardtypes[] = {
- {"pci1730", PCI_VENDOR_ID_ADVANTECH, 0x1730, PCIDIO_MAINREG,
- TYPE_PCI1730,
- { {16, PCI1730_DI, 2, 0}, {16, PCI1730_IDI, 2, 0} },
- { {16, PCI1730_DO, 2, 0}, {16, PCI1730_IDO, 2, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI173x_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1733", PCI_VENDOR_ID_ADVANTECH, 0x1733, PCIDIO_MAINREG,
- TYPE_PCI1733,
- { {0, 0, 0, 0}, {32, PCI1733_IDI, 4, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI173x_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1734", PCI_VENDOR_ID_ADVANTECH, 0x1734, PCIDIO_MAINREG,
- TYPE_PCI1734,
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {32, PCI1734_IDO, 4, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI173x_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1735", PCI_VENDOR_ID_ADVANTECH, 0x1735, PCIDIO_MAINREG,
- TYPE_PCI1735,
- { {32, PCI1735_DI, 4, 0}, {0, 0, 0, 0} },
- { {32, PCI1735_DO, 4, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { 4, PCI1735_BOARDID, 1, SDF_INTERNAL},
- { {3, PCI1735_C8254, 1, 0} },
- IO_8b},
- {"pci1736", PCI_VENDOR_ID_ADVANTECH, 0x1736, PCI1736_MAINREG,
- TYPE_PCI1736,
- { {0, 0, 0, 0}, {16, PCI1736_IDI, 2, 0} },
- { {0, 0, 0, 0}, {16, PCI1736_IDO, 2, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI1736_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1739", PCI_VENDOR_ID_ADVANTECH, 0x1739, PCIDIO_MAINREG,
- TYPE_PCI1739,
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {48, PCI1739_DIO, 2, 0}, {0, 0, 0, 0} },
- {0, 0, 0, 0},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1750", PCI_VENDOR_ID_ADVANTECH, 0x1750, PCIDIO_MAINREG,
- TYPE_PCI1750,
- { {0, 0, 0, 0}, {16, PCI1750_IDI, 2, 0} },
- { {0, 0, 0, 0}, {16, PCI1750_IDO, 2, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {0, 0, 0, 0},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1751", PCI_VENDOR_ID_ADVANTECH, 0x1751, PCIDIO_MAINREG,
- TYPE_PCI1751,
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {48, PCI1751_DIO, 2, 0}, {0, 0, 0, 0} },
- {0, 0, 0, 0},
- { {3, PCI1751_CNT, 1, 0} },
- IO_8b},
- {"pci1752", PCI_VENDOR_ID_ADVANTECH, 0x1752, PCIDIO_MAINREG,
- TYPE_PCI1752,
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {32, PCI1752_IDO, 2, 0}, {32, PCI1752_IDO2, 2, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI175x_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_16b},
- {"pci1753", PCI_VENDOR_ID_ADVANTECH, 0x1753, PCIDIO_MAINREG,
- TYPE_PCI1753,
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {96, PCI1753_DIO, 4, 0}, {0, 0, 0, 0} },
- {0, 0, 0, 0},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1753e", PCI_VENDOR_ID_ADVANTECH, 0x1753, PCIDIO_MAINREG,
- TYPE_PCI1753E,
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {96, PCI1753_DIO, 4, 0}, {96, PCI1753E_DIO, 4, 0} },
- {0, 0, 0, 0},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1754", PCI_VENDOR_ID_ADVANTECH, 0x1754, PCIDIO_MAINREG,
- TYPE_PCI1754,
- { {32, PCI1754_IDI, 2, 0}, {32, PCI1754_IDI2, 2, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI175x_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_16b},
- {"pci1756", PCI_VENDOR_ID_ADVANTECH, 0x1756, PCIDIO_MAINREG,
- TYPE_PCI1756,
- { {0, 0, 0, 0}, {32, PCI1756_IDI, 2, 0} },
- { {0, 0, 0, 0}, {32, PCI1756_IDO, 2, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI175x_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_16b},
- {"pci1760", PCI_VENDOR_ID_ADVANTECH, 0x1760, 0,
- TYPE_PCI1760,
- { {0, 0, 0, 0}, {0, 0, 0, 0} }, /* This card have own setup work */
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {0, 0, 0, 0},
- { {0, 0, 0, 0} },
- IO_8b},
- {"pci1762", PCI_VENDOR_ID_ADVANTECH, 0x1762, PCIDIO_MAINREG,
- TYPE_PCI1762,
- { {0, 0, 0, 0}, {16, PCI1762_IDI, 1, 0} },
- { {0, 0, 0, 0}, {16, PCI1762_RO, 1, 0} },
- { {0, 0, 0, 0}, {0, 0, 0, 0} },
- {4, PCI1762_BOARDID, 1, SDF_INTERNAL},
- { {0, 0, 0, 0} },
- IO_16b}
+ {
+ .name = "pci1730",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1730,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1730,
+ .sdi[0] = { 16, PCI1730_DI, 2, 0, },
+ .sdi[1] = { 16, PCI1730_IDI, 2, 0, },
+ .sdo[0] = { 16, PCI1730_DO, 2, 0, },
+ .sdo[1] = { 16, PCI1730_IDO, 2, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI173x_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1733",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1733,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1733,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 32, PCI1733_IDI, 4, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI173x_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1734",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1734,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1734,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 32, PCI1734_IDO, 4, 0, },
+ .sdio[0] = { 0, 0, 0, 0 },
+ .sdio[1] = { 0, 0, 0, 0 },
+ .boardid = { 4, PCI173x_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1735",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1735,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1735,
+ .sdi[0] = { 32, PCI1735_DI, 4, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 32, PCI1735_DO, 4, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI1735_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 3, PCI1735_C8254, 1, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1736",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1736,
+ .main_pci_region = PCI1736_MAINREG,
+ .cardtype = TYPE_PCI1736,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 16, PCI1736_IDI, 2, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 16, PCI1736_IDO, 2, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI1736_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1739",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1739,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1739,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 48, PCI1739_DIO, 2, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 0, 0, 0, 0, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1750",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1750,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1750,
+ .sdi[0] = { 0, 0, 0, 0,},
+ .sdi[1] = { 16, PCI1750_IDI, 2, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 16, PCI1750_IDO, 2, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 0, 0, 0, 0, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1751",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1751,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1751,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 48, PCI1751_DIO, 2, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 0, 0, 0, 0, },
+ .s8254[0] = { 3, PCI1751_CNT, 1, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1752",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1752,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1752,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 32, PCI1752_IDO, 2, 0, },
+ .sdo[1] = { 32, PCI1752_IDO2, 2, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI175x_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_16b,
+ }, {
+ .name = "pci1753",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1753,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1753,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 96, PCI1753_DIO, 4, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 0, 0, 0, 0, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1753e",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1753,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1753E,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 96, PCI1753_DIO, 4, 0, },
+ .sdio[1] = { 96, PCI1753E_DIO, 4, 0, },
+ .boardid = { 0, 0, 0, 0, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1754",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1754,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1754,
+ .sdi[0] = { 32, PCI1754_IDI, 2, 0, },
+ .sdi[1] = { 32, PCI1754_IDI2, 2, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI175x_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_16b,
+ }, {
+ .name = "pci1756",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1756,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1756,
+ .sdi[0] = { 0, 0, 0, 0,},
+ .sdi[1] = { 32, PCI1756_IDI, 2, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 32, PCI1756_IDO, 2, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI175x_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_16b,
+ }, {
+ /* This card has its own 'attach' */
+ .name = "pci1760",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1760,
+ .main_pci_region = 0,
+ .cardtype = TYPE_PCI1760,
+ .sdi[0] = { 0, 0, 0, 0, },
+ .sdi[1] = { 0, 0, 0, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 0, 0, 0, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 0, 0, 0, 0, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_8b,
+ }, {
+ .name = "pci1762",
+ .vendor_id = PCI_VENDOR_ID_ADVANTECH,
+ .device_id = 0x1762,
+ .main_pci_region = PCIDIO_MAINREG,
+ .cardtype = TYPE_PCI1762,
+ .sdi[0] = { 0, 0, 0, 0,},
+ .sdi[1] = { 16, PCI1762_IDI, 1, 0, },
+ .sdo[0] = { 0, 0, 0, 0, },
+ .sdo[1] = { 16, PCI1762_RO, 1, 0, },
+ .sdio[0] = { 0, 0, 0, 0, },
+ .sdio[1] = { 0, 0, 0, 0, },
+ .boardid = { 4, PCI1762_BOARDID, 1, SDF_INTERNAL, },
+ .s8254[0] = { 0, 0, 0, 0, },
+ .io_access = IO_16b,
+ },
};
struct pci_dio_private {