By registering the software node directly instead of just
the properties in it, the driver can take advantage of also
the other features the software nodes have.
This helper will register a software node and then assign
it to device at the same time. The function will also make
sure that the device can't have more than one software node.
Tiger Lake SOC (the versions of it that have integrated USB4
controller) may have two DWC3 controllers. One is part of
the PCH (Platform Controller Hub, i.e. the chipset) as
usual, and the other is inside the actual CPU block.
On all Intel platforms that have the two separate DWC3
controllers, the one inside the CPU handles USB3 and only
USB3 traffic, while the PCH version handles USB2 and USB2
alone. The reason for splitting the two busses like this is
to allow easy USB3 tunneling over USB4 connections. As USB2
is not tunneled over USB4, it has dedicated USB controllers
(both xHCI and DWC3).
Acked-by: Felipe Balbi <email address hidden>
Signed-off-by: Heikki Krogerus <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
(cherry picked from commit 73203bde3a95a48f27b2454dc6b955280c641afe)
Signed-off-by: Hsuan-Yu Lin <email address hidden>
Signed-off-by: Wen-chien Jesse Sung <email address hidden>
This reverts commit eea251d07b28355983e2c3549c865e10f7f927cf as it
breaks the build.
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_vm_helper.o
/<<PKGBUILDDIR>>/drivers/usb/dwc3/dwc3-pci.c:379:22: error: ‘dwc3_pci_intel_swnode’ undeclared here (not in a function)
379 | (kernel_ulong_t) &dwc3_pci_intel_swnode, },
| ^~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Stefan Bader <email address hidden>