[PATCH v2 0/9] soc: remove direct accesses to of_root from drivers/soc/
From: Bartosz Golaszewski
Date: Mon Feb 23 2026 - 08:37:54 EST
linux/of.h declares a set of variables providing addresses of certain
key OF nodes. The pointers being variables can't profit from stubs
provided for when CONFIG_OF is disabled which means that drivers
accessing these variables can't profit from CONFIG_COMPILE_TEST=y
coverage.
There are drivers under drivers/soc/ that access the of_root node. This
series introduces new OF helpers for reading the machine compatible and
model strings, exports an existing SoC helper that reads the machine
string from the root node and finally replaces all direct accesses to
of_root with new or already existing helper functions.
Merging strategy: first two patches should be either acked by Rob or
picked up into an immutable branch based on v7.0-rc1, the rest can go
through the SoC tree.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- rename of_machine_get_compatible() to of_machine_read_compatible() and
add the index argument
- add a stub for of_machine_read_compatible() for !CONFIG_OF
- provide of_machine_read_model() to avoid having to look-up the root
node via of_find_node_by_path("/")
- rename soc_device_get_machine() to soc_attr_read_machine() before
making it an exported symbol
- Link to v1: https://lore.kernel.org/r/20260119-soc-of-root-v1-0-32a0fa9a78b4@xxxxxxxxxxxxxxxx
---
Bartosz Golaszewski (9):
of: provide of_machine_read_compatible()
of: provide of_machine_read_model()
base: soc: order includes alphabetically
base: soc: rename and export soc_device_get_machine()
soc: fsl: guts: don't access of_root directly
soc: imx8m: don't access of_root directly
soc: imx9: don't access of_root directly
soc: renesas: don't access of_root directly
soc: sunxi: mbus: don't access of_root directly
drivers/base/soc.c | 23 ++++++++++-------------
drivers/of/base.c | 28 ++++++++++++++++++++++++++++
drivers/soc/fsl/guts.c | 12 +++---------
drivers/soc/imx/soc-imx8m.c | 11 +++--------
drivers/soc/imx/soc-imx9.c | 4 ++--
drivers/soc/renesas/renesas-soc.c | 7 ++++++-
drivers/soc/sunxi/sunxi_mbus.c | 2 +-
include/linux/of.h | 14 ++++++++++++++
include/linux/sys_soc.h | 10 ++++++++++
9 files changed, 77 insertions(+), 34 deletions(-)
---
base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
change-id: 20260119-soc-of-root-77c86c54010f
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>