Resource table is defined in multiple files. Instead move definition to remoteproc header file and include header file in multiple c files where resource table definition is needed.
Signed-off-by: Tanmay Shah <tanmay.s...@amd.com> --- drivers/remoteproc/rproc-elf-loader.c | 33 --------------------------- drivers/remoteproc/rproc-uclass.c | 7 ------ include/remoteproc.h | 33 +++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 40 deletions(-) diff --git a/drivers/remoteproc/rproc-elf-loader.c b/drivers/remoteproc/rproc-elf-loader.c index b185a6cafb..8a13872f85 100644 --- a/drivers/remoteproc/rproc-elf-loader.c +++ b/drivers/remoteproc/rproc-elf-loader.c @@ -12,39 +12,6 @@ #include <dm/device_compat.h> #include <linux/compat.h> -/** - * struct resource_table - firmware resource table header - * @ver: version number - * @num: number of resource entries - * @reserved: reserved (must be zero) - * @offset: array of offsets pointing at the various resource entries - * - * A resource table is essentially a list of system resources required - * by the remote processor. It may also include configuration entries. - * If needed, the remote processor firmware should contain this table - * as a dedicated ".resource_table" ELF section. - * - * Some resources entries are mere announcements, where the host is informed - * of specific remoteproc configuration. Other entries require the host to - * do something (e.g. allocate a system resource). Sometimes a negotiation - * is expected, where the firmware requests a resource, and once allocated, - * the host should provide back its details (e.g. address of an allocated - * memory region). - * - * The header of the resource table, as expressed by this structure, - * contains a version number (should we need to change this format in the - * future), the number of available resource entries, and their offsets - * in the table. - * - * Immediately following this header are the resource entries themselves. - */ -struct resource_table { - u32 ver; - u32 num; - u32 reserved[2]; - u32 offset[0]; -} __packed; - /* Basic function to verify ELF32 image format */ int rproc_elf32_sanity_check(ulong addr, ulong size) { diff --git a/drivers/remoteproc/rproc-uclass.c b/drivers/remoteproc/rproc-uclass.c index 50bcc9030e..d697639cdd 100644 --- a/drivers/remoteproc/rproc-uclass.c +++ b/drivers/remoteproc/rproc-uclass.c @@ -23,13 +23,6 @@ DECLARE_GLOBAL_DATA_PTR; -struct resource_table { - u32 ver; - u32 num; - u32 reserved[2]; - u32 offset[0]; -} __packed; - typedef int (*handle_resource_t) (struct udevice *, void *, int offset, int avail); static struct resource_table *rsc_table; diff --git a/include/remoteproc.h b/include/remoteproc.h index f48054de6b..af5c584e6e 100644 --- a/include/remoteproc.h +++ b/include/remoteproc.h @@ -15,6 +15,39 @@ */ #include <dm/platdata.h> /* For platform data support - non dt world */ +/** + * struct resource_table - firmware resource table header + * @ver: version number + * @num: number of resource entries + * @reserved: reserved (must be zero) + * @offset: array of offsets pointing at the various resource entries + * + * A resource table is essentially a list of system resources required + * by the remote processor. It may also include configuration entries. + * If needed, the remote processor firmware should contain this table + * as a dedicated ".resource_table" ELF section. + * + * Some resources entries are mere announcements, where the host is informed + * of specific remoteproc configuration. Other entries require the host to + * do something (e.g. allocate a system resource). Sometimes a negotiation + * is expected, where the firmware requests a resource, and once allocated, + * the host should provide back its details (e.g. address of an allocated + * memory region). + * + * The header of the resource table, as expressed by this structure, + * contains a version number (should we need to change this format in the + * future), the number of available resource entries, and their offsets + * in the table. + * + * Immediately following this header are the resource entries themselves. + */ +struct resource_table { + u32 ver; + u32 num; + u32 reserved[2]; + u32 offset[0]; +} __packed; + /** * struct fw_rsc_hdr - firmware resource entry header * @type: resource type -- 2.25.1