diff options
| author | Tom Rini <[email protected]> | 2025-12-27 16:37:11 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-01-09 09:08:14 -0600 |
| commit | 217cf656e249f698d390a7d8eaf255eb1a6c0230 (patch) | |
| tree | 517b0cbaabb08056ff41b7e2d9699ce58ae7880f /drivers/usb | |
| parent | 284e1a00f4f28dcd6ddc8c860d22f1c8c427c5d5 (diff) | |
dm: core: Default to using DEVRES outside of xPL
The devm alloc functions that we have may follow the Linux kernel model
where allocations are (almost always) automatically free()'d. However,
quite often we don't enable, in full U-Boot, the tracking and free()'ing
functionality. This in turn leads to memory leaks because the driver
author expects that since the functions have the same name as in the
Linux Kernel they have the same behavior. In turn we then get
functionally correct commits such as commit 00e1fed93c8c ("firmware:
ti_sci: Fix memory leaks in devm_ti_sci_get_of_resource") that manually
add these calls. Rather than manually tracking allocations and
implementing free()s, rework things so that we follow expectations by
enabling the DEVRES functionality (outside of xPL phases).
This turns DEVRES from a prompted symbol to a symbol that must be
select'd, and we now remove our non-managed alloc/free functions from
outside of xPL builds.
Reviewed-by: Michael Trimarchi <[email protected]>
Signed-off-by: Tom Rini <[email protected]>
Diffstat (limited to 'drivers/usb')
| -rw-r--r-- | drivers/usb/cdns3/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/usb/dwc3/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/usb/host/Kconfig | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/cdns3/Kconfig b/drivers/usb/cdns3/Kconfig index 1d5e4afac6c..7964f3f41d5 100644 --- a/drivers/usb/cdns3/Kconfig +++ b/drivers/usb/cdns3/Kconfig @@ -1,6 +1,7 @@ config USB_CDNS3 tristate "Cadence USB3 Dual-Role Controller" depends on USB_XHCI_HCD || USB_GADGET + select DEVRES help Say Y here if your system has a Cadence USB3 dual-role controller. It supports: Host-only, and Peripheral-only. diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig index 744dfa90463..27fcae54b22 100644 --- a/drivers/usb/dwc3/Kconfig +++ b/drivers/usb/dwc3/Kconfig @@ -1,6 +1,7 @@ config USB_DWC3 bool "DesignWare USB3 DRD Core Support" depends on USB_XHCI_HCD || USB_GADGET + select DEVRES help Say Y here if your system has a Dual Role SuperSpeed USB controller based on the DesignWare USB3 IP Core. diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 99f381db9f9..54df4264a44 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -367,6 +367,7 @@ config USB_OHCI_GENERIC config USB_OHCI_DA8XX bool "Support for da850 OHCI USB controller" depends on ARCH_DAVINCI + select DEVRES help Enable support for the da850 USB controller. |
