Other than one has to be done after the other, there is no correlation
between memory translation and DT parsing.  As such move function
stm32_rproc_of_memory_translations() to stm32_rproc_probe() so that
stm32_rproc_parse_dt() can be extended to look for attach bindings
in a clean way.

Signed-off-by: Mathieu Poirier <[email protected]>
Reviewed-by: Loic Pallardy <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
---
 drivers/remoteproc/stm32_rproc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c
index cbba995a80a2..986f34a336a7 100644
--- a/drivers/remoteproc/stm32_rproc.c
+++ b/drivers/remoteproc/stm32_rproc.c
@@ -607,7 +607,7 @@ static int stm32_rproc_parse_dt(struct platform_device 
*pdev,
 
        *auto_boot = of_property_read_bool(np, "st,auto-boot");
 
-       return stm32_rproc_of_memory_translations(pdev, ddata);
+       return 0;
 }
 
 static int stm32_rproc_probe(struct platform_device *pdev)
@@ -634,6 +634,10 @@ static int stm32_rproc_probe(struct platform_device *pdev)
        if (ret)
                goto free_rproc;
 
+       ret = stm32_rproc_of_memory_translations(pdev, ddata);
+       if (ret)
+               goto free_rproc;
+
        rproc->has_iommu = false;
        ddata->workqueue = create_workqueue(dev_name(dev));
        if (!ddata->workqueue) {
-- 
2.25.1

Reply via email to