Merge tag 'm68knommu-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / remoteproc / qcom_wcnss.c
index 2a6a23c..5f3455a 100644 (file)
@@ -320,7 +320,7 @@ static int wcnss_stop(struct rproc *rproc)
        return ret;
 }
 
-static void *wcnss_da_to_va(struct rproc *rproc, u64 da, size_t len)
+static void *wcnss_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem)
 {
        struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv;
        int offset;
@@ -530,6 +530,7 @@ static int wcnss_alloc_memory_region(struct qcom_wcnss *wcnss)
 
 static int wcnss_probe(struct platform_device *pdev)
 {
+       const char *fw_name = WCNSS_FIRMWARE_NAME;
        const struct wcnss_data *data;
        struct qcom_wcnss *wcnss;
        struct resource *res;
@@ -547,8 +548,13 @@ static int wcnss_probe(struct platform_device *pdev)
                return -ENXIO;
        }
 
+       ret = of_property_read_string(pdev->dev.of_node, "firmware-name",
+                                     &fw_name);
+       if (ret < 0 && ret != -EINVAL)
+               return ret;
+
        rproc = rproc_alloc(&pdev->dev, pdev->name, &wcnss_ops,
-                           WCNSS_FIRMWARE_NAME, sizeof(*wcnss));
+                           fw_name, sizeof(*wcnss));
        if (!rproc) {
                dev_err(&pdev->dev, "unable to allocate remoteproc\n");
                return -ENOMEM;