remoteproc: use rproc_coredump_set_elf_info in drivers
authorClement Leger <cleger@kalray.eu>
Fri, 10 Apr 2020 10:24:33 +0000 (12:24 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 20 Apr 2020 05:53:37 +0000 (22:53 -0700)
Modify drivers which are using remoteproc coredump functionality to use
rproc_coredump_set_elf_info in order to create correct elf coredump
format.

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Clement Leger <cleger@kalray.eu>
Link: https://lore.kernel.org/r/20200410102433.2672-3-cleger@kalray.eu
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_q6v5_adsp.c
drivers/remoteproc/qcom_q6v5_mss.c
drivers/remoteproc/qcom_q6v5_pas.c
drivers/remoteproc/qcom_wcnss.c
drivers/remoteproc/stm32_rproc.c

index 24a3db961d5ea67bd4c7ef1399b936d7df8e8f0a..c60dabc6939e8090fbe1a6f055c87c51737e95b9 100644 (file)
@@ -431,6 +431,7 @@ static int adsp_probe(struct platform_device *pdev)
                dev_err(&pdev->dev, "unable to allocate remoteproc\n");
                return -ENOMEM;
        }
+       rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
 
        adsp = (struct qcom_adsp *)rproc->priv;
        adsp->dev = &pdev->dev;
index ce49c3236ff7c83e00cbb7491c9db320c92cef44..a335d2eebe972e3c39beef7b66dd80ddba4c1d39 100644 (file)
@@ -1357,6 +1357,8 @@ static int qcom_q6v5_register_dump_segments(struct rproc *rproc,
                return ret;
        }
 
+       rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
+
        ehdr = (struct elf32_hdr *)fw->data;
        phdrs = (struct elf32_phdr *)(ehdr + 1);
        qproc->dump_complete_mask = 0;
@@ -1667,6 +1669,7 @@ static int q6v5_probe(struct platform_device *pdev)
        }
 
        rproc->auto_boot = false;
+       rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
 
        qproc = (struct q6v5 *)rproc->priv;
        qproc->dev = &pdev->dev;
index 7a63efb854052968c0267d88a2e9fcd4ab03703d..8ecc157f1ed141bfb5f4cd343b4ee82d5085b7f3 100644 (file)
@@ -398,6 +398,7 @@ static int adsp_probe(struct platform_device *pdev)
        }
 
        rproc->auto_boot = desc->auto_boot;
+       rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
 
        adsp = (struct qcom_adsp *)rproc->priv;
        adsp->dev = &pdev->dev;
index 0c7afd038f0d941f5fa9152fde6c828dc5e921ac..5d65e1a9329a016aeff1a2112772103d6e371dec 100644 (file)
@@ -480,6 +480,7 @@ static int wcnss_probe(struct platform_device *pdev)
                dev_err(&pdev->dev, "unable to allocate remoteproc\n");
                return -ENOMEM;
        }
+       rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
 
        wcnss = (struct qcom_wcnss *)rproc->priv;
        wcnss->dev = &pdev->dev;
index 6a66dbf2df407db0371649d219b5a55247f32a86..0f9d02ca4f5ac53d7a1d824107e9fb792929020c 100644 (file)
@@ -625,6 +625,7 @@ static int stm32_rproc_probe(struct platform_device *pdev)
        if (!rproc)
                return -ENOMEM;
 
+       rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);
        rproc->has_iommu = false;
        ddata = rproc->priv;
        ddata->workqueue = create_workqueue(dev_name(dev));