US_DEBUGP("INIT 12\n"); 
US_DEBUGP("INIT 8\n"); 
int init_usbat(struct us_data *us){	int rc;	struct usbat_info *info;	unsigned char subcountH = USBAT_ATA_LBA_HI;	unsigned char subcountL = USBAT_ATA_LBA_ME;	unsigned char *status = us->iobuf;	us->extra = kmalloc(sizeof(struct usbat_info), GFP_NOIO);	if (!us->extra) {		US_DEBUGP("init_usbat: Gah! Can't allocate storage for usbat info struct!\n");		return 1;	}	memset(us->extra, 0, sizeof(struct usbat_info));	info = (struct usbat_info *) (us->extra);	// Enable peripheral control signals	rc = usbat_write_user_io(us,				 USBAT_UIO_OE1 | USBAT_UIO_OE0,				 USBAT_UIO_EPAD | USBAT_UIO_1);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 1\n");	msleep(2000);	rc = usbat_read_user_io(us, status);	if (rc != USB_STOR_TRANSPORT_GOOD)		return rc;	US_DEBUGP("INIT 2\n");	rc = usbat_read_user_io(us, status);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	rc = usbat_read_user_io(us, status);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 3\n");	// At this point, we need to detect which device we are using	if (usbat_set_transport(us, info))		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 4\n");	if (usbat_get_device_type(us) == USBAT_DEV_HP8200) {		msleep(250);		// Write 0x80 to ISA port 0x3F		rc = usbat_write(us, USBAT_ISA, 0x3F, 0x80);		if (rc != USB_STOR_XFER_GOOD)			return USB_STOR_TRANSPORT_ERROR;		US_DEBUGP("INIT 5\n");		// Read ISA port 0x27		rc = usbat_read(us, USBAT_ISA, 0x27, status);		if (rc != USB_STOR_XFER_GOOD)			return USB_STOR_TRANSPORT_ERROR;		US_DEBUGP("INIT 6\n");		rc = usbat_read_user_io(us, status);		if (rc != USB_STOR_XFER_GOOD)			return USB_STOR_TRANSPORT_ERROR;		US_DEBUGP("INIT 7\n");	}	rc = usbat_select_and_test_registers(us);	if (rc != USB_STOR_TRANSPORT_GOOD)		return rc;	US_DEBUGP("INIT 8\n");	rc = usbat_read_user_io(us, status);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 9\n");	// Enable peripheral control signals and card detect	rc = usbat_device_enable_cdt(us);	if (rc != USB_STOR_TRANSPORT_GOOD)		return rc;	US_DEBUGP("INIT 10\n");	rc = usbat_read_user_io(us, status);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 11\n");	msleep(1400);	rc = usbat_read_user_io(us, status);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 12\n");	rc = usbat_select_and_test_registers(us);	if (rc != USB_STOR_TRANSPORT_GOOD)		return rc;	US_DEBUGP("INIT 13\n");	if (usbat_get_device_type(us) == USBAT_DEV_FLASH) { 		subcountH = 0x02;		subcountL = 0x00;	}	rc = usbat_set_shuttle_features(us, (USBAT_FEAT_ETEN | USBAT_FEAT_ET2 | USBAT_FEAT_ET1),									0x00, 0x88, 0x08, subcountH, subcountL);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("INIT 14\n");	return USB_STOR_TRANSPORT_GOOD;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/68a6457edb8a64fdcc231a4fc5406f6e3f6c9b33/shuttle_usbat.c/clean/drivers/usb/storage/shuttle_usbat.c