remoteproc: Rename "load_rsc_table" to "parse_fw"
authorBjorn Andersson <bjorn.andersson@linaro.org>
Sat, 6 Jan 2018 00:04:18 +0000 (16:04 -0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 12 Feb 2018 19:05:30 +0000 (11:05 -0800)
The resource table is just one possible source of information that can
be extracted from the firmware file. Generalize this interface to allow
drivers to override this with parsers of other types of information.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/remoteproc_core.c
drivers/remoteproc/remoteproc_internal.h
include/linux/remoteproc.h

index 5af7547b9d8d8ff4f637cd9cf069dcb5ffb21a27..fd257607a578f17a48b7b32b84a4e17264a06969 100644 (file)
@@ -944,8 +944,8 @@ static int rproc_fw_boot(struct rproc *rproc, const struct firmware *fw)
 
        rproc->bootaddr = rproc_get_boot_addr(rproc, fw);
 
-       /* load resource table */
-       ret = rproc_load_rsc_table(rproc, fw);
+       /* Load resource table, core dump segment list etc from the firmware */
+       ret = rproc_parse_fw(rproc, fw);
        if (ret)
                goto disable_iommu;
 
@@ -1555,7 +1555,7 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
        /* Default to ELF loader if no load function is specified */
        if (!rproc->ops->load) {
                rproc->ops->load = rproc_elf_load_segments;
-               rproc->ops->load_rsc_table = rproc_elf_load_rsc_table;
+               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_elf_sanity_check;
                rproc->ops->get_boot_addr = rproc_elf_get_boot_addr;
index 55a2950c5cb734eeb16ca5326d08d45d44a7234f..7570beb035b5f462f9c9ae19ef9ed1ceff6a6424 100644 (file)
@@ -88,11 +88,10 @@ int rproc_load_segments(struct rproc *rproc, const struct firmware *fw)
        return -EINVAL;
 }
 
-static inline int rproc_load_rsc_table(struct rproc *rproc,
-                                      const struct firmware *fw)
+static inline int rproc_parse_fw(struct rproc *rproc, const struct firmware *fw)
 {
-       if (rproc->ops->load_rsc_table)
-               return rproc->ops->load_rsc_table(rproc, fw);
+       if (rproc->ops->parse_fw)
+               return rproc->ops->parse_fw(rproc, fw);
 
        return 0;
 }
index b60c3a31b75db3c6c501ac3f7af359fc718af6f7..f16864acedada980955172d3a241e6aaee12bdcf 100644 (file)
@@ -344,7 +344,7 @@ struct rproc_ops {
        int (*stop)(struct rproc *rproc);
        void (*kick)(struct rproc *rproc, int vqid);
        void * (*da_to_va)(struct rproc *rproc, u64 da, int len);
-       int (*load_rsc_table)(struct rproc *rproc, const struct firmware *fw);
+       int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);
        struct resource_table *(*find_loaded_rsc_table)(
                                struct rproc *rproc, const struct firmware *fw);
        int (*load)(struct rproc *rproc, const struct firmware *fw);