* [rant] can we get asane ic7xxx/79xx probing _please_ @ 2004-09-06 18:24 Christoph Hellwig 2004-09-08 12:57 ` Luben Tuikov 0 siblings, 1 reply; 9+ messages in thread From: Christoph Hellwig @ 2004-09-06 18:24 UTC (permalink / raw) To: luben_tuikov; +Cc: linux-scsi Sorry to complain to you for Justins mess, but could you please fixup the damn pci probing? Andi sent you a patch to add proper pci tables, and not ignoring the pci_module_init retval would be trivial if the module initialization wasn't split over three routines. Curretly hotplug loads the adaptec drivers for every PCI scsi adapter in the system, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=270102 for details ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-06 18:24 [rant] can we get asane ic7xxx/79xx probing _please_ Christoph Hellwig @ 2004-09-08 12:57 ` Luben Tuikov 2004-09-08 13:03 ` Christoph Hellwig 2004-09-08 13:16 ` Arjan van de Ven 0 siblings, 2 replies; 9+ messages in thread From: Luben Tuikov @ 2004-09-08 12:57 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-scsi Hi Christoph, Thanks for bringing this up. I do have Andi's patch in the pending list, and would like to apply it to the newer version of the driver. I should mention that while the newer drivers do not quite have the PCI tables as presented in Andi's patch, they do check the return value of pci_module_init() and return the appropriate result. Thanks again, Luben Christoph Hellwig wrote: > Sorry to complain to you for Justins mess, but could you please fixup > the damn pci probing? Andi sent you a patch to add proper pci tables, > and not ignoring the pci_module_init retval would be trivial if the > module initialization wasn't split over three routines. > > Curretly hotplug loads the adaptec drivers for every PCI scsi adapter > in the system, see > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=270102 > > for details > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-08 12:57 ` Luben Tuikov @ 2004-09-08 13:03 ` Christoph Hellwig 2004-09-08 13:44 ` Luben Tuikov 2004-09-08 13:16 ` Arjan van de Ven 1 sibling, 1 reply; 9+ messages in thread From: Christoph Hellwig @ 2004-09-08 13:03 UTC (permalink / raw) To: Luben Tuikov; +Cc: Christoph Hellwig, linux-scsi On Wed, Sep 08, 2004 at 08:57:39AM -0400, Luben Tuikov wrote: > Hi Christoph, > > Thanks for bringing this up. I do have Andi's patch in the pending list, > and would like to apply it to the newer version of the driver. > > I should mention that while the newer drivers do not quite have > the PCI tables as presented in Andi's patch, they do check the return > value of pci_module_init() and return the appropriate result. Luben, please stop that new version of the driver stuff. Your job as a maintainer is to keep the driver in the kernel working, and your the steering point for getting right fixes in fast in a controlled way, the last thing we need is driver "releases" that batch up unrelated changes and are delayed forever. So is Andi's (and my later fix okay) and can James apply them or not? ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-08 13:03 ` Christoph Hellwig @ 2004-09-08 13:44 ` Luben Tuikov 2004-09-08 14:30 ` James Bottomley 0 siblings, 1 reply; 9+ messages in thread From: Luben Tuikov @ 2004-09-08 13:44 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-scsi Christoph Hellwig wrote: > On Wed, Sep 08, 2004 at 08:57:39AM -0400, Luben Tuikov wrote: > >>Hi Christoph, >> >>Thanks for bringing this up. I do have Andi's patch in the pending list, >>and would like to apply it to the newer version of the driver. >> >>I should mention that while the newer drivers do not quite have >>the PCI tables as presented in Andi's patch, they do check the return >>value of pci_module_init() and return the appropriate result. > > > Luben, please stop that new version of the driver stuff. Your job as > a maintainer is to keep the driver in the kernel working, and your the > steering point for getting right fixes in fast in a controlled way, the > last thing we need is driver "releases" that batch up unrelated changes > and are delayed forever. > > So is Andi's (and my later fix okay) and can James apply them or not? Yes they are okay and James can apply them. Luben ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-08 13:44 ` Luben Tuikov @ 2004-09-08 14:30 ` James Bottomley 2004-09-12 14:08 ` Christoph Hellwig 0 siblings, 1 reply; 9+ messages in thread From: James Bottomley @ 2004-09-08 14:30 UTC (permalink / raw) To: Luben Tuikov; +Cc: Christoph Hellwig, SCSI Mailing List On Wed, 2004-09-08 at 09:44, Luben Tuikov wrote: > Yes they are okay and James can apply them. OK, could someone do a resend with changelog that applies to the current tree, please. James ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-08 14:30 ` James Bottomley @ 2004-09-12 14:08 ` Christoph Hellwig 2004-09-14 2:56 ` James Bottomley 0 siblings, 1 reply; 9+ messages in thread From: Christoph Hellwig @ 2004-09-12 14:08 UTC (permalink / raw) To: James Bottomley; +Cc: Luben Tuikov, Christoph Hellwig, SCSI Mailing List On Wed, Sep 08, 2004 at 10:30:33AM -0400, James Bottomley wrote: > On Wed, 2004-09-08 at 09:44, Luben Tuikov wrote: > > Yes they are okay and James can apply them. > > OK, could someone do a resend with changelog that applies to the current > tree, please. ---- [PATCH] add proper pci id table to aic7xxx (trivial respin of an earlier patch by Andi Kleen) --- 1.13/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c 2004-06-25 15:24:54 +02:00 +++ edited/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c 2004-09-06 20:35:25 +02:00 @@ -40,6 +40,7 @@ */ #include "aic7xxx_osm.h" +#include "aic7xxx_pci.h" #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) struct pci_device_id @@ -57,16 +58,77 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) static void ahc_linux_pci_dev_remove(struct pci_dev *pdev); -/* We do our own ID filtering. So, grab all SCSI storage class devices. */ static struct pci_device_id ahc_linux_pci_id_table[] = { - { - 0x9004, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, - PCI_CLASS_STORAGE_SCSI << 8, 0xFFFF00, 0 - }, - { - 0x9005, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, - PCI_CLASS_STORAGE_SCSI << 8, 0xFFFF00, 0 - }, +#define LINUXID(x,s) (unsigned)((((x) >> s) & 0xffff) ?: PCI_ANY_ID) +#define ID(x) \ + { \ + LINUXID(x,32), LINUXID(x,48), LINUXID(x,0), LINUXID(x,16), \ + PCI_CLASS_STORAGE_SCSI << 8, 0xFFFF00, 0 \ + } +#define ID4(x,y) \ + ID(x | ((y+0)<<48)), ID(x | ((y+1)<<48)), ID(x | ((y+2)<<48)), \ + ID(x | ((y+3)<<48)) +#define ID16(x) ID4(x,0ULL), ID4(x,4ULL), ID4(x,8ULL), ID4(x,12ULL) + ID(ID_AHA_2902_04_10_15_20C_30C), + ID(ID_AHA_2930CU), + ID(ID_AHA_1480A & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2940AU_0 & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2940AU_CN & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2930C_VAR & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2940), + ID(ID_AHA_3940), + ID(ID_AHA_398X), + ID(ID_AHA_2944), + ID(ID_AHA_3944), + ID(ID_AHA_4944), + ID(ID_AHA_2940U & ID_DEV_VENDOR_MASK), + ID(ID_AHA_3940U & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2944U & ID_DEV_VENDOR_MASK), + ID(ID_AHA_3944U & ID_DEV_VENDOR_MASK), + ID(ID_AHA_398XU & ID_DEV_VENDOR_MASK), + ID(ID_AHA_4944U & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2930U & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2940U_PRO & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2940U_CN & ID_DEV_VENDOR_MASK), + ID(ID_AHA_2930U2), + ID(ID_AHA_2940U2B), + ID(ID_AHA_2940U2_OEM), + ID(ID_AHA_2940U2), + ID(ID_AHA_2950U2B), + ID(ID_AIC7890_ARO), + ID(ID_AAA_131U2), + ID(ID_AHA_29160), + ID(ID_AHA_29160_CPQ), + ID(ID_AHA_29160N), + ID(ID_AHA_29160C), + ID(ID_AHA_29160B), + ID(ID_AHA_19160B), + ID(ID_AIC7892_ARO), + ID(ID_AHA_2940U_DUAL), + ID(ID_AHA_3940AU), + ID(ID_AHA_3944AU), + ID(ID_AIC7895_ARO), + ID(ID_AHA_3950U2B_0), + ID(ID_AHA_3950U2B_1), + ID(ID_AHA_3950U2D_0), + ID(ID_AHA_3950U2D_1), + ID(ID_AIC7896_ARO), + ID(ID_AHA_3960D), + ID(ID_AHA_3960D_CPQ), + ID(ID_AIC7899_ARO), + ID(ID_AIC7850 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7855 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7859 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7860 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7870 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7880 & ID_DEV_VENDOR_MASK), + ID16(ID_AIC7890), + ID16(ID_AIC7892), + ID(ID_AIC7895 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7896), + ID(ID_AIC7899), + ID(ID_AIC7810 & ID_DEV_VENDOR_MASK), + ID(ID_AIC7815 & ID_DEV_VENDOR_MASK), { 0 } }; ===== drivers/scsi/aic7xxx/aic7xxx_pci.c 1.19 vs edited ===== --- 1.19/drivers/scsi/aic7xxx/aic7xxx_pci.c 2004-07-26 23:54:35 +02:00 +++ edited/drivers/scsi/aic7xxx/aic7xxx_pci.c 2004-09-06 20:35:25 +02:00 @@ -54,100 +54,10 @@ #include <dev/aic7xxx/aic7xxx_93cx6.h> #endif +#include "aic7xxx_pci.h" + #define AHC_PCI_IOADDR PCIR_MAPS /* I/O Address */ #define AHC_PCI_MEMADDR (PCIR_MAPS + 4) /* Mem I/O Address */ - -static __inline uint64_t -ahc_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor) -{ - uint64_t id; - - id = subvendor - | (subdevice << 16) - | ((uint64_t)vendor << 32) - | ((uint64_t)device << 48); - - return (id); -} - -#define ID_ALL_MASK 0xFFFFFFFFFFFFFFFFull -#define ID_DEV_VENDOR_MASK 0xFFFFFFFF00000000ull -#define ID_9005_GENERIC_MASK 0xFFF0FFFF00000000ull -#define ID_9005_SISL_MASK 0x000FFFFF00000000ull -#define ID_9005_SISL_ID 0x0005900500000000ull -#define ID_AIC7850 0x5078900400000000ull -#define ID_AHA_2902_04_10_15_20C_30C 0x5078900478509004ull -#define ID_AIC7855 0x5578900400000000ull -#define ID_AIC7859 0x3860900400000000ull -#define ID_AHA_2930CU 0x3860900438699004ull -#define ID_AIC7860 0x6078900400000000ull -#define ID_AIC7860C 0x6078900478609004ull -#define ID_AHA_1480A 0x6075900400000000ull -#define ID_AHA_2940AU_0 0x6178900400000000ull -#define ID_AHA_2940AU_1 0x6178900478619004ull -#define ID_AHA_2940AU_CN 0x2178900478219004ull -#define ID_AHA_2930C_VAR 0x6038900438689004ull - -#define ID_AIC7870 0x7078900400000000ull -#define ID_AHA_2940 0x7178900400000000ull -#define ID_AHA_3940 0x7278900400000000ull -#define ID_AHA_398X 0x7378900400000000ull -#define ID_AHA_2944 0x7478900400000000ull -#define ID_AHA_3944 0x7578900400000000ull -#define ID_AHA_4944 0x7678900400000000ull - -#define ID_AIC7880 0x8078900400000000ull -#define ID_AIC7880_B 0x8078900478809004ull -#define ID_AHA_2940U 0x8178900400000000ull -#define ID_AHA_3940U 0x8278900400000000ull -#define ID_AHA_2944U 0x8478900400000000ull -#define ID_AHA_3944U 0x8578900400000000ull -#define ID_AHA_398XU 0x8378900400000000ull -#define ID_AHA_4944U 0x8678900400000000ull -#define ID_AHA_2940UB 0x8178900478819004ull -#define ID_AHA_2930U 0x8878900478889004ull -#define ID_AHA_2940U_PRO 0x8778900478879004ull -#define ID_AHA_2940U_CN 0x0078900478009004ull - -#define ID_AIC7895 0x7895900478959004ull -#define ID_AIC7895_ARO 0x7890900478939004ull -#define ID_AIC7895_ARO_MASK 0xFFF0FFFFFFFFFFFFull -#define ID_AHA_2940U_DUAL 0x7895900478919004ull -#define ID_AHA_3940AU 0x7895900478929004ull -#define ID_AHA_3944AU 0x7895900478949004ull - -#define ID_AIC7890 0x001F9005000F9005ull -#define ID_AIC7890_ARO 0x00139005000F9005ull -#define ID_AAA_131U2 0x0013900500039005ull -#define ID_AHA_2930U2 0x0011900501819005ull -#define ID_AHA_2940U2B 0x00109005A1009005ull -#define ID_AHA_2940U2_OEM 0x0010900521809005ull -#define ID_AHA_2940U2 0x00109005A1809005ull -#define ID_AHA_2950U2B 0x00109005E1009005ull - -#define ID_AIC7892 0x008F9005FFFF9005ull -#define ID_AIC7892_ARO 0x00839005FFFF9005ull -#define ID_AHA_29160 0x00809005E2A09005ull -#define ID_AHA_29160_CPQ 0x00809005E2A00E11ull -#define ID_AHA_29160N 0x0080900562A09005ull -#define ID_AHA_29160C 0x0080900562209005ull -#define ID_AHA_29160B 0x00809005E2209005ull -#define ID_AHA_19160B 0x0081900562A19005ull - -#define ID_AIC7896 0x005F9005FFFF9005ull -#define ID_AIC7896_ARO 0x00539005FFFF9005ull -#define ID_AHA_3950U2B_0 0x00509005FFFF9005ull -#define ID_AHA_3950U2B_1 0x00509005F5009005ull -#define ID_AHA_3950U2D_0 0x00519005FFFF9005ull -#define ID_AHA_3950U2D_1 0x00519005B5009005ull - -#define ID_AIC7899 0x00CF9005FFFF9005ull -#define ID_AIC7899_ARO 0x00C39005FFFF9005ull -#define ID_AHA_3960D 0x00C09005F6209005ull -#define ID_AHA_3960D_CPQ 0x00C09005F6200E11ull - -#define ID_AIC7810 0x1078900400000000ull -#define ID_AIC7815 0x7815900400000000ull #define DEVID_9005_TYPE(id) ((id) & 0xF) #define DEVID_9005_TYPE_HBA 0x0 /* Standard Card */ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-12 14:08 ` Christoph Hellwig @ 2004-09-14 2:56 ` James Bottomley 0 siblings, 0 replies; 9+ messages in thread From: James Bottomley @ 2004-09-14 2:56 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Luben Tuikov, SCSI Mailing List On Sun, 2004-09-12 at 10:08, Christoph Hellwig wrote: > On Wed, Sep 08, 2004 at 10:30:33AM -0400, James Bottomley wrote: > > On Wed, 2004-09-08 at 09:44, Luben Tuikov wrote: > > > Yes they are okay and James can apply them. > > > > OK, could someone do a resend with changelog that applies to the current > > tree, please. > > ---- > [PATCH] add proper pci id table to aic7xxx > > (trivial respin of an earlier patch by Andi Kleen) This doesn't actually compile: aic7xxx_pci.h is missing, I think. James ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-08 12:57 ` Luben Tuikov 2004-09-08 13:03 ` Christoph Hellwig @ 2004-09-08 13:16 ` Arjan van de Ven 2004-09-08 13:46 ` Luben Tuikov 1 sibling, 1 reply; 9+ messages in thread From: Arjan van de Ven @ 2004-09-08 13:16 UTC (permalink / raw) To: Luben Tuikov; +Cc: Christoph Hellwig, linux-scsi [-- Attachment #1: Type: text/plain, Size: 654 bytes --] On Wed, 2004-09-08 at 14:57, Luben Tuikov wrote: > Hi Christoph, > > Thanks for bringing this up. I do have Andi's patch in the pending list, > and would like to apply it to the newer version of the driver. > > I should mention that while the newer drivers do not quite have > the PCI tables as presented in Andi's patch, they do check the return > value of pci_module_init() and return the appropriate result. please please please provide linux compliant MODULE_DEVICE_TABLE's. Operating system hardware probing apps *require* those for device probing; right now there are very ugly hacks especially for aic7xxx that should go away. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rant] can we get asane ic7xxx/79xx probing _please_ 2004-09-08 13:16 ` Arjan van de Ven @ 2004-09-08 13:46 ` Luben Tuikov 0 siblings, 0 replies; 9+ messages in thread From: Luben Tuikov @ 2004-09-08 13:46 UTC (permalink / raw) To: arjanv; +Cc: Christoph Hellwig, linux-scsi Arjan van de Ven wrote: > On Wed, 2004-09-08 at 14:57, Luben Tuikov wrote: > >>Hi Christoph, >> >>Thanks for bringing this up. I do have Andi's patch in the pending list, >>and would like to apply it to the newer version of the driver. >> >>I should mention that while the newer drivers do not quite have >>the PCI tables as presented in Andi's patch, they do check the return >>value of pci_module_init() and return the appropriate result. > > > please please please provide linux compliant MODULE_DEVICE_TABLE's. > Operating system hardware probing apps *require* those for device > probing; right now there are very ugly hacks especially for aic7xxx that > should go away. > Yes Arjan, I agree. Luben ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2004-09-14 2:57 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-09-06 18:24 [rant] can we get asane ic7xxx/79xx probing _please_ Christoph Hellwig 2004-09-08 12:57 ` Luben Tuikov 2004-09-08 13:03 ` Christoph Hellwig 2004-09-08 13:44 ` Luben Tuikov 2004-09-08 14:30 ` James Bottomley 2004-09-12 14:08 ` Christoph Hellwig 2004-09-14 2:56 ` James Bottomley 2004-09-08 13:16 ` Arjan van de Ven 2004-09-08 13:46 ` Luben Tuikov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox