[PATCH v3 6/8] of: unittest: Test fw_devlink with PWM nexus maps
From: Ernest Van Hoecke
Date: Tue Oct 20 2026 - 09:13:04 EST
From: Ernest Van Hoecke <ernest.vanhoecke@xxxxxxxxxxx>
Extend the fw_devlink OF unit tests with PWM references routed through a
nexus map. Verify that the mapped consumer has exactly one link to the
final PWM provider rather than to the nexus.
Also cover a direct PWM 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>
---
v3: Route pwm-map entries to two providers, use a middle entry (Herve)
v2: https://lore.kernel.org/r/20260910-fw-devlink-nexus-ready-v2-5-17ac82dbe226@xxxxxxxxxxx
---
drivers/of/unittest-data/tests-phandle.dtsi | 22 ++++++++++++++++++++++
drivers/of/unittest.c | 2 ++
2 files changed, 24 insertions(+)
diff --git a/drivers/of/unittest-data/tests-phandle.dtsi b/drivers/of/unittest-data/tests-phandle.dtsi
index f5d7ee072c90..1fd465bb8f79 100644
--- a/drivers/of/unittest-data/tests-phandle.dtsi
+++ b/drivers/of/unittest-data/tests-phandle.dtsi
@@ -89,13 +89,27 @@ gpio_provider_b: gpio-controller-b {
#gpio-cells = <2>;
};
+ pwm_provider_a: pwm-controller-a {
+ #pwm-cells = <2>;
+ };
+
+ pwm_provider_b: pwm-controller-b {
+ #pwm-cells = <2>;
+ };
+
fwdevlink_nexus: nexus {
#gpio-cells = <2>;
+ #pwm-cells = <2>;
gpio-map = <1 0 &gpio_provider_a 3 0>,
<2 0 &gpio_provider_b 5 0>,
<3 0 &gpio_provider_a 7 0>;
gpio-map-mask = <0xffffffff 0>;
gpio-map-pass-thru = <0 0xffffffff>;
+ pwm-map = <1 0 &pwm_provider_a 3 0>,
+ <2 0 &pwm_provider_b 5 0>,
+ <3 0 &pwm_provider_a 7 0>;
+ pwm-map-mask = <0xffffffff 0>;
+ pwm-map-pass-thru = <0 0xffffffff>;
};
gpio-compat-consumer {
@@ -117,6 +131,14 @@ gpio-direct-consumer {
gpio-singular-consumer {
test-gpio = <&fwdevlink_nexus 2 1>;
};
+
+ pwm-consumer {
+ pwms = <&fwdevlink_nexus 2 1000>;
+ };
+
+ pwm-direct-consumer {
+ pwms = <&pwm_provider_a 1 0>;
+ };
};
};
};
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index f15c110dbf4d..320a992c4310 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -770,6 +770,8 @@ static void __init of_unittest_fw_devlink(void)
{ "gpio-consumer", "gpio-controller-b" },
{ "gpio-direct-consumer", "gpio-controller-a" },
{ "gpio-singular-consumer", "gpio-controller-b" },
+ { "pwm-consumer", "pwm-controller-b" },
+ { "pwm-direct-consumer", "pwm-controller-a" },
};
struct device_node *tests;
int i;
--
2.43.0