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 00e1fed93c ("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>
29 lines
778 B
Plaintext
29 lines
778 B
Plaintext
menuconfig I3C
|
|
tristate "I3C support"
|
|
select I2C
|
|
select DEVRES
|
|
help
|
|
I3C is a serial protocol standardized by the MIPI alliance.
|
|
|
|
It's supposed to be backward compatible with I2C while providing
|
|
support for high speed transfers and native interrupt support
|
|
without the need for extra pins.
|
|
|
|
The I3C protocol also standardizes the slave device types and is
|
|
mainly designed to communicate with sensors.
|
|
|
|
If you want I3C support, you should say Y here and also to the
|
|
specific driver for your bus adapter(s) below.
|
|
|
|
config I3C_SANDBOX
|
|
bool "Enable support for the sandbox I3C"
|
|
help
|
|
This is a sandbox I3C used for testing. It provides 2 interfaces and
|
|
records the settings passed into it.
|
|
|
|
if I3C
|
|
|
|
source "drivers/i3c/master/Kconfig"
|
|
|
|
endif # I3C
|