Hi Tom, > On Tue, May 16, 2017 at 08:16:29PM +0800, yinbo.zhu wrote: > > > From: Rajesh Bhagat > > > > Adds a new field in fsg_common namely controller_index to support > > multiple controllers usb gadget support. > > > > Signed-off-by: Rajat Srivastava > > Signed-off-by: Rajesh Bhagat > > Acked-by: Lukasz Majewski I've already acked this patch :-) Best regards, Ɓukasz > > --- > > cmd/usb_mass_storage.c | 2 +- > > drivers/usb/gadget/f_mass_storage.c | 11 +++++++++-- > > include/usb_mass_storage.h | 2 +- > > 3 files changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c > > index 86398fc..139b537 100644 > > --- a/cmd/usb_mass_storage.c > > +++ b/cmd/usb_mass_storage.c > > @@ -214,7 +214,7 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int > > flag, while (1) { > > usb_gadget_handle_interrupts(controller_index); > > > > - rc = fsg_main_thread(NULL); > > + rc = fsg_main_thread(controller_index); > > if (rc) { > > /* Check I/O error */ > > if (rc == -EIO) > > diff --git a/drivers/usb/gadget/f_mass_storage.c > > b/drivers/usb/gadget/f_mass_storage.c index 1ecb92a..27ca5fe 100644 > > --- a/drivers/usb/gadget/f_mass_storage.c > > +++ b/drivers/usb/gadget/f_mass_storage.c > > @@ -362,6 +362,7 @@ struct fsg_common { > > char inquiry_string[8 + 16 + 4 + 1]; > > > > struct kref ref; > > + unsigned int controller_index; > > }; > > > > struct fsg_config { > > @@ -691,7 +692,7 @@ static int sleep_thread(struct fsg_common > > *common) k = 0; > > } > > > > - usb_gadget_handle_interrupts(0); > > + > > usb_gadget_handle_interrupts(common->controller_index); } > > common->thread_wakeup_needed = 0; > > return rc; > > @@ -2402,10 +2403,14 @@ static void handle_exception(struct > > fsg_common *common) > > /*-------------------------------------------------------------------------*/ > > > > -int fsg_main_thread(void *common_) > > +int fsg_main_thread(unsigned int controller_index) > > { > > int ret; > > struct fsg_common *common = the_fsg_common; > > + > > + /* update the controller_index */ > > + common->controller_index = controller_index; > > + > > /* The main loop */ > > do { > > if (exception_in_progress(common)) { > > @@ -2476,6 +2481,7 @@ static struct fsg_common > > *fsg_common_init(struct fsg_common *common, > > common->ops = NULL; > > common->private_data = NULL; > > + common->controller_index = 0; > > > > common->gadget = gadget; > > common->ep0 = gadget->ep0; > > @@ -2770,6 +2776,7 @@ int fsg_add(struct usb_configuration *c) > > > > fsg_common->ops = NULL; > > fsg_common->private_data = NULL; > > + fsg_common->controller_index = 0; > > > > the_fsg_common = fsg_common; > > > > diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h > > index 8229f62..f21cc7a 100644 > > --- a/include/usb_mass_storage.h > > +++ b/include/usb_mass_storage.h > > @@ -28,6 +28,6 @@ struct ums { > > > > int fsg_init(struct ums *ums_devs, int count); > > void fsg_cleanup(void); > > -int fsg_main_thread(void *); > > +int fsg_main_thread(unsigned int); > > int fsg_add(struct usb_configuration *c); > > #endif /* __USB_MASS_STORAGE_H__ */ > > Lukasz? > 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 181 bytes Desc: OpenPGP digital signature URL: