Hi Jens,
On 2026-05-07T09:27:07, Jens Wiklander <[email protected]> wrote:
> usb: dwc3: import from kernel v5.0
>
> Sync Linux kernel dwc3 changes from v4.20 to v5.0.
>
> The following files are preserved accross the import:
> Makefile Kconfig dwc3-meson-g12a.c dwc3-meson-gxl.c dwc3-omap.c
> dwc3-uniphier.c dwc3-generic.h dwc3-generic.c dwc3-generic-sti.c
> dwc3-layerscape.c ti_usb_phy.c
>
> Skipping unused files:
> debugfs.c drd.c dwc3-exynos.c dwc3-haps.c dwc3-imx8mp.c dwc3-keystone.c
> dwc3-octeon.c dwc3-of-simple.c dwc3-pci.c dwc3-qcom.c dwc3-qcom-legacy.c
> dwc3-rtk.c dwc3-st.c dwc3-xilinx.c host.c trace.c trace.h ulpi.c
>
> Note that this is a raw import and doesn't build.
> A fixup commit at the end of the series fixes that.
>
> List of commits: git log --oneline v4.20..v5.0
> Commits imported:
> 512e6fb589bc usb: dwc3: exynos: Fix error handling of clk_prepare_enable
> [...]
>
> drivers/usb/dwc3/core.c | 19 ++-
> drivers/usb/dwc3/core.h | 60 ++++++--
> drivers/usb/dwc3/debug.h | 29 ++++
> drivers/usb/dwc3/gadget.c | 348
> ++++++++++++++++++++++++++++++----------------
> drivers/usb/dwc3/gadget.h | 15 ++
> 5 files changed, 336 insertions(+), 135 deletions(-)
> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> @@ -919,6 +940,7 @@ struct dwc3_scratchpad_array {
> * @u1u2: only used on revisions <1.83a for workaround
> * @maximum_speed: maximum speed requested (mainly for testing purposes)
> * @ip: controller's ID
> + * @version_type: VERSIONTYPE register contents, a sub release of a revision
> * @revision: revision register contents
> * @version_type: VERSIONTYPE register contents, a sub release of a revision
There is a duplicate line here.
> diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
> @@ -1139,6 +1166,17 @@ struct dwc3 {
> #define DWC3_REVISION_IS_DWC31 0x80000000
> #define DWC3_USB31_REVISION_110A (0x3131302a | DWC3_REVISION_IS_DWC31)
> #define DWC3_USB31_REVISION_120A (0x3132302a | DWC3_REVISION_IS_DWC31)
> +#define DWC3_USB31_REVISION_160A (0x3136302a | DWC3_REVISION_IS_DWC31)
> +#define DWC3_USB31_REVISION_170A (0x3137302a | DWC3_REVISION_IS_DWC31)
> +
> + u32 version_type;
> +
> +#define DWC31_VERSIONTYPE_EA01 0x65613031
> +#define DWC31_VERSIONTYPE_EA02 0x65613032
> +#define DWC31_VERSIONTYPE_EA03 0x65613033
> +#define DWC31_VERSIONTYPE_EA04 0x65613034
> +#define DWC31_VERSIONTYPE_EA05 0x65613035
> +#define DWC31_VERSIONTYPE_EA06 0x65613036
> @@ -1098,6 +1124,7 @@ struct dwc3 {
> #define DWC3_REVISION_300A 0x5533300a
> #define DWC3_REVISION_310A 0x5533310a
> #define DWC3_REVISION_220A 0x5533220a
> +#define DWC3_REVISION_330A 0x5533330a
These two chunks seem to result in duplicate symbols.
Regards,
Simon