remoteproc: Allow overriding only sanity_check
authorClement Leger <cleger@kalray.eu>
Mon, 2 Mar 2020 09:39:01 +0000 (10:39 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 26 Mar 2020 05:29:41 +0000 (22:29 -0700)
Now that rproc_elf_sanity_check can be used by external drivers, allow
to only overwrite the sanity_check member of rproc_ops. This will allow
drivers to handle elf32 and elf64 by overwriting sanity_check with
rproc_elf_sanity_check function.

Signed-off-by: Clement Leger <cleger@kalray.eu>
Link: https://lore.kernel.org/r/20200302093902.27849-8-cleger@kalray.eu
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/remoteproc_core.c

index 0f4a426447ae53af7ba2755699f9d4214cd34305..aa598f99791ac980743d168dcef6f672bf7c2cda 100644 (file)
@@ -2061,7 +2061,8 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
                rproc->ops->load = rproc_elf_load_segments;
                rproc->ops->parse_fw = rproc_elf_load_rsc_table;
                rproc->ops->find_loaded_rsc_table = rproc_elf_find_loaded_rsc_table;
-               rproc->ops->sanity_check = rproc_elf32_sanity_check;
+               if (!rproc->ops->sanity_check)
+                       rproc->ops->sanity_check = rproc_elf32_sanity_check;
                rproc->ops->get_boot_addr = rproc_elf_get_boot_addr;
        }