aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/applicom.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2008-02-08 07:21:51 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-08 12:22:41 -0500
commit53a7a1bb438245cd2ef9674b9af3a5201d7d7657 (patch)
tree4bceb875bacd585d96788242fda0b1cb82e956b5 /drivers/char/applicom.c
parent55b29a728e37ac4b87d09ba8da480f14bdec3b8d (diff)
Char: applicom, use pci_match_id
Instead of testing hardcoded values, use pci_match_id to reference the pci_device_id table. Sideways, it allows easy new additions to the table. [akpm@linux-foundation.org: remove wrongly-added semicolon] Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: WANG Cong <xiyou.wangcong@gmail.com> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/applicom.c')
-rw-r--r--drivers/char/applicom.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c
index b0bb71b1fcf4..a7c4990b5b6b 100644
--- a/drivers/char/applicom.c
+++ b/drivers/char/applicom.c
@@ -57,7 +57,6 @@
57#define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 0x0002 57#define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 0x0002
58#define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 0x0003 58#define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 0x0003
59#endif 59#endif
60#define MAX_PCI_DEVICE_NUM 3
61 60
62static char *applicom_pci_devnames[] = { 61static char *applicom_pci_devnames[] = {
63 "PCI board", 62 "PCI board",
@@ -66,12 +65,9 @@ static char *applicom_pci_devnames[] = {
66}; 65};
67 66
68static struct pci_device_id applicom_pci_tbl[] = { 67static struct pci_device_id applicom_pci_tbl[] = {
69 { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC, 68 { PCI_VDEVICE(APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC) },
70 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 69 { PCI_VDEVICE(APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN) },
71 { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN, 70 { PCI_VDEVICE(APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000PFB) },
72 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
73 { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000PFB,
74 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
75 { 0 } 71 { 0 }
76}; 72};
77MODULE_DEVICE_TABLE(pci, applicom_pci_tbl); 73MODULE_DEVICE_TABLE(pci, applicom_pci_tbl);
@@ -197,10 +193,7 @@ static int __init applicom_init(void)
197 193
198 while ( (dev = pci_get_class(PCI_CLASS_OTHERS << 16, dev))) { 194 while ( (dev = pci_get_class(PCI_CLASS_OTHERS << 16, dev))) {
199 195
200 if (dev->vendor != PCI_VENDOR_ID_APPLICOM) 196 if (!pci_match_id(applicom_pci_tbl, dev))
201 continue;
202
203 if (dev->device > MAX_PCI_DEVICE_NUM || dev->device == 0)
204 continue; 197 continue;
205 198
206 if (pci_enable_device(dev)) 199 if (pci_enable_device(dev))