On Fri, Mar 13, 2015 at 10:34:59AM -0500, Felipe Balbi wrote:
> On Fri, Mar 13, 2015 at 11:13:11AM +0800, Peter Chen wrote:
> > On Thu, Mar 12, 2015 at 11:04:09AM -0500, Felipe Balbi wrote:
> > > Hi,
> > > 
> > > On Thu, Mar 12, 2015 at 10:30:21AM +0800, Li Jun wrote:
> > > > From: Li Jun <[email protected]>
> > > > 
> > > > Peripheral answers OTG status selector request from host according to
> > > > host_request_flag of gadget, length is 1.
> > > > 
> > > > Signed-off-by: Li Jun <[email protected]>
> > > > ---
> > > >  drivers/usb/chipidea/udc.c |   28 +++++++++++++++++++++++-----
> > > >  1 file changed, 23 insertions(+), 5 deletions(-)
> > > > 
> > > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
> > > > index 4254792..eed66bc 100644
> > > > --- a/drivers/usb/chipidea/udc.c
> > > > +++ b/drivers/usb/chipidea/udc.c
> > > > @@ -831,7 +831,17 @@ __acquires(hwep->lock)
> > > >                 return -ENOMEM;
> > > >  
> > > >         req->complete = isr_get_status_complete;
> > > > -       req->length   = 2;
> > > > +       if (setup->wIndex == OTG_STS_SELECTOR) {
> > > > +               if (ci_otg_is_fsm_mode(ci)) {
> > > > +                       req->length = 1;
> > > > +               } else {
> > > > +                       retval = -ENOTSUPP;
> > > > +                       goto err_free_req;
> > > > +               }
> > > > +       } else {
> > > > +               req->length = 2;
> > > > +       }
> > > 
> > > this could still be done generically in composite.c
> > > 
> > 
> > I suggested it at v1, but after thinking more, we have handled
> > DEVICE request type at individual udc driver, like remote wakeup,
> > self-power support, so it is reasonable we handle get_status that
> > if we support hnp polling at udc driver, since it is controller
> > driver's capabilities.
> 
> right, right.. it is controller's capabilities, but all controller needs
> to do is a set a flag in struct usb_gadget, which it already does. Then,
> every single udc will get free implementation after setting that flag,
> right ?
> 

Great, then the udc driver which set b_hnp_enable can get the hnp
polling capabilities automatically, in fact, hnp polling support
is a software implement, I don't think it will affect old v1.3 otg
driver.

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to