summaryrefslogtreecommitdiffstats
path: root/drivers/remoteproc/stm32_rproc.c
diff options
context:
space:
mode:
authorMathieu Poirier <mathieu.poirier@linaro.org>2020-07-14 22:04:38 +0200
committerBjorn Andersson <bjorn.andersson@linaro.org>2020-07-18 02:34:14 +0200
commit95e32f868aa67cb0d581ca8ced456dc2fac5edf7 (patch)
treeba7523213d732a57e512f8df639d0da257106ab7 /drivers/remoteproc/stm32_rproc.c
parentremoteproc: stm32: Decouple rproc from DT parsing (diff)
downloadlinux-95e32f868aa67cb0d581ca8ced456dc2fac5edf7.tar.xz
linux-95e32f868aa67cb0d581ca8ced456dc2fac5edf7.zip
remoteproc: stm32: Remove memory translation from DT parsing
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. Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Reviewed-by: Loic Pallardy <loic.pallardy@st.com> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20200714200445.1427257-5-mathieu.poirier@linaro.org Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc/stm32_rproc.c')
-rw-r--r--drivers/remoteproc/stm32_rproc.c6
1 files changed, 5 insertions, 1 deletions
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) {