ahc_find_period(ahc, scsirate, AHC_SYNCRATE_DT); 
ahc_find_period(ahc, scsirate, maxsync);  
ahc_linux_target_alloc(struct scsi_target *starget){	struct	ahc_softc *ahc =		*((struct ahc_softc **)dev_to_shost(&starget->dev)->hostdata);	struct seeprom_config *sc = ahc->seep_config;	unsigned long flags;	struct scsi_target **ahc_targp = ahc_linux_target_in_softc(starget);	struct ahc_linux_target *targ = scsi_transport_target_data(starget);	unsigned short scsirate;	struct ahc_devinfo devinfo;	struct ahc_initiator_tinfo *tinfo;	struct ahc_tmode_tstate *tstate;	char channel = starget->channel + 'A';	unsigned int our_id = ahc->our_id;	unsigned int target_offset;	target_offset = starget->id;	if (starget->channel != 0)		target_offset += 8;	  	if (starget->channel)		our_id = ahc->our_id_b;	ahc_lock(ahc, &flags);	BUG_ON(*ahc_targp != NULL);	*ahc_targp = starget;	memset(targ, 0, sizeof(*targ));	if (sc) {		if ((ahc->features & AHC_ULTRA2) != 0) {			scsirate = sc->device_flags[target_offset] & CFXFER;		} else {			scsirate = (sc->device_flags[target_offset] & CFXFER) << 4;			if (sc->device_flags[target_offset] & CFSYNCH)				scsirate |= SOFS;		}		if (sc->device_flags[target_offset] & CFWIDEB) {			scsirate |= WIDEXFER;			spi_max_width(starget) = 1;		} else			spi_max_width(starget) = 0;		spi_min_period(starget) = 			ahc_find_period(ahc, scsirate, AHC_SYNCRATE_DT);		tinfo = ahc_fetch_transinfo(ahc, channel, ahc->our_id,					    starget->id, &tstate);	}	ahc_compile_devinfo(&devinfo, our_id, starget->id,			    CAM_LUN_WILDCARD, channel,			    ROLE_INITIATOR);	ahc_set_syncrate(ahc, &devinfo, NULL, 0, 0, 0,			 AHC_TRANS_GOAL, /*paused*/FALSE);	ahc_set_width(ahc, &devinfo, MSG_EXT_WDTR_BUS_8_BIT,		      AHC_TRANS_GOAL, /*paused*/FALSE);	ahc_unlock(ahc, &flags);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/12021fff2bae7fab01c4bf283f3cd9bc6997d8c4/aic7xxx_osm.c/clean/drivers/scsi/aic7xxx/aic7xxx_osm.c