[PATCH 16/20] staging: comedi: adv_pci_dio: convert boardinfo initialization to C99 format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
Cc: Ian Abbott <abbotti@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 drivers/staging/comedi/drivers/adv_pci_dio.c | 347 ++++++++++++++++++---------
 1 file 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 36b7c8d..0d1b441 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 {
-- 
1.7.11

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux