From 53a7a1bb438245cd2ef9674b9af3a5201d7d7657 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Fri, 8 Feb 2008 04:21:51 -0800 Subject: [PATCH] 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 Cc: WANG Cong Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/char/applicom.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c index b0bb71b1fcf..a7c4990b5b6 100644 --- a/drivers/char/applicom.c +++ b/drivers/char/applicom.c @@ -57,7 +57,6 @@ #define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 0x0002 #define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 0x0003 #endif -#define MAX_PCI_DEVICE_NUM 3 static char *applicom_pci_devnames[] = { "PCI board", @@ -66,12 +65,9 @@ static char *applicom_pci_devnames[] = { }; static struct pci_device_id applicom_pci_tbl[] = { - { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, - { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, - { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000PFB, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VDEVICE(APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC) }, + { PCI_VDEVICE(APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN) }, + { PCI_VDEVICE(APPLICOM, PCI_DEVICE_ID_APPLICOM_PCI2000PFB) }, { 0 } }; MODULE_DEVICE_TABLE(pci, applicom_pci_tbl); @@ -197,10 +193,7 @@ static int __init applicom_init(void) while ( (dev = pci_get_class(PCI_CLASS_OTHERS << 16, dev))) { - if (dev->vendor != PCI_VENDOR_ID_APPLICOM) - continue; - - if (dev->device > MAX_PCI_DEVICE_NUM || dev->device == 0) + if (!pci_match_id(applicom_pci_tbl, dev)) continue; if (pci_enable_device(dev))