Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[SCSI] usb: shuttle_usbat - convert to accessors and !use_sg code path removal

- functions that received char* but where passed scatterlist* mostly
were changed to receive void*
- Use scsi data accessors and remove of !use_sg code path

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Acked-by: Matthew Dharm <mdharm-scsi@one-eyed-alien.net>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

authored by

Boaz Harrosh and committed by
James Bottomley
4776e99e 41c2497b

+26 -42
+26 -42
drivers/usb/storage/shuttle_usbat.c
··· 130 130 * Convenience function to perform a bulk read 131 131 */ 132 132 static int usbat_bulk_read(struct us_data *us, 133 - unsigned char *data, 133 + void* buf, 134 134 unsigned int len, 135 135 int use_sg) 136 136 { ··· 138 138 return USB_STOR_XFER_GOOD; 139 139 140 140 US_DEBUGP("usbat_bulk_read: len = %d\n", len); 141 - return usb_stor_bulk_transfer_sg(us, us->recv_bulk_pipe, data, len, use_sg, NULL); 141 + return usb_stor_bulk_transfer_sg(us, us->recv_bulk_pipe, buf, len, use_sg, NULL); 142 142 } 143 143 144 144 /* 145 145 * Convenience function to perform a bulk write 146 146 */ 147 147 static int usbat_bulk_write(struct us_data *us, 148 - unsigned char *data, 148 + void* buf, 149 149 unsigned int len, 150 150 int use_sg) 151 151 { ··· 153 153 return USB_STOR_XFER_GOOD; 154 154 155 155 US_DEBUGP("usbat_bulk_write: len = %d\n", len); 156 - return usb_stor_bulk_transfer_sg(us, us->send_bulk_pipe, data, len, use_sg, NULL); 156 + return usb_stor_bulk_transfer_sg(us, us->send_bulk_pipe, buf, len, use_sg, NULL); 157 157 } 158 158 159 159 /* ··· 314 314 * Read block data from the data register 315 315 */ 316 316 static int usbat_read_block(struct us_data *us, 317 - unsigned char *content, 317 + void* buf, 318 318 unsigned short len, 319 319 int use_sg) 320 320 { ··· 337 337 if (result != USB_STOR_XFER_GOOD) 338 338 return USB_STOR_TRANSPORT_ERROR; 339 339 340 - result = usbat_bulk_read(us, content, len, use_sg); 340 + result = usbat_bulk_read(us, buf, len, use_sg); 341 341 return (result == USB_STOR_XFER_GOOD ? 342 342 USB_STOR_TRANSPORT_GOOD : USB_STOR_TRANSPORT_ERROR); 343 343 } ··· 347 347 */ 348 348 static int usbat_write_block(struct us_data *us, 349 349 unsigned char access, 350 - unsigned char *content, 350 + void* buf, 351 351 unsigned short len, 352 352 int minutes, 353 353 int use_sg) ··· 372 372 if (result != USB_STOR_XFER_GOOD) 373 373 return USB_STOR_TRANSPORT_ERROR; 374 374 375 - result = usbat_bulk_write(us, content, len, use_sg); 375 + result = usbat_bulk_write(us, buf, len, use_sg); 376 376 if (result != USB_STOR_XFER_GOOD) 377 377 return USB_STOR_TRANSPORT_ERROR; 378 378 ··· 392 392 unsigned char timeout, 393 393 unsigned char qualifier, 394 394 int direction, 395 - unsigned char *content, 395 + void *buf, 396 396 unsigned short len, 397 397 int use_sg, 398 398 int minutes) ··· 472 472 } 473 473 474 474 result = usb_stor_bulk_transfer_sg(us, 475 - pipe, content, len, use_sg, NULL); 475 + pipe, buf, len, use_sg, NULL); 476 476 477 477 /* 478 478 * If we get a stall on the bulk download, we'll retry ··· 606 606 * other related details) are defined beforehand with _set_shuttle_features(). 607 607 */ 608 608 static int usbat_read_blocks(struct us_data *us, 609 - unsigned char *buffer, 609 + void* buffer, 610 610 int len, 611 611 int use_sg) 612 612 { ··· 648 648 * other related details) are defined beforehand with _set_shuttle_features(). 649 649 */ 650 650 static int usbat_write_blocks(struct us_data *us, 651 - unsigned char *buffer, 651 + void* buffer, 652 652 int len, 653 653 int use_sg) 654 654 { ··· 1170 1170 US_DEBUGP("handle_read10: transfersize %d\n", 1171 1171 srb->transfersize); 1172 1172 1173 - if (srb->request_bufflen < 0x10000) { 1173 + if (scsi_bufflen(srb) < 0x10000) { 1174 1174 1175 1175 result = usbat_hp8200e_rw_block_test(us, USBAT_ATA, 1176 1176 registers, data, 19, 1177 1177 USBAT_ATA_DATA, USBAT_ATA_STATUS, 0xFD, 1178 1178 (USBAT_QUAL_FCQ | USBAT_QUAL_ALQ), 1179 1179 DMA_FROM_DEVICE, 1180 - srb->request_buffer, 1181 - srb->request_bufflen, srb->use_sg, 1); 1180 + scsi_sglist(srb), 1181 + scsi_bufflen(srb), scsi_sg_count(srb), 1); 1182 1182 1183 1183 return result; 1184 1184 } ··· 1196 1196 len <<= 16; 1197 1197 len |= data[7+7]; 1198 1198 US_DEBUGP("handle_read10: GPCMD_READ_CD: len %d\n", len); 1199 - srb->transfersize = srb->request_bufflen/len; 1199 + srb->transfersize = scsi_bufflen(srb)/len; 1200 1200 } 1201 1201 1202 1202 if (!srb->transfersize) { ··· 1213 1213 1214 1214 len = (65535/srb->transfersize) * srb->transfersize; 1215 1215 US_DEBUGP("Max read is %d bytes\n", len); 1216 - len = min(len, srb->request_bufflen); 1216 + len = min(len, scsi_bufflen(srb)); 1217 1217 buffer = kmalloc(len, GFP_NOIO); 1218 1218 if (buffer == NULL) /* bloody hell! */ 1219 1219 return USB_STOR_TRANSPORT_FAILED; ··· 1222 1222 sector |= short_pack(data[7+5], data[7+4]); 1223 1223 transferred = 0; 1224 1224 1225 - while (transferred != srb->request_bufflen) { 1225 + while (transferred != scsi_bufflen(srb)) { 1226 1226 1227 - if (len > srb->request_bufflen - transferred) 1228 - len = srb->request_bufflen - transferred; 1227 + if (len > scsi_bufflen(srb) - transferred) 1228 + len = scsi_bufflen(srb) - transferred; 1229 1229 1230 1230 data[3] = len&0xFF; /* (cylL) = expected length (L) */ 1231 1231 data[4] = (len>>8)&0xFF; /* (cylH) = expected length (H) */ ··· 1261 1261 transferred += len; 1262 1262 sector += len / srb->transfersize; 1263 1263 1264 - } /* while transferred != srb->request_bufflen */ 1264 + } /* while transferred != scsi_bufflen(srb) */ 1265 1265 1266 1266 kfree(buffer); 1267 1267 return result; ··· 1429 1429 unsigned char data[32]; 1430 1430 unsigned int len; 1431 1431 int i; 1432 - char string[64]; 1433 1432 1434 - len = srb->request_bufflen; 1433 + len = scsi_bufflen(srb); 1435 1434 1436 1435 /* Send A0 (ATA PACKET COMMAND). 1437 1436 Note: I guess we're never going to get any of the ATA ··· 1471 1472 USBAT_ATA_DATA, USBAT_ATA_STATUS, 0xFD, 1472 1473 (USBAT_QUAL_FCQ | USBAT_QUAL_ALQ), 1473 1474 DMA_TO_DEVICE, 1474 - srb->request_buffer, 1475 - len, srb->use_sg, 10); 1475 + scsi_sglist(srb), 1476 + len, scsi_sg_count(srb), 10); 1476 1477 1477 1478 if (result == USB_STOR_TRANSPORT_GOOD) { 1478 1479 transferred += len; ··· 1539 1540 len = *status; 1540 1541 1541 1542 1542 - result = usbat_read_block(us, srb->request_buffer, len, srb->use_sg); 1543 - 1544 - /* Debug-print the first 32 bytes of the transfer */ 1545 - 1546 - if (!srb->use_sg) { 1547 - string[0] = 0; 1548 - for (i=0; i<len && i<32; i++) { 1549 - sprintf(string+strlen(string), "%02X ", 1550 - ((unsigned char *)srb->request_buffer)[i]); 1551 - if ((i%16)==15) { 1552 - US_DEBUGP("%s\n", string); 1553 - string[0] = 0; 1554 - } 1555 - } 1556 - if (string[0]!=0) 1557 - US_DEBUGP("%s\n", string); 1558 - } 1543 + result = usbat_read_block(us, scsi_sglist(srb), len, 1544 + scsi_sg_count(srb)); 1559 1545 } 1560 1546 1561 1547 return result;