> From: Dinh Nguyen [mailto:dingu...@altera.com]
> Sent: Friday, August 01, 2014 2:39 PM
> 
> On Fri, 2014-08-01 at 20:31 +0000, Paul Zimmerman wrote:
> > > From: linux-usb-ow...@vger.kernel.org 
> > > [mailto:linux-usb-ow...@vger.kernel.org] On Behalf Of Paul
> Zimmerman
> > > Sent: Friday, August 01, 2014 11:49 AM
> > >
> > > > From: dingu...@altera.com [mailto:dingu...@altera.com]
> > > > Sent: Wednesday, July 30, 2014 8:21 AM
> > > >
> > > > Adds the gadget data structure and appropriate data structure pointers
> > > > to the common dwc2_hsotg data structure. This is needed so that the
> > > > dwc2_hsotg data structure can be used by the hcd and gadget drivers.
> > > >
> > > > Signed-off-by: Dinh Nguyen <dingu...@altera.com>
> > > > ---
> > > >  drivers/usb/dwc2/core.h |    6 ++++++
> > > >  1 file changed, 6 insertions(+)
> > > >
> > > > diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h
> > > > index 3b4bd4c..ee34ee1 100644
> > > > --- a/drivers/usb/dwc2/core.h
> > > > +++ b/drivers/usb/dwc2/core.h
> > > > @@ -604,6 +604,12 @@ struct dwc2_hsotg {
> > > >         struct timer_list wkp_timer;
> > > >         enum dwc2_lx_state lx_state;
> > > >
> > > > +       /* Gadget structures */
> > > > +       struct s3c_hsotg *s3c_hsotg;
> > > > +       struct usb_gadget       gadget;
> > > > +       struct usb_gadget_driver *driver;
> > > > +       struct s3c_hsotg_ep     *eps;
> > > > +
> > >
> > > Hi Dinh,
> > >
> > > After looking at this some more, I'm not really happy with including
> > > a pointer to the s3c_hsotg struct inside the dwc2_hsotg struct. It
> > > makes the peripheral mode kind of a second class citizen, and requires
> > > a bunch of double pointer indirections in gadget.c
> > > (hsotg->s3c_hsotg->foo). Plus, when building for peripheral-only mode,
> > > there are a lot of unused fields in the dwc2_hsotg struct.
> > >
> > > So how about something like the below instead? This moves all of the
> > > s3c_hsotg struct fields into the dwc2_hsotg struct, and adds ifdefs
> > > around the host-only and peripheral-only fields. Doing this should
> > > make the diff to gadget.c even smaller, since it eliminates the double
> > > indirections.
> > >
> > > This patch is on top of your series. And I'm only showing the changes
> > > to core.h.
> >
> > And here is a patch which actually compiles in all three modes. I am
> > including the full patch, including the changes to gadget.c, this time.
> >
> 
> Thanks Paul. I agree that having the double pointers looked messy. I
> like this suggestion. Can I add your Signed-by when I fold your patch
> into mine?

Sure, yes.

-- 
Paul

N�����r��y����b�X��ǧv�^�)޺{.n�+����{������^n�r���z���h�����&���G���h�(�階�ݢj"���m������z�ޖ���f���h���~�m�

Reply via email to