[PATCH v2 1/5] usb: dwc3: add platform data to dwc3 core device to pass data

Jun Li jun.li at nxp.com
Thu Jul 23 05:58:22 EDT 2020



> -----Original Message-----
> From: Felipe Balbi <balbif at gmail.com> On Behalf Of Felipe Balbi
> Sent: Thursday, July 23, 2020 5:22 PM
> To: Jun Li <jun.li at nxp.com>; shawnguo at kernel.org; robh+dt at kernel.org
> Cc: gregkh at linuxfoundation.org; s.hauer at pengutronix.de; kernel at pengutronix.de;
> festevam at gmail.com; dl-linux-imx <linux-imx at nxp.com>; linux-usb at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.org; Peter Chen
> <peter.chen at nxp.com>; Anson Huang <anson.huang at nxp.com>; Peng Fan
> <peng.fan at nxp.com>; Horia Geanta <horia.geanta at nxp.com>
> Subject: Re: [PATCH v2 1/5] usb: dwc3: add platform data to dwc3 core device to
> pass data
> 
> 
> Hi,
> 
> Li Jun <jun.li at nxp.com> writes:
> > In case dwc3 has SoC specific customizations, dwc3 glue driver can
> > base on compatible string and pass it via platform data to dwc3 core
> > driver; and pass xhci private data further to xhci-plat like quirks.
> >
> > Signed-off-by: Li Jun <jun.li at nxp.com>
> > ---
> >  drivers/usb/dwc3/core.h | 5 +++++
> >  drivers/usb/dwc3/host.c | 9 +++++++++
> >  2 files changed, 14 insertions(+)
> >
> > diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index
> > 0b8ea8c..3146697 100644
> > --- a/drivers/usb/dwc3/core.h
> > +++ b/drivers/usb/dwc3/core.h
> > @@ -29,6 +29,7 @@
> >  #include <linux/ulpi/interface.h>
> >
> >  #include <linux/phy/phy.h>
> > +#include "../host/xhci-plat.h"
> >
> >  #define DWC3_MSG_MAX	500
> >
> > @@ -924,6 +925,10 @@ struct dwc3_scratchpad_array {
> >  	__le64	dma_adr[DWC3_MAX_HIBER_SCRATCHBUFS];
> >  };
> >
> > +struct dwc3_platform_data {
> > +	struct xhci_plat_priv *xhci_priv;
> > +};
> 
> why? We should rely on properties, no?

My v1 patch was adding new property directly, considering Rob has objection
on that way if I understand correctly, also there is suggestion on use
compatible string to set quirks, I changed to add platform data to pass
SoC level quirks, I think this also can be used to extend other special
handling for glue layer driver, so should I go back to use properties? 
Hope an agreement can be made on adding new properties/quirks. 

Thanks
Li Jun
 
> 
> --
> balbi



More information about the linux-arm-kernel mailing list