summaryrefslogtreecommitdiff
path: root/drivers/firmware
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-12-27 16:37:11 -0600
committerTom Rini <[email protected]>2026-01-09 09:08:14 -0600
commit217cf656e249f698d390a7d8eaf255eb1a6c0230 (patch)
tree517b0cbaabb08056ff41b7e2d9699ce58ae7880f /drivers/firmware
parent284e1a00f4f28dcd6ddc8c860d22f1c8c427c5d5 (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/firmware')
-rw-r--r--drivers/firmware/Kconfig1
-rw-r--r--drivers/firmware/arm-ffa/Kconfig1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index a094e6c3afe..220de731950 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -16,6 +16,7 @@ config ARM_PSCI_FW
config TI_SCI_PROTOCOL
tristate "TI System Control Interface (TISCI) Message Protocol"
depends on K3_SEC_PROXY
+ select DEVRES
select FIRMWARE
select SPL_FIRMWARE if SPL
help
diff --git a/drivers/firmware/arm-ffa/Kconfig b/drivers/firmware/arm-ffa/Kconfig
index d75f8b53fd8..3706a889305 100644
--- a/drivers/firmware/arm-ffa/Kconfig
+++ b/drivers/firmware/arm-ffa/Kconfig
@@ -6,6 +6,7 @@ config ARM_FFA_TRANSPORT
select ARM_SMCCC if !SANDBOX
select ARM_SMCCC_FEATURES if !SANDBOX
imply CMD_ARMFFA
+ select DEVRES
select LIB_UUID
select DEVRES
help