[PATCH] ARM: imx: drop devlinks to reset-controller node

Philipp Zabel p.zabel at pengutronix.de
Tue Sep 21 05:50:14 PDT 2021


Starting with commit 6b2117ad65f1 ("of: property: fw_devlink: Add
support for "resets" and "pwms""), the imx-drm driver fails to load
due to forever dormant devlinks to the reset-controller node. This
node is never associated with a struct device.

Drop those links, the reset controller is always available.

Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
---
 arch/arm/mach-imx/src.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
index 95fd1fbb0826..6924ac19a762 100644
--- a/arch/arm/mach-imx/src.c
+++ b/arch/arm/mach-imx/src.c
@@ -178,9 +178,17 @@ void __init imx_src_init(void)
 	WARN_ON(!src_base);
 
 	imx_reset_controller.of_node = np;
-	if (IS_ENABLED(CONFIG_RESET_CONTROLLER))
+	if (IS_ENABLED(CONFIG_RESET_CONTROLLER)) {
 		reset_controller_register(&imx_reset_controller);
 
+		/*
+		 * The reset-controller node is never associated with a struct
+		 * device, which trips up fw_devlink=on. As a workaround, drop
+		 * all devlinks to/from this node.
+		 */
+		fw_devlink_purge_absent_suppliers(&np->fwnode);
+	}
+
 	/*
 	 * force warm reset sources to generate cold reset
 	 * for a more reliable restart

base-commit: e4e737bb5c170df6135a127739a9e6148ee3da82
-- 
2.30.2




More information about the linux-arm-kernel mailing list