Rolf Eike Beer napsal(a):

Signed-off-by: Rolf Eike Beer <[EMAIL PROTECTED]>

--- a/drivers/scsi/cpqfcTSinit.c        2005-08-14 14:20:40.000000000 +0200
+++ b/drivers/scsi/cpqfcTSinit.c        2005-08-14 14:25:33.000000000 +0200
@@ -264,18 +264,14 @@ static void launch_FCworker_thread(struc
* Agilent XL2 * HP Tachyon
 */
-#define HBA_TYPES 3
-
-#ifndef PCI_DEVICE_ID_COMPAQ_
-#define PCI_DEVICE_ID_COMPAQ_TACHYON   0xa0fc
-#endif
-
-static struct SupportedPCIcards cpqfc_boards[] __initdata = {
-       {PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_TACHYON},
-       {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_TACHLITE},
-       {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_TACHYON},
+static struct pci_device_id cpqfc_boards[] __initdata = {
+       {PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_TACHYON, PCI_ANY_ID, 
PCI_ANY_ID, 0, 0, 0},
+       {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_TACHLITE, PCI_ANY_ID, PCI_ANY_ID, 
0, 0, 0},
+       {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_TACHYON, PCI_ANY_ID, PCI_ANY_ID, 0, 
0, 0},
+       {0, }
};
Wouldn't be better to use PCI_DEVICE macro for better readability?


+MODULE_DEVICE_TABLE(pci, cpqfc_boards);

int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate)
{
@@ -294,14 +290,9 @@ int cpqfcTS_detect(Scsi_Host_Template *S
  ScsiHostTemplate->proc_name = "cpqfcTS";
#endif

-  for( i=0; i < HBA_TYPES; i++)
-  {
-    // look for all HBAs of each type
-
-    while((PciDev = pci_find_device(cpqfc_boards[i].vendor_id,
-                                   cpqfc_boards[i].device_id, PciDev)))
-    {
-
+  for(i = 0; cpqfc_boards[i]; i++) {
+    while((PciDev = pci_get_device(cpqfc_boards[i].vendor,
+                                   cpqfc_boards[i].device, PciDev))) {
      if (pci_enable_device(PciDev)) {
        printk(KERN_ERR
                "cpqfc: can't enable PCI device at %s\n", pci_name(PciDev));
You maybe forgot to add pci_dev_put in error cases. You can inspire yourself here:
http://www.fi.muni.cz/~xslaby/lnx/pci_find/drivers:scsi:cpqfcTSinit.c.txt
(it wasn't accepted yet).

BTW. Greg KH wants me to cc him, if some of these changes are being done.

regards,

--
Jiri Slaby         www.fi.muni.cz/~xslaby
~\-/~      [EMAIL PROTECTED]      ~\-/~
241B347EC88228DE51EE A49C4A73A25004CB2A10

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to