Enhance the stm32_rproc driver to allow enabling the configuration of the
firmware name based on the 'firmware-name' property in the device tree,
offering flexibility compared to using the remote proc device node
name.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliq...@foss.st.com>
---
 drivers/remoteproc/stm32_rproc.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c
index b02b36a3f515..431648607d53 100644
--- a/drivers/remoteproc/stm32_rproc.c
+++ b/drivers/remoteproc/stm32_rproc.c
@@ -835,6 +835,7 @@ static int stm32_rproc_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct stm32_rproc *ddata;
        struct device_node *np = dev->of_node;
+       const char *fw_name;
        struct rproc *rproc;
        unsigned int state;
        int ret;
@@ -843,7 +844,12 @@ static int stm32_rproc_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
-       rproc = devm_rproc_alloc(dev, np->name, &st_rproc_ops, NULL, 
sizeof(*ddata));
+       /* Look for an optional firmware name */
+       ret = rproc_of_parse_firmware(dev, 0, &fw_name);
+       if (ret < 0 && ret != -EINVAL)
+               return ret;
+
+       rproc = devm_rproc_alloc(dev, np->name, &st_rproc_ops, fw_name, 
sizeof(*ddata));
        if (!rproc)
                return -ENOMEM;
 
-- 
2.25.1


Reply via email to