aic7xxx: remove ahc_tailq
Subsystems (2)
PATCH 1/1 aic7xxx: remove ahc_tailq
now that we do normal PCI probing there's no need to keep a list of all HBAs.
drivers/scsi/aic7xxx/aic7770.c +1 -8
@@ -254,19 +254,12 @@if (error !=0 )return (error); -ahc_list_lock (&l); -/* -* Link this softc in with all other ahc instances. -*/ -ahc_softc_insert (ahc); + ahc->init_level++;/* * Enable the board's BUS drivers */ ahc_outb (ahc,BCTL ,ENABLE ); - -ahc_list_unlock (&l); -return (0 ); }
drivers/scsi/aic7xxx/aic7xxx.h +0 -7
@@ -1023,9 +1023,6 @@struct cs *critical_sections;u_int num_critical_sections; -/* Links for chaining softcs */ -TAILQ_ENTRY (ahc_softc) links; -/* Channel Names ('A', 'B', etc.) */ char channel;char channel_b;
@@ -1110,9 +1107,6 @@uint16_t user_tagenable;/* Tagged Queuing allowed */ }; -TAILQ_HEAD (ahc_softc_tailq, ahc_softc); -extern struct ahc_softc_tailq ahc_tailq; -/************************ Active Device Information ***************************/ typedef enum { ROLE_UNKNOWN,
@@ -1198,7 +1192,6 @@void ahc_pause_and_flushwork (struct ahc_softc *ahc);int ahc_suspend (struct ahc_softc *ahc);int ahc_resume (struct ahc_softc *ahc); -void ahc_softc_insert (struct ahc_softc *);void ahc_set_unit (struct ahc_softc *,int );void ahc_set_name (struct ahc_softc *,char *);void ahc_alloc_scbs (struct ahc_softc *ahc);
drivers/scsi/aic7xxx/aic7xxx_core.c +0 -22
@@ -52,9 +52,6 @@#include <dev/aic7xxx/aicasm/aicasm_insformat.h> #endif -/****************************** Softc Data ************************************/ -struct ahc_softc_tailq ahc_tailq =TAILQ_HEAD_INITIALIZER (ahc_tailq); -/***************************** Lookup Tables **********************************/ char *ahc_chip_names[] = {
@@ -3879,25 +3876,6 @@ }void -ahc_softc_insert (struct ahc_softc *ahc) -{ -struct ahc_softc *list_ahc; - -/* -* Insertion sort into our list of softcs. -*/ - list_ahc =TAILQ_FIRST (&ahc_tailq); -while (list_ahc !=NULL - &&ahc_softc_comp (ahc, list_ahc) <=0 ) - list_ahc =TAILQ_NEXT (list_ahc, links); -if (list_ahc !=NULL ) -TAILQ_INSERT_BEFORE (list_ahc, ahc, links); -else -TAILQ_INSERT_TAIL (&ahc_tailq, ahc, links); - ahc->init_level++; -} - -void ahc_set_unit (struct ahc_softc *ahc,int unit) { ahc->unit = unit;
drivers/scsi/aic7xxx/aic7xxx_osm.c +4 -148
200 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_osm.h +0 -28
@@ -509,15 +509,6 @@/******************************** Locking *************************************/ /* Lock protecting internal data structures */ -static __inlinevoid ahc_lockinit (struct ahc_softc *); -static __inlinevoid ahc_lock (struct ahc_softc *,unsigned long *flags); -static __inlinevoid ahc_unlock (struct ahc_softc *,unsigned long *flags); - -/* Lock held during ahc_list manipulation and ahc softc frees */ -extern spinlock_t ahc_list_spinlock; -static __inlinevoid ahc_list_lockinit (void ); -static __inlinevoid ahc_list_lock (unsigned long *flags); -static __inlinevoid ahc_list_unlock (unsigned long *flags);static __inlinevoid ahc_lockinit (struct ahc_softc *ahc)
@@ -537,24 +528,6 @@spin_unlock_irqrestore (&ahc->platform_data->spin_lock, *flags); } -static __inlinevoid -ahc_list_lockinit (void ) -{ -spin_lock_init (&ahc_list_spinlock); -} - -static __inlinevoid -ahc_list_lock (unsigned long *flags) -{ -spin_lock_irqsave (&ahc_list_spinlock, *flags); -} - -static __inlinevoid -ahc_list_unlock (unsigned long *flags) -{ -spin_unlock_irqrestore (&ahc_list_spinlock, *flags); -} -/******************************* PCI Definitions ******************************/ /* * PCIM_xxx: mask to locate subfield in register
@@ -891,7 +864,6 @@irqreturn_t ahc_linux_isr (int irq,void *dev_id,struct pt_regs * regs);void ahc_platform_flushwork (struct ahc_softc *ahc); -int ahc_softc_comp (struct ahc_softc *,struct ahc_softc *);void ahc_done (struct ahc_softc *,struct scb *);void ahc_send_async (struct ahc_softc *,char channel,u_int target,u_int lun,ac_code ,void *);
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c +0 -4
@@ -143,10 +143,6 @@struct ahc_softc *ahc =pci_get_drvdata (pdev);u_long s; -ahc_list_lock (&s); -TAILQ_REMOVE (&ahc_tailq, ahc, links); -ahc_list_unlock (&s); -ahc_lock (ahc, &s);ahc_intr_enable (ahc, FALSE);ahc_unlock (ahc, &s);
drivers/scsi/aic7xxx/aic7xxx_pci.c +1 -7
@@ -704,7 +704,6 @@int ahc_pci_config (struct ahc_softc *ahc,struct ahc_pci_identity *entry) { -u_long l;u_int command;u_int our_id;u_int sxfrctl1;
@@ -964,12 +963,7 @@if (error !=0 )return (error); -ahc_list_lock (&l); -/* -* Link this softc in with all other ahc instances. -*/ -ahc_softc_insert (ahc); -ahc_list_unlock (&l); + ahc->init_level++;return (0 ); }