rework aic79xx pci probing
Subsystems (2)
RFC PATCH 1/1 rework aic79xx pci probing
Add a fully populated pci_device_id table as primary probing instrument. It contains the PCI IDs in all detail and sets the chiptype in the driver_data field. By also always using the generic chip identifcation string instead of the exact branding this allows to get rid of all the matching in aic7xxx_pci.c. While there is lots of code removed from that common file I took great care to not introduce Linuxisms, FreeBSD can be easily adapted to these changes by doing the work in their OS-specific module.
I'd love to see someone from Adaptec double-check the PCI ID table, the one in aic79xx_pci.c was inconsistant (the generic entires were overlapping).
drivers/scsi/aic7xxx/aic79xx.h +1 -3
@@ -1341,9 +1341,7 @@ }/***************************** PCI Front End *********************************/ -struct ahd_pci_identity *ahd_find_pci_device (ahd_dev_softc_t ); -int ahd_pci_config (struct ahd_softc *, -struct ahd_pci_identity *); +int ahd_pci_config (struct ahd_softc *);int ahd_pci_test_register_access (struct ahd_softc *);/************************** SCB and SCB queue management **********************/
===== drivers/scsi/aic7xxx/aic79xx_osm_pci.c 1.12 vs edited =====
drivers/scsi/aic7xxx/aic79xx_osm_pci.c +38 -15
78 lines not on this page · raw message
===== drivers/scsi/aic7xxx/aic79xx_pci.c 1.15 vs edited =====
drivers/scsi/aic7xxx/aic79xx_pci.c +18 -230
285 lines not on this page · raw message