#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) spin_lock_irq(&io_request_lock); #endif 
ahd_linux_detect(Scsi_Host_Template *template){	struct	ahd_softc *ahd;	int     found;	int	error = 0;#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)	/*	 * It is a bug that the upper layer takes	 * this lock just prior to calling us.	 */	spin_unlock_irq(&io_request_lock);#endif	/*	 * Sanity checking of Linux SCSI data structures so	 * that some of our hacks^H^H^H^H^Hassumptions aren't	 * violated.	 */	if (offsetof(struct ahd_cmd_internal, end)	  > offsetof(struct scsi_cmnd, host_scribble)) {		printf("ahd_linux_detect: SCSI data structures changed.\n");		printf("ahd_linux_detect: Unable to attach\n");		return (0);	}	/*	 * Determine an appropriate size for our Scatter Gatther lists.	 */	ahd_linux_size_nseg();#ifdef MODULE	/*	 * If we've been passed any parameters, process them now.	 */	if (aic79xx)		aic79xx_setup(aic79xx);#endif	template->proc_name = "aic79xx";	/*	 * Initialize our softc list lock prior to	 * probing for any adapters.	 */	ahd_list_lockinit();#ifdef CONFIG_PCI	error = ahd_linux_pci_init();	if (error)		return error;#endif	/*	 * Register with the SCSI layer all	 * controllers we've found.	 */	found = 0;	TAILQ_FOREACH(ahd, &ahd_tailq, links) {		if (ahd_linux_register_host(ahd, template) == 0)			found++;	}#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)	spin_lock_irq(&io_request_lock);#endif	aic79xx_detect_complete++;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/60a13213840296b1e32d6781653a0eaa83d04382/aic79xx_osm.c/clean/drivers/scsi/aic7xxx/aic79xx_osm.c