diff --git a/common/usb_storage.c b/common/usb_storage.c index 03171f7..df0b057 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -63,7 +63,7 @@ static const unsigned char us_direction[256/8] = { }; #define US_DIRECTION(x) ((us_direction[x>>3] >> (x & 7)) & 1) -static ccb usb_ccb __attribute__((aligned(ARCH_DMA_MINALIGN))); +static struct scsi_cmd usb_ccb __aligned(ARCH_DMA_MINALIGN); static __u32 CBWTag; static int usb_max_devs; /* number of highest available usb device */ @@ -73,7 +73,7 @@ static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV]; #endif struct us_data; -typedef int (*trans_cmnd)(ccb *cb, struct us_data *data); +typedef int (*trans_cmnd)(struct scsi_cmd *cb, struct us_data *data); typedef int (*trans_reset)(struct us_data *data); struct us_data { @@ -95,7 +95,7 @@ struct us_data { unsigned int irqpipe; /* pipe for release_irq */ unsigned char irqmaxp; /* max packed for irq Pipe */ unsigned char irqinterval; /* Intervall for IRQ Pipe */ - ccb *srb; /* current srb */ + struct scsi_cmd *srb; /* current srb */ trans_reset transport_reset; /* reset routine */ trans_cmnd transport; /* transport routine */ }; @@ -349,7 +349,7 @@ static int usb_stor_irq(struct usb_device *dev) #ifdef DEBUG -static void usb_show_srb(ccb *pccb) +static void usb_show_srb(struct scsi_cmd *pccb) { int i; printf("SRB: len %d datalen 0x%lX\n ", pccb->cmdlen, pccb->datalen); @@ -541,7 +541,7 @@ static int usb_stor_CB_reset(struct us_data *us) * Set up the command for a BBB device. Note that the actual SCSI * command is copied into cbw.CBWCDB. */ -static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us) +static int usb_stor_BBB_comdat(struct scsi_cmd *srb, struct us_data *us) { int result; int actlen; @@ -590,7 +590,7 @@ static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us) /* FIXME: we also need a CBI_command which sets up the completion * interrupt, and waits for it */ -static int usb_stor_CB_comdat(ccb *srb, struct us_data *us) +static int usb_stor_CB_comdat(struct scsi_cmd *srb, struct us_data *us) { int result = 0; int dir_in, retry; @@ -659,7 +659,7 @@ static int usb_stor_CB_comdat(ccb *srb, struct us_data *us) } -static int usb_stor_CBI_get_status(ccb *srb, struct us_data *us) +static int usb_stor_CBI_get_status(struct scsi_cmd *srb, struct us_data *us) { int timeout; @@ -714,7 +714,7 @@ static int usb_stor_BBB_clear_endpt_stall(struct us_data *us, __u8 endpt) endpt, NULL, 0, USB_CNTL_TIMEOUT * 5); } -static int usb_stor_BBB_transport(ccb *srb, struct us_data *us) +static int usb_stor_BBB_transport(struct scsi_cmd *srb, struct us_data *us) { int result, retry; int dir_in; @@ -837,11 +837,11 @@ again: return result; } -static int usb_stor_CB_transport(ccb *srb, struct us_data *us) +static int usb_stor_CB_transport(struct scsi_cmd *srb, struct us_data *us) { int result, status; - ccb *psrb; - ccb reqsrb; + struct scsi_cmd *psrb; + struct scsi_cmd reqsrb; int retry, notready; psrb = &reqsrb; @@ -950,7 +950,7 @@ do_retry: } -static int usb_inquiry(ccb *srb, struct us_data *ss) +static int usb_inquiry(struct scsi_cmd *srb, struct us_data *ss) { int retry, i; retry = 5; @@ -974,7 +974,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss) return 0; } -static int usb_request_sense(ccb *srb, struct us_data *ss) +static int usb_request_sense(struct scsi_cmd *srb, struct us_data *ss) { char *ptr; @@ -994,7 +994,7 @@ static int usb_request_sense(ccb *srb, struct us_data *ss) return 0; } -static int usb_test_unit_ready(ccb *srb, struct us_data *ss) +static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss) { int retries = 10; @@ -1025,7 +1025,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss) return -1; } -static int usb_read_capacity(ccb *srb, struct us_data *ss) +static int usb_read_capacity(struct scsi_cmd *srb, struct us_data *ss) { int retry; /* XXX retries */ @@ -1043,8 +1043,8 @@ static int usb_read_capacity(ccb *srb, struct us_data *ss) return -1; } -static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start, - unsigned short blocks) +static int usb_read_10(struct scsi_cmd *srb, struct us_data *ss, + unsigned long start, unsigned short blocks) { memset(&srb->cmd[0], 0, 12); srb->cmd[0] = SCSI_READ10; @@ -1060,8 +1060,8 @@ static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start, return ss->transport(srb, ss); } -static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start, - unsigned short blocks) +static int usb_write_10(struct scsi_cmd *srb, struct us_data *ss, + unsigned long start, unsigned short blocks) { memset(&srb->cmd[0], 0, 12); srb->cmd[0] = SCSI_WRITE10; @@ -1115,7 +1115,7 @@ static unsigned long usb_stor_read(struct blk_desc *block_dev, lbaint_t blknr, struct usb_device *udev; struct us_data *ss; int retry; - ccb *srb = &usb_ccb; + struct scsi_cmd *srb = &usb_ccb; #ifdef CONFIG_BLK struct blk_desc *block_dev; #endif @@ -1197,7 +1197,7 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr, struct usb_device *udev; struct us_data *ss; int retry; - ccb *srb = &usb_ccb; + struct scsi_cmd *srb = &usb_ccb; #ifdef CONFIG_BLK struct blk_desc *block_dev; #endif @@ -1395,7 +1395,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, ALLOC_CACHE_ALIGN_BUFFER(u32, cap, 2); ALLOC_CACHE_ALIGN_BUFFER(u8, usb_stor_buf, 36); u32 capacity, blksz; - ccb *pccb = &usb_ccb; + struct scsi_cmd *pccb = &usb_ccb; pccb->pdata = usb_stor_buf; diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index f474471..29835f0 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -689,7 +689,7 @@ static char *ata_id_strcpy(u16 *target, u16 *src, int len) /* * SCSI INQUIRY command operation. */ -static int ata_scsiop_inquiry(ccb *pccb) +static int ata_scsiop_inquiry(struct scsi_cmd *pccb) { static const u8 hdr[] = { 0, @@ -753,7 +753,7 @@ static int ata_scsiop_inquiry(ccb *pccb) /* * SCSI READ10/WRITE10 command operation. */ -static int ata_scsiop_read_write(ccb *pccb, u8 is_write) +static int ata_scsiop_read_write(struct scsi_cmd *pccb, u8 is_write) { lbaint_t lba = 0; u16 blocks = 0; @@ -864,7 +864,7 @@ static int ata_scsiop_read_write(ccb *pccb, u8 is_write) /* * SCSI READ CAPACITY10 command operation. */ -static int ata_scsiop_read_capacity10(ccb *pccb) +static int ata_scsiop_read_capacity10(struct scsi_cmd *pccb) { u32 cap; u64 cap64; @@ -894,7 +894,7 @@ static int ata_scsiop_read_capacity10(ccb *pccb) /* * SCSI READ CAPACITY16 command operation. */ -static int ata_scsiop_read_capacity16(ccb *pccb) +static int ata_scsiop_read_capacity16(struct scsi_cmd *pccb) { u64 cap; u64 block_size; @@ -920,13 +920,13 @@ static int ata_scsiop_read_capacity16(ccb *pccb) /* * SCSI TEST UNIT READY command operation. */ -static int ata_scsiop_test_unit_ready(ccb *pccb) +static int ata_scsiop_test_unit_ready(struct scsi_cmd *pccb) { return (ataid[pccb->target]) ? 0 : -EPERM; } -int scsi_exec(ccb *pccb) +int scsi_exec(struct scsi_cmd *pccb) { int ret; diff --git a/drivers/scsi/sandbox_scsi.c b/drivers/scsi/sandbox_scsi.c index f4004a3..d943d1f 100644 --- a/drivers/scsi/sandbox_scsi.c +++ b/drivers/scsi/sandbox_scsi.c @@ -19,7 +19,7 @@ void scsi_init(void) { } -int scsi_exec(ccb *pccb) +int scsi_exec(struct scsi_cmd *pccb) { return 0; } diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 6175e50..5f5652b 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -32,7 +32,7 @@ #if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST }; #endif -static ccb tempccb; /* temporary scsi command buffer */ +static struct scsi_cmd tempccb; /* temporary scsi command buffer */ static unsigned char tempbuff[512]; /* temporary data buffer */ @@ -48,13 +48,14 @@ static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE]; #define SCSI_MAX_READ_BLK 0xFFFF #define SCSI_LBA48_READ 0xFFFFFFF -static void scsi_print_error(ccb *pccb) +static void scsi_print_error(struct scsi_cmd *pccb) { /* Dummy function that could print an error for debugging */ } #ifdef CONFIG_SYS_64BIT_LBA -void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks) +void scsi_setup_read16(struct scsi_cmd *pccb, lbaint_t start, + unsigned long blocks) { pccb->cmd[0] = SCSI_READ16; pccb->cmd[1] = pccb->lun << 5; @@ -82,7 +83,7 @@ void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks) } #endif -static void scsi_setup_read_ext(ccb *pccb, lbaint_t start, +static void scsi_setup_read_ext(struct scsi_cmd *pccb, lbaint_t start, unsigned short blocks) { pccb->cmd[0] = SCSI_READ10; @@ -103,7 +104,7 @@ static void scsi_setup_read_ext(ccb *pccb, lbaint_t start, pccb->cmd[7], pccb->cmd[8]); } -static void scsi_setup_write_ext(ccb *pccb, lbaint_t start, +static void scsi_setup_write_ext(struct scsi_cmd *pccb, lbaint_t start, unsigned short blocks) { pccb->cmd[0] = SCSI_WRITE10; @@ -125,7 +126,7 @@ static void scsi_setup_write_ext(ccb *pccb, lbaint_t start, pccb->cmd[7], pccb->cmd[8]); } -static void scsi_setup_inquiry(ccb *pccb) +static void scsi_setup_inquiry(struct scsi_cmd *pccb) { pccb->cmd[0] = SCSI_INQUIRY; pccb->cmd[1] = pccb->lun << 5; @@ -154,7 +155,7 @@ static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t start, blks; uintptr_t buf_addr; unsigned short smallblks = 0; - ccb *pccb = (ccb *)&tempccb; + struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb; /* Setup device */ pccb->target = block_dev->target; @@ -227,7 +228,7 @@ static ulong scsi_write(struct blk_desc *block_dev, lbaint_t blknr, lbaint_t start, blks; uintptr_t buf_addr; unsigned short smallblks; - ccb *pccb = (ccb *)&tempccb; + struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb; /* Setup device */ pccb->target = block_dev->target; @@ -349,7 +350,7 @@ static void scsi_ident_cpy(unsigned char *dest, unsigned char *src, *dest = '\0'; } -static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity, +static int scsi_read_capacity(struct scsi_cmd *pccb, lbaint_t *capacity, unsigned long *blksz) { *capacity = 0; @@ -414,7 +415,7 @@ static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity, /* * Some setup (fill-in) routines */ -static void scsi_setup_test_unit_ready(ccb *pccb) +static void scsi_setup_test_unit_ready(struct scsi_cmd *pccb) { pccb->cmd[0] = SCSI_TST_U_RDY; pccb->cmd[1] = pccb->lun << 5; @@ -484,7 +485,7 @@ static int scsi_detect_dev(int target, int lun, struct blk_desc *dev_desc) unsigned char perq, modi; lbaint_t capacity; unsigned long blksz; - ccb *pccb = (ccb *)&tempccb; + struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb; pccb->target = target; pccb->lun = lun; diff --git a/include/scsi.h b/include/scsi.h index 182665d..bc5be97 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -7,7 +7,7 @@ #ifndef _SCSI_H #define _SCSI_H -typedef struct scsi_cmd{ +struct scsi_cmd { unsigned char cmd[16]; /* command */ /* for request sense */ unsigned char sense_buf[64] @@ -27,7 +27,7 @@ typedef struct scsi_cmd{ unsigned long trans_bytes; /* tranfered bytes */ unsigned int priv; -}ccb; +}; /*----------------------------------------------------------- ** @@ -178,7 +178,7 @@ void scsi_low_level_init(int busdevfunc); void scsi_init(void); #endif -int scsi_exec(ccb *pccb); +int scsi_exec(struct scsi_cmd *pccb); void scsi_bus_reset(void); /***************************************************************************