diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2008-02-08 07:21:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-08 12:22:41 -0500 |
commit | 53a7a1bb438245cd2ef9674b9af3a5201d7d7657 (patch) | |
tree | 4bceb875bacd585d96788242fda0b1cb82e956b5 | |
parent | 55b29a728e37ac4b87d09ba8da480f14bdec3b8d (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>
-rw-r--r-- | drivers/char/applicom.c | 15 |
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 | ||
62 | static char *applicom_pci_devnames[] = { | 61 | static char *applicom_pci_devnames[] = { |
63 | "PCI board", | 62 | "PCI board", |
@@ -66,12 +65,9 @@ static char *applicom_pci_devnames[] = { | |||
66 | }; | 65 | }; |
67 | 66 | ||
68 | static struct pci_device_id applicom_pci_tbl[] = { | 67 | static 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 | }; |
77 | MODULE_DEVICE_TABLE(pci, applicom_pci_tbl); | 73 | MODULE_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)) |