dm: scsi: Drop the ccb typedef

We should not be using typedefs in U-Boot and 'ccb' is a pretty short
name. It is also used with variables. Drop the typedef and use 'struct'
instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
master
Simon Glass 7 years ago
parent aae5ec3403
commit b9560ad649
  1. 44
      common/usb_storage.c
  2. 12
      drivers/ata/ahci.c
  3. 2
      drivers/scsi/sandbox_scsi.c
  4. 23
      drivers/scsi/scsi.c
  5. 6
      include/scsi.h

@ -63,7 +63,7 @@ static const unsigned char us_direction[256/8] = {
}; };
#define US_DIRECTION(x) ((us_direction[x>>3] >> (x & 7)) & 1) #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 __u32 CBWTag;
static int usb_max_devs; /* number of highest available usb device */ 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 #endif
struct us_data; 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); typedef int (*trans_reset)(struct us_data *data);
struct us_data { struct us_data {
@ -95,7 +95,7 @@ struct us_data {
unsigned int irqpipe; /* pipe for release_irq */ unsigned int irqpipe; /* pipe for release_irq */
unsigned char irqmaxp; /* max packed for irq Pipe */ unsigned char irqmaxp; /* max packed for irq Pipe */
unsigned char irqinterval; /* Intervall 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_reset transport_reset; /* reset routine */
trans_cmnd transport; /* transport routine */ trans_cmnd transport; /* transport routine */
}; };
@ -349,7 +349,7 @@ static int usb_stor_irq(struct usb_device *dev)
#ifdef DEBUG #ifdef DEBUG
static void usb_show_srb(ccb *pccb) static void usb_show_srb(struct scsi_cmd *pccb)
{ {
int i; int i;
printf("SRB: len %d datalen 0x%lX\n ", pccb->cmdlen, pccb->datalen); 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 * Set up the command for a BBB device. Note that the actual SCSI
* command is copied into cbw.CBWCDB. * 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 result;
int actlen; 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 /* FIXME: we also need a CBI_command which sets up the completion
* interrupt, and waits for it * 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 result = 0;
int dir_in, retry; 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; 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); 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 result, retry;
int dir_in; int dir_in;
@ -837,11 +837,11 @@ again:
return result; 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; int result, status;
ccb *psrb; struct scsi_cmd *psrb;
ccb reqsrb; struct scsi_cmd reqsrb;
int retry, notready; int retry, notready;
psrb = &reqsrb; 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; int retry, i;
retry = 5; retry = 5;
@ -974,7 +974,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss)
return 0; 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; char *ptr;
@ -994,7 +994,7 @@ static int usb_request_sense(ccb *srb, struct us_data *ss)
return 0; 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; int retries = 10;
@ -1025,7 +1025,7 @@ static int usb_test_unit_ready(ccb *srb, struct us_data *ss)
return -1; 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; int retry;
/* XXX retries */ /* XXX retries */
@ -1043,8 +1043,8 @@ static int usb_read_capacity(ccb *srb, struct us_data *ss)
return -1; return -1;
} }
static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start, static int usb_read_10(struct scsi_cmd *srb, struct us_data *ss,
unsigned short blocks) unsigned long start, unsigned short blocks)
{ {
memset(&srb->cmd[0], 0, 12); memset(&srb->cmd[0], 0, 12);
srb->cmd[0] = SCSI_READ10; 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); return ss->transport(srb, ss);
} }
static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start, static int usb_write_10(struct scsi_cmd *srb, struct us_data *ss,
unsigned short blocks) unsigned long start, unsigned short blocks)
{ {
memset(&srb->cmd[0], 0, 12); memset(&srb->cmd[0], 0, 12);
srb->cmd[0] = SCSI_WRITE10; 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 usb_device *udev;
struct us_data *ss; struct us_data *ss;
int retry; int retry;
ccb *srb = &usb_ccb; struct scsi_cmd *srb = &usb_ccb;
#ifdef CONFIG_BLK #ifdef CONFIG_BLK
struct blk_desc *block_dev; struct blk_desc *block_dev;
#endif #endif
@ -1197,7 +1197,7 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr,
struct usb_device *udev; struct usb_device *udev;
struct us_data *ss; struct us_data *ss;
int retry; int retry;
ccb *srb = &usb_ccb; struct scsi_cmd *srb = &usb_ccb;
#ifdef CONFIG_BLK #ifdef CONFIG_BLK
struct blk_desc *block_dev; struct blk_desc *block_dev;
#endif #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(u32, cap, 2);
ALLOC_CACHE_ALIGN_BUFFER(u8, usb_stor_buf, 36); ALLOC_CACHE_ALIGN_BUFFER(u8, usb_stor_buf, 36);
u32 capacity, blksz; u32 capacity, blksz;
ccb *pccb = &usb_ccb; struct scsi_cmd *pccb = &usb_ccb;
pccb->pdata = usb_stor_buf; pccb->pdata = usb_stor_buf;

@ -689,7 +689,7 @@ static char *ata_id_strcpy(u16 *target, u16 *src, int len)
/* /*
* SCSI INQUIRY command operation. * SCSI INQUIRY command operation.
*/ */
static int ata_scsiop_inquiry(ccb *pccb) static int ata_scsiop_inquiry(struct scsi_cmd *pccb)
{ {
static const u8 hdr[] = { static const u8 hdr[] = {
0, 0,
@ -753,7 +753,7 @@ static int ata_scsiop_inquiry(ccb *pccb)
/* /*
* SCSI READ10/WRITE10 command operation. * 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; lbaint_t lba = 0;
u16 blocks = 0; u16 blocks = 0;
@ -864,7 +864,7 @@ static int ata_scsiop_read_write(ccb *pccb, u8 is_write)
/* /*
* SCSI READ CAPACITY10 command operation. * 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; u32 cap;
u64 cap64; u64 cap64;
@ -894,7 +894,7 @@ static int ata_scsiop_read_capacity10(ccb *pccb)
/* /*
* SCSI READ CAPACITY16 command operation. * 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 cap;
u64 block_size; u64 block_size;
@ -920,13 +920,13 @@ static int ata_scsiop_read_capacity16(ccb *pccb)
/* /*
* SCSI TEST UNIT READY command operation. * 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; return (ataid[pccb->target]) ? 0 : -EPERM;
} }
int scsi_exec(ccb *pccb) int scsi_exec(struct scsi_cmd *pccb)
{ {
int ret; int ret;

@ -19,7 +19,7 @@ void scsi_init(void)
{ {
} }
int scsi_exec(ccb *pccb) int scsi_exec(struct scsi_cmd *pccb)
{ {
return 0; return 0;
} }

@ -32,7 +32,7 @@
#if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT) #if defined(CONFIG_PCI) && !defined(CONFIG_SCSI_AHCI_PLAT)
const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST }; const struct pci_device_id scsi_device_list[] = { SCSI_DEV_LIST };
#endif #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 */ 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_MAX_READ_BLK 0xFFFF
#define SCSI_LBA48_READ 0xFFFFFFF #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 */ /* Dummy function that could print an error for debugging */
} }
#ifdef CONFIG_SYS_64BIT_LBA #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[0] = SCSI_READ16;
pccb->cmd[1] = pccb->lun << 5; pccb->cmd[1] = pccb->lun << 5;
@ -82,7 +83,7 @@ void scsi_setup_read16(ccb *pccb, lbaint_t start, unsigned long blocks)
} }
#endif #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) unsigned short blocks)
{ {
pccb->cmd[0] = SCSI_READ10; 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]); 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) unsigned short blocks)
{ {
pccb->cmd[0] = SCSI_WRITE10; 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]); 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[0] = SCSI_INQUIRY;
pccb->cmd[1] = pccb->lun << 5; 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; lbaint_t start, blks;
uintptr_t buf_addr; uintptr_t buf_addr;
unsigned short smallblks = 0; unsigned short smallblks = 0;
ccb *pccb = (ccb *)&tempccb; struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */ /* Setup device */
pccb->target = block_dev->target; 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; lbaint_t start, blks;
uintptr_t buf_addr; uintptr_t buf_addr;
unsigned short smallblks; unsigned short smallblks;
ccb *pccb = (ccb *)&tempccb; struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */ /* Setup device */
pccb->target = block_dev->target; pccb->target = block_dev->target;
@ -349,7 +350,7 @@ static void scsi_ident_cpy(unsigned char *dest, unsigned char *src,
*dest = '\0'; *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) unsigned long *blksz)
{ {
*capacity = 0; *capacity = 0;
@ -414,7 +415,7 @@ static int scsi_read_capacity(ccb *pccb, lbaint_t *capacity,
/* /*
* Some setup (fill-in) routines * 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[0] = SCSI_TST_U_RDY;
pccb->cmd[1] = pccb->lun << 5; 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; unsigned char perq, modi;
lbaint_t capacity; lbaint_t capacity;
unsigned long blksz; unsigned long blksz;
ccb *pccb = (ccb *)&tempccb; struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
pccb->target = target; pccb->target = target;
pccb->lun = lun; pccb->lun = lun;

@ -7,7 +7,7 @@
#ifndef _SCSI_H #ifndef _SCSI_H
#define _SCSI_H #define _SCSI_H
typedef struct scsi_cmd{ struct scsi_cmd {
unsigned char cmd[16]; /* command */ unsigned char cmd[16]; /* command */
/* for request sense */ /* for request sense */
unsigned char sense_buf[64] unsigned char sense_buf[64]
@ -27,7 +27,7 @@ typedef struct scsi_cmd{
unsigned long trans_bytes; /* tranfered bytes */ unsigned long trans_bytes; /* tranfered bytes */
unsigned int priv; unsigned int priv;
}ccb; };
/*----------------------------------------------------------- /*-----------------------------------------------------------
** **
@ -178,7 +178,7 @@ void scsi_low_level_init(int busdevfunc);
void scsi_init(void); void scsi_init(void);
#endif #endif
int scsi_exec(ccb *pccb); int scsi_exec(struct scsi_cmd *pccb);
void scsi_bus_reset(void); void scsi_bus_reset(void);
/*************************************************************************** /***************************************************************************

Loading…
Cancel
Save