remoteproc: stm32: Introduce new attach() operation
authorMathieu Poirier <mathieu.poirier@linaro.org>
Tue, 14 Jul 2020 20:04:44 +0000 (14:04 -0600)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Sat, 18 Jul 2020 00:34:58 +0000 (17:34 -0700)
Introduce new attach function to be used when attaching to a
remote processor.

Mainly based on the work published by Arnaud Pouliquen [1].

[1]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=239877

Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20200714200445.1427257-11-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/stm32_rproc.c

index 882229f..7145cd4 100644 (file)
@@ -460,6 +460,13 @@ static int stm32_rproc_start(struct rproc *rproc)
        return stm32_rproc_set_hold_boot(rproc, true);
 }
 
+static int stm32_rproc_attach(struct rproc *rproc)
+{
+       stm32_rproc_add_coredump_trace(rproc);
+
+       return stm32_rproc_set_hold_boot(rproc, true);
+}
+
 static int stm32_rproc_stop(struct rproc *rproc)
 {
        struct stm32_rproc *ddata = rproc->priv;
@@ -525,6 +532,7 @@ static void stm32_rproc_kick(struct rproc *rproc, int vqid)
 static struct rproc_ops st_rproc_ops = {
        .start          = stm32_rproc_start,
        .stop           = stm32_rproc_stop,
+       .attach         = stm32_rproc_attach,
        .kick           = stm32_rproc_kick,
        .load           = rproc_elf_load_segments,
        .parse_fw       = stm32_rproc_parse_fw,