[RFC PATCH v1 2/2] usb: host: add xhci-exynos to support Exynos SOCs

Greg Kroah-Hartman gregkh at linuxfoundation.org
Mon Dec 5 00:21:03 PST 2022


On Mon, Dec 05, 2022 at 12:30:34PM +0900, Jung Daehwan wrote:
> On Thu, Dec 01, 2022 at 09:06:55AM +0100, Greg Kroah-Hartman wrote:
> > On Thu, Dec 01, 2022 at 11:13:31AM +0900, Daehwan Jung wrote:
> > > This driver works with xhci platform driver. It needs to override
> > > functions of xhci_plat_hc_driver. Wakelocks are used for sleep/wakeup
> > > scenario of system.
> > 
> > So this means that no other platform xhci driver can be supported in the
> > same system at the same time.
> > 
> > Which kind of makes sense as that's not anything a normal system would
> > have, BUT it feels very odd.  This whole idea of "override the platform
> > driver" feels fragile, why not make these just real platform drivers and
> > have the xhci platform code be a library that the other ones can use?
> > That way you have more control overall, right?
> > 
> > thanks,
> > 
> > greg k-h
> > 
> 
> Currently It seems there are 2 ways to excute own function.
> 1. xhci_plat_priv
> -> This is hard to use it if the driver invokes xhci platform driver from
> dwc3_host_init(usb/dwc/host.c). I can't pass driver data during probe.
> 2. xhci_driver_overrides
> -> This is only useful if I has own xhci driver.
> 
> That's why I wanted to extend overriding concept of xhci platform driver.
> If some code is better to be directly in xhci platform driver than xhci-exynos,
> I will modify it.

Again, please restructure this so that there is no need to "override"
anything and instead, you use the xhci-platform code from your driver
instead.

thanks,

greg k-h



More information about the linux-arm-kernel mailing list