mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 12:46:14 +02:00
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 <michael@amarulasolutions.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
52 lines
1.3 KiB
Plaintext
52 lines
1.3 KiB
Plaintext
# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
config PINCTRL_MSCC
|
|
bool
|
|
select DEVRES
|
|
|
|
config PINCTRL_MSCC_OCELOT
|
|
depends on SOC_OCELOT && PINCTRL_FULL && OF_CONTROL
|
|
select PINCTRL_MSCC
|
|
default y
|
|
bool "Microsemi ocelot family pin control driver"
|
|
help
|
|
Support pin multiplexing and pin configuration control on
|
|
Microsemi ocelot SoCs.
|
|
|
|
config PINCTRL_MSCC_LUTON
|
|
depends on SOC_LUTON && PINCTRL_FULL && OF_CONTROL
|
|
select PINCTRL_MSCC
|
|
default y
|
|
bool "Microsemi luton family pin control driver"
|
|
help
|
|
Support pin multiplexing and pin configuration control on
|
|
Microsemi luton SoCs.
|
|
|
|
config PINCTRL_MSCC_JR2
|
|
depends on SOC_JR2 && PINCTRL_FULL && OF_CONTROL
|
|
select PINCTRL_MSCC
|
|
default y
|
|
bool "Microsemi jr2 family pin control driver"
|
|
help
|
|
Support pin multiplexing and pin configuration control on
|
|
Microsemi jr2 SoCs.
|
|
|
|
config PINCTRL_MSCC_SERVALT
|
|
depends on SOC_SERVALT && PINCTRL_FULL && OF_CONTROL
|
|
select PINCTRL_MSCC
|
|
default y
|
|
bool "Microsemi servalt family pin control driver"
|
|
help
|
|
Support pin multiplexing and pin configuration control on
|
|
Microsemi servalt SoCs.
|
|
|
|
config PINCTRL_MSCC_SERVAL
|
|
depends on SOC_SERVAL && PINCTRL_FULL && OF_CONTROL
|
|
select PINCTRL_MSCC
|
|
default y
|
|
bool "Microsemi serval family pin control driver"
|
|
help
|
|
Support pin multiplexing and pin configuration control on
|
|
Microsemi serval SoCs.
|
|
|