[PATCH v2 7/7] of: unittest: Test fw_devlink with clock nexus maps
From: Ernest Van Hoecke
Date: Thu Sep 10 2026 - 11:26:51 EST
From: Ernest Van Hoecke <ernest.vanhoecke@xxxxxxxxxxx>
Extend the fw_devlink OF unit tests with clock references routed through
a nexus map. Verify that the mapped consumer has exactly one link to the
final clock provider rather than to the nexus.
Also cover a direct clock reference to ensure that it continues to
resolve to the original provider when no map is present.
Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@xxxxxxxxxxx>
---
drivers/of/unittest-data/tests-phandle.dtsi | 14 ++++++++++++++
drivers/of/unittest.c | 2 ++
2 files changed, 16 insertions(+)
diff --git a/drivers/of/unittest-data/tests-phandle.dtsi b/drivers/of/unittest-data/tests-phandle.dtsi
index eef966615b22..aaf0b871c01d 100644
--- a/drivers/of/unittest-data/tests-phandle.dtsi
+++ b/drivers/of/unittest-data/tests-phandle.dtsi
@@ -81,6 +81,10 @@ consumer-b {
};
fw-devlink-tests {
+ clock_provider: clock-controller {
+ #clock-cells = <1>;
+ };
+
gpio_provider: gpio-controller {
#gpio-cells = <2>;
};
@@ -90,8 +94,10 @@ pwm_provider: pwm-controller {
};
fwdevlink_nexus: nexus {
+ #clock-cells = <1>;
#gpio-cells = <2>;
#pwm-cells = <2>;
+ clock-map = <0 &clock_provider 1>;
gpio-map = <0 0 &gpio_provider 1 0>;
gpio-map-mask = <0xffffffff 0>;
gpio-map-pass-thru = <0 0xffffffff>;
@@ -100,6 +106,14 @@ fwdevlink_nexus: nexus {
pwm-map-pass-thru = <0 0xffffffff>;
};
+ clock-consumer {
+ clocks = <&fwdevlink_nexus 0>;
+ };
+
+ clock-direct-consumer {
+ clocks = <&clock_provider 1>;
+ };
+
gpio-compat-consumer {
gpios = <&fwdevlink_nexus 0 0>;
};
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index b739a69997a9..2859a44c3fe5 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -765,6 +765,8 @@ static void __init of_unittest_fw_devlink(void)
const char *consumer;
const char *supplier;
} cases[] = {
+ { "clock-consumer", "clock-controller" },
+ { "clock-direct-consumer", "clock-controller" },
{ "gpio-compat-consumer", "gpio-controller" },
{ "gpio-compat-singular-consumer", "gpio-controller" },
{ "gpio-consumer", "gpio-controller" },
--
2.43.0