if (ahc->platform_data->host) scsi_host_put(ahc->platform_data->host);  
ahc_platform_free(struct ahc_softc *ahc){	struct scsi_target *starget;	int i, j;	if (ahc->platform_data != NULL) {		if (ahc->platform_data->host != NULL) {			scsi_remove_host(ahc->platform_data->host);			scsi_host_put(ahc->platform_data->host);		}		/* destroy all of the device and target objects */		for (i = 0; i < AHC_NUM_TARGETS; i++) {			starget = ahc->platform_data->starget[i];			if (starget != NULL) {				for (j = 0; j < AHC_NUM_LUNS; j++) {					struct ahc_linux_target *targ =						scsi_transport_target_data(starget);					if (targ->sdev[j] == NULL)						continue;					targ->sdev[j] = NULL;				}				ahc->platform_data->starget[i] = NULL; 			} 		}		if (ahc->platform_data->irq != AHC_LINUX_NOIRQ)			free_irq(ahc->platform_data->irq, ahc);		if (ahc->tag == BUS_SPACE_PIO		 && ahc->bsh.ioport != 0)			release_region(ahc->bsh.ioport, 256);		if (ahc->tag == BUS_SPACE_MEMIO		 && ahc->bsh.maddr != NULL) {			iounmap(ahc->bsh.maddr);			release_mem_region(ahc->platform_data->mem_busaddr,					   0x1000);		}		free(ahc->platform_data, M_DEVBUF);	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/97af50f60ff1202b0dd9ce481d4cf98c6a578bec/aic7xxx_osm.c/clean/drivers/scsi/aic7xxx/aic7xxx_osm.c