mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

In order to more tightly integrate the Qualcomm glue driver with the dwc3 core the driver is redesigned to avoid splitting the implementation using the driver model. But due to the strong coupling to the Devicetree binding needs to be updated as well. Various ways to provide backwards compatibility with existing Devicetree blobs has been explored, but migrating the Devicetree information between the old and the new binding is non-trivial. For the vast majority of boards out there, the kernel and Devicetree are generated and handled together, which in practice means that backwards compatibility needs to be managed across about 1 kernel release. For some though, such as the various Snapdragon laptops, the Devicetree blobs live a life separate of the kernel. In each one of these, with the continued extension of new features, it's recommended that users would upgrade their Devicetree somewhat frequently. With this in mind, simply carrying a snapshot/copy of the current driver is simpler than creating and maintaining the migration code. The driver is kept under the same Kconfig option, to ensure that Linux distributions doesn't drop USB support on these platforms. The driver, which is going to be refactored to handle the newly introduced qcom,snps-dwc3 compatible, is updated to temporarily not match against any compatible. This driver should be removed after the next LTS release. Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250414-dwc3-refactor-v7-1-f015b358722d@oss.qualcomm.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
59 lines
1.7 KiB
Makefile
59 lines
1.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# define_trace.h needs to know how to find our header
|
|
CFLAGS_trace.o := -I$(src)
|
|
|
|
obj-$(CONFIG_USB_DWC3) += dwc3.o
|
|
|
|
dwc3-y := core.o
|
|
|
|
ifneq ($(CONFIG_TRACING),)
|
|
dwc3-y += trace.o
|
|
endif
|
|
|
|
ifneq ($(filter y,$(CONFIG_USB_DWC3_HOST) $(CONFIG_USB_DWC3_DUAL_ROLE)),)
|
|
dwc3-y += host.o
|
|
endif
|
|
|
|
ifneq ($(filter y,$(CONFIG_USB_DWC3_GADGET) $(CONFIG_USB_DWC3_DUAL_ROLE)),)
|
|
dwc3-y += gadget.o ep0.o
|
|
endif
|
|
|
|
ifneq ($(CONFIG_USB_DWC3_DUAL_ROLE),)
|
|
dwc3-y += drd.o
|
|
endif
|
|
|
|
ifneq ($(CONFIG_USB_DWC3_ULPI),)
|
|
dwc3-y += ulpi.o
|
|
endif
|
|
|
|
ifneq ($(CONFIG_DEBUG_FS),)
|
|
dwc3-y += debugfs.o
|
|
endif
|
|
|
|
##
|
|
# Platform-specific glue layers go here
|
|
#
|
|
# NOTICE: Make sure your glue layer doesn't depend on anything
|
|
# which is arch-specific and that it compiles on all situations.
|
|
#
|
|
# We want to keep this requirement in order to be able to compile
|
|
# the entire driver (with all its glue layers) on several architectures
|
|
# and make sure it compiles fine. This will also help with allmodconfig
|
|
# and allyesconfig builds.
|
|
##
|
|
|
|
obj-$(CONFIG_USB_DWC3_AM62) += dwc3-am62.o
|
|
obj-$(CONFIG_USB_DWC3_OMAP) += dwc3-omap.o
|
|
obj-$(CONFIG_USB_DWC3_EXYNOS) += dwc3-exynos.o
|
|
obj-$(CONFIG_USB_DWC3_PCI) += dwc3-pci.o
|
|
obj-$(CONFIG_USB_DWC3_HAPS) += dwc3-haps.o
|
|
obj-$(CONFIG_USB_DWC3_KEYSTONE) += dwc3-keystone.o
|
|
obj-$(CONFIG_USB_DWC3_MESON_G12A) += dwc3-meson-g12a.o
|
|
obj-$(CONFIG_USB_DWC3_OF_SIMPLE) += dwc3-of-simple.o
|
|
obj-$(CONFIG_USB_DWC3_ST) += dwc3-st.o
|
|
obj-$(CONFIG_USB_DWC3_QCOM) += dwc3-qcom.o
|
|
obj-$(CONFIG_USB_DWC3_QCOM) += dwc3-qcom-legacy.o
|
|
obj-$(CONFIG_USB_DWC3_IMX8MP) += dwc3-imx8mp.o
|
|
obj-$(CONFIG_USB_DWC3_XILINX) += dwc3-xilinx.o
|
|
obj-$(CONFIG_USB_DWC3_OCTEON) += dwc3-octeon.o
|
|
obj-$(CONFIG_USB_DWC3_RTK) += dwc3-rtk.o
|