Message ID | 20200410102433.2672-3-cleger@kalray.eu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | remoteproc: add rproc_coredump_set_elf_info | expand |
On Fri 10 Apr 03:24 PDT 2020, Clement Leger wrote: > Modify drivers which are using remoteproc coredump functionnality to use > rproc_coredump_set_elf_info in order to create correct elf coredump > format. > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> > Signed-off-by: Clement Leger <cleger@kalray.eu> > --- > drivers/remoteproc/qcom_q6v5_adsp.c | 1 + > drivers/remoteproc/qcom_q6v5_mss.c | 3 +++ > drivers/remoteproc/qcom_q6v5_pas.c | 1 + > drivers/remoteproc/qcom_wcnss.c | 1 + > drivers/remoteproc/stm32_rproc.c | 1 + > 5 files changed, 7 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c > index 2b01f2282062..8c3bd0954a13 100644 > --- a/drivers/remoteproc/qcom_q6v5_adsp.c > +++ b/drivers/remoteproc/qcom_q6v5_adsp.c > @@ -423,6 +423,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; > diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c > index 03ffc6db4c68..5a7ff1092362 100644 > --- a/drivers/remoteproc/qcom_q6v5_mss.c > +++ b/drivers/remoteproc/qcom_q6v5_mss.c > @@ -1355,6 +1355,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; > @@ -1632,6 +1634,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; > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c > index a41860d2243a..991f57e8e55b 100644 > --- a/drivers/remoteproc/qcom_q6v5_pas.c > +++ b/drivers/remoteproc/qcom_q6v5_pas.c > @@ -390,6 +390,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; > diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c > index 0c7afd038f0d..5d65e1a9329a 100644 > --- a/drivers/remoteproc/qcom_wcnss.c > +++ b/drivers/remoteproc/qcom_wcnss.c > @@ -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; > diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c > index 6a66dbf2df40..0f9d02ca4f5a 100644 > --- a/drivers/remoteproc/stm32_rproc.c > +++ b/drivers/remoteproc/stm32_rproc.c > @@ -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)); > -- > 2.17.1 >
On Fri, Apr 10, 2020 at 12:24:33PM +0200, Clement Leger wrote: > Modify drivers which are using remoteproc coredump functionnality to use s/functionnality/functionality > rproc_coredump_set_elf_info in order to create correct elf coredump > format. > > Signed-off-by: Clement Leger <cleger@kalray.eu> > --- > drivers/remoteproc/qcom_q6v5_adsp.c | 1 + > drivers/remoteproc/qcom_q6v5_mss.c | 3 +++ > drivers/remoteproc/qcom_q6v5_pas.c | 1 + > drivers/remoteproc/qcom_wcnss.c | 1 + > drivers/remoteproc/stm32_rproc.c | 1 + > 5 files changed, 7 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c > index 2b01f2282062..8c3bd0954a13 100644 > --- a/drivers/remoteproc/qcom_q6v5_adsp.c > +++ b/drivers/remoteproc/qcom_q6v5_adsp.c > @@ -423,6 +423,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; > diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c > index 03ffc6db4c68..5a7ff1092362 100644 > --- a/drivers/remoteproc/qcom_q6v5_mss.c > +++ b/drivers/remoteproc/qcom_q6v5_mss.c > @@ -1355,6 +1355,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; > @@ -1632,6 +1634,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; > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c > index a41860d2243a..991f57e8e55b 100644 > --- a/drivers/remoteproc/qcom_q6v5_pas.c > +++ b/drivers/remoteproc/qcom_q6v5_pas.c > @@ -390,6 +390,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; > diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c > index 0c7afd038f0d..5d65e1a9329a 100644 > --- a/drivers/remoteproc/qcom_wcnss.c > +++ b/drivers/remoteproc/qcom_wcnss.c > @@ -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; > diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c > index 6a66dbf2df40..0f9d02ca4f5a 100644 > --- a/drivers/remoteproc/stm32_rproc.c > +++ b/drivers/remoteproc/stm32_rproc.c > @@ -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); With the above: Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> > rproc->has_iommu = false; > ddata = rproc->priv; > ddata->workqueue = create_workqueue(dev_name(dev)); > -- > 2.17.1 >
diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c index 2b01f2282062..8c3bd0954a13 100644 --- a/drivers/remoteproc/qcom_q6v5_adsp.c +++ b/drivers/remoteproc/qcom_q6v5_adsp.c @@ -423,6 +423,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; diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index 03ffc6db4c68..5a7ff1092362 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -1355,6 +1355,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; @@ -1632,6 +1634,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; diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index a41860d2243a..991f57e8e55b 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -390,6 +390,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; diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c index 0c7afd038f0d..5d65e1a9329a 100644 --- a/drivers/remoteproc/qcom_wcnss.c +++ b/drivers/remoteproc/qcom_wcnss.c @@ -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; diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c index 6a66dbf2df40..0f9d02ca4f5a 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -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));
Modify drivers which are using remoteproc coredump functionnality to use rproc_coredump_set_elf_info in order to create correct elf coredump format. Signed-off-by: Clement Leger <cleger@kalray.eu> --- drivers/remoteproc/qcom_q6v5_adsp.c | 1 + drivers/remoteproc/qcom_q6v5_mss.c | 3 +++ drivers/remoteproc/qcom_q6v5_pas.c | 1 + drivers/remoteproc/qcom_wcnss.c | 1 + drivers/remoteproc/stm32_rproc.c | 1 + 5 files changed, 7 insertions(+)