remoteproc: Rename "load_rsc_table" to "parse_fw"
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>
This commit is contained in:
Родитель
2666ca9197
Коммит
c1d35c1ab4
|
@ -944,8 +944,8 @@ static int rproc_fw_boot(struct rproc *rproc, const struct firmware *fw)
|
||||||
|
|
||||||
rproc->bootaddr = rproc_get_boot_addr(rproc, fw);
|
rproc->bootaddr = rproc_get_boot_addr(rproc, fw);
|
||||||
|
|
||||||
/* load resource table */
|
/* Load resource table, core dump segment list etc from the firmware */
|
||||||
ret = rproc_load_rsc_table(rproc, fw);
|
ret = rproc_parse_fw(rproc, fw);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto disable_iommu;
|
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 */
|
/* Default to ELF loader if no load function is specified */
|
||||||
if (!rproc->ops->load) {
|
if (!rproc->ops->load) {
|
||||||
rproc->ops->load = rproc_elf_load_segments;
|
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->find_loaded_rsc_table = rproc_elf_find_loaded_rsc_table;
|
||||||
rproc->ops->sanity_check = rproc_elf_sanity_check;
|
rproc->ops->sanity_check = rproc_elf_sanity_check;
|
||||||
rproc->ops->get_boot_addr = rproc_elf_get_boot_addr;
|
rproc->ops->get_boot_addr = rproc_elf_get_boot_addr;
|
||||||
|
|
|
@ -88,11 +88,10 @@ int rproc_load_segments(struct rproc *rproc, const struct firmware *fw)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int rproc_load_rsc_table(struct rproc *rproc,
|
static inline int rproc_parse_fw(struct rproc *rproc, const struct firmware *fw)
|
||||||
const struct firmware *fw)
|
|
||||||
{
|
{
|
||||||
if (rproc->ops->load_rsc_table)
|
if (rproc->ops->parse_fw)
|
||||||
return rproc->ops->load_rsc_table(rproc, fw);
|
return rproc->ops->parse_fw(rproc, fw);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,7 +344,7 @@ struct rproc_ops {
|
||||||
int (*stop)(struct rproc *rproc);
|
int (*stop)(struct rproc *rproc);
|
||||||
void (*kick)(struct rproc *rproc, int vqid);
|
void (*kick)(struct rproc *rproc, int vqid);
|
||||||
void * (*da_to_va)(struct rproc *rproc, u64 da, int len);
|
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 resource_table *(*find_loaded_rsc_table)(
|
||||||
struct rproc *rproc, const struct firmware *fw);
|
struct rproc *rproc, const struct firmware *fw);
|
||||||
int (*load)(struct rproc *rproc, const struct firmware *fw);
|
int (*load)(struct rproc *rproc, const struct firmware *fw);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче