Messages in this thread |  | | Date | Mon, 5 Dec 2022 11:11:43 +0900 | From | Jung Daehwan <> | Subject | Re: [RFC PATCH v1 2/2] usb: host: add xhci-exynos to support Exynos SOCs |
| |
On Thu, Dec 01, 2022 at 10:01:44AM +0100, Arnd Bergmann wrote: > On Thu, Dec 1, 2022, at 09:06, 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? > > Agreed, having another layer here (hcd -> xhci -> xhcd_platform -> > xhcd_exynos) would fit perfectly well into how other SoC specific > drivers are abstracted. This could potentially also help reduce > the amount of code duplication between other soc specific variants > (mtk, tegra, mvebu, ...) that are all platform drivers but don't > share code with xhci-plat.c. > > Alternatively, it seems that all of the xhci-exynos support could > just be part of the generic xhci-platform driver: as far as I can > tell, none of the added code is exynos specific at all, instead it > is a generic xhci that is using the wakeup_source framework. > > It should be possible to check at runtime whether an xhci-platform > instance uses the wakeup source or not, and then have the same > driver work across more platforms. > > Arnd >
Currently there's no other platforms using wakelock. I wanted to add xhci-exynos as I think Exynos use it specially. I also agree we can add it on xhci platform driver if needed.
Best Regards, Jung Daehwan
|  |