35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From 338c4c87227ac0e66de279b677bc16fdf41e259b Mon Sep 17 00:00:00 2001
|
|
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
Date: Wed, 3 May 2023 18:38:26 +0200
|
|
Subject: [PATCH 309/469] regulator: rk808: fix asynchronous probing
|
|
|
|
If the probe routine fails with -EPROBE_DEFER after taking over the
|
|
OF node from its parent driver, reprobing triggers pinctrl_bind_pins()
|
|
and that will fail. Fix this by setting of_node_reused, so that the
|
|
device does not try to setup pin muxing.
|
|
|
|
For me this always happens once the driver is marked to prefer async
|
|
probing and never happens without that flag.
|
|
|
|
Fixes: 259b93b21a9f ("regulator: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in 4.14")
|
|
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
---
|
|
drivers/regulator/rk808-regulator.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
|
|
index 3637e81654a8..80ba782d8923 100644
|
|
--- a/drivers/regulator/rk808-regulator.c
|
|
+++ b/drivers/regulator/rk808-regulator.c
|
|
@@ -1336,6 +1336,7 @@ static int rk808_regulator_probe(struct platform_device *pdev)
|
|
|
|
config.dev = &pdev->dev;
|
|
config.dev->of_node = pdev->dev.parent->of_node;
|
|
+ config.dev->of_node_reused = true;
|
|
config.driver_data = pdata;
|
|
config.regmap = regmap;
|
|
|
|
--
|
|
2.34.1
|
|
|