Re: [PATCH 2.6.13-rc6] MODULE_DEVICE_TABLE for cpqfcTS driver

Jiri Slaby
2005-08-16T12:53:59Z

Rolf Eike Beer napsal(a):

>Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
>
>--- 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
~\-/~ jirislaby@gmail.com ~\-/~
241B347EC88228DE51EE A49C4A73A25004CB2A10