[PATCH 15/16] soc: imx: gpcv2: support reset defer probe

From: Peng Fan (OSS)
Date: Thu Apr 29 2021 - 03:01:19 EST


From: Peng Fan <peng.fan@xxxxxxx>

When gpcv2 probe, the reset controller might not be ready, so we need
defer probe

Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
drivers/soc/imx/gpcv2.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c
index 072f519462a5..49dd137f6b94 100644
--- a/drivers/soc/imx/gpcv2.c
+++ b/drivers/soc/imx/gpcv2.c
@@ -784,9 +784,12 @@ static int imx_pgc_domain_probe(struct platform_device *pdev)
"Failed to get domain's clocks\n");

domain->reset = devm_reset_control_array_get_optional_exclusive(domain->dev);
- if (IS_ERR(domain->reset))
+ if (IS_ERR(domain->reset)) {
+ if (PTR_ERR(domain->reset) == -EPROBE_DEFER)
+ return -EPROBE_DEFER;
return dev_err_probe(domain->dev, PTR_ERR(domain->reset),
"Failed to get domain's resets\n");
+ }

pm_runtime_enable(domain->dev);

--
2.30.0