[U-Boot] [PATCH v6 1/2] common: usb_storage: Make common function for usb_stor_read/usb_stor_write
Rajesh Bhagat
rajesh.bhagat at nxp.com
Thu Jun 16 06:40:47 CEST 2016
> -----Original Message-----
> From: Marek Vasut [mailto:marex at denx.de]
> Sent: Thursday, June 16, 2016 3:33 AM
> To: Rajesh Bhagat <rajesh.bhagat at nxp.com>; u-boot at lists.denx.de
> Cc: sjg at chromium.org; york sun <york.sun at nxp.com>; Sriram Dash
> <sriram.dash at nxp.com>
> Subject: Re: [PATCH v6 1/2] common: usb_storage: Make common function for
> usb_stor_read/usb_stor_write
>
> On 06/15/2016 09:00 AM, Rajesh Bhagat wrote:
> > Performs code cleanup by making common function for usb_stor_read/
> > usb_stor_write. Currently only difference in these fucntions is call
> > to usb_read_10/usb_write_10 scsi commands.
> >
> > Signed-off-by: Rajesh Bhagat <rajesh.bhagat at nxp.com>
> > ---
> > Changes in v6:
> > - Removes USB_STOR_OP_TYPE macro and adds __func__ in debug prints
> > - Unifies usb_read_10/usb_write_10 functions to usb_read_write_10
> >
> > Changes in v5:
> > - Converts USB_STOR_OPERATION_FUNC macro to a function
> > - Corrects the multi line comment accroding to coding style
> > - Renames variable to dev to remove code duplication
> >
> > Changes in v4:
> > - Adds code to make common function for read/write
> >
> > common/usb_storage.c | 147
> > +++++++++++++--------------------------------------
> > 1 file changed, 36 insertions(+), 111 deletions(-)
> >
> > diff --git a/common/usb_storage.c b/common/usb_storage.c index
> > 7e6e52d..41e5aa3 100644
> > --- a/common/usb_storage.c
> > +++ b/common/usb_storage.c
> > @@ -1046,11 +1046,11 @@ 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_write_10(ccb *srb, struct us_data *ss, unsigned long start,
> > + unsigned short blocks, bool is_write)
> > {
> > memset(&srb->cmd[0], 0, 12);
> > - srb->cmd[0] = SCSI_READ10;
> > + srb->cmd[0] = is_write ? SCSI_WRITE10 : SCSI_READ10;
> > srb->cmd[1] = srb->lun << 5;
> > srb->cmd[2] = ((unsigned char) (start >> 24)) & 0xff;
> > srb->cmd[3] = ((unsigned char) (start >> 16)) & 0xff; @@ -1059,28
> > +1059,10 @@ static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long
> start,
> > srb->cmd[7] = ((unsigned char) (blocks >> 8)) & 0xff;
> > srb->cmd[8] = (unsigned char) blocks & 0xff;
> > srb->cmdlen = 12;
> > - debug("read10: start %lx blocks %x\n", start, blocks);
> > + debug("%s: start %lx blocks %x\n", __func__, start, blocks);
> > return ss->transport(srb, ss);
> > }
> >
> > -static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start,
> > - unsigned short blocks)
> > -{
> > - memset(&srb->cmd[0], 0, 12);
> > - srb->cmd[0] = SCSI_WRITE10;
> > - srb->cmd[1] = srb->lun << 5;
> > - srb->cmd[2] = ((unsigned char) (start >> 24)) & 0xff;
> > - srb->cmd[3] = ((unsigned char) (start >> 16)) & 0xff;
> > - srb->cmd[4] = ((unsigned char) (start >> 8)) & 0xff;
> > - srb->cmd[5] = ((unsigned char) (start)) & 0xff;
> > - srb->cmd[7] = ((unsigned char) (blocks >> 8)) & 0xff;
> > - srb->cmd[8] = (unsigned char) blocks & 0xff;
> > - srb->cmdlen = 12;
> > - debug("write10: start %lx blocks %x\n", start, blocks);
> > - return ss->transport(srb, ss);
> > -}
> > -
Hello Marek,
>
> This stuff should be in a separate patch, otherwise it's not bisectable.
> Looks pretty OK otherwise.
Will take care in v7.
Best Regards,
Rajesh Bhagat
>
> [...]
>
> --
> Best regards,
> Marek Vasut
More information about the U-Boot
mailing list