From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Thu, 20 Apr 2017 00:14:23 +0200 Subject: [U-Boot] [U-Boot PATCH V2 6/9] usb: ums: add do_extra_command In-Reply-To: <20170416155414.14746-7-eddie.cai.linux@gmail.com> References: <20170416155414.14746-1-eddie.cai.linux@gmail.com> <20170416155414.14746-7-eddie.cai.linux@gmail.com> Message-ID: <20170420001423.3d369480@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Eddie, > add do_extra_command to let people deal with customized command > > Signed-off-by: Eddie Cai > --- > drivers/usb/gadget/f_mass_storage.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/f_mass_storage.c > b/drivers/usb/gadget/f_mass_storage.c index 333f069..d431e53 100644 > --- a/drivers/usb/gadget/f_mass_storage.c > +++ b/drivers/usb/gadget/f_mass_storage.c > @@ -2168,6 +2168,10 @@ unknown_cmnd: > return 0; > } > > +int __weak do_extra_command(struct fsg_common *common) > +{ > + return -EINVAL; > +} > /*-------------------------------------------------------------------------*/ > > static int received_cbw(struct fsg_dev *fsg, struct fsg_buffhd *bh) > @@ -2540,8 +2544,10 @@ int fsg_main_thread(void *common_) > if (!exception_in_progress(common)) > common->state = FSG_STATE_DATA_PHASE; > > - if (do_scsi_command(common) || finish_reply(common)) > + if ((do_extra_command(common) && > do_scsi_command(common)) || I must admit that I'm against mixing things. Let's leave f_mass_storage for mass storage and add f_rockchip_* for separate function. If possible we can reuse as much as possible from f_*.c and g_dnl.* files. > + finish_reply(common)) { > continue; > + } > > if (!exception_in_progress(common)) > common->state = FSG_STATE_STATUS_PHASE; Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de