Merge patch series "bloblist: refactor xferlist and bloblist"

Tom Rini <trini@konsulko.com> says:

This small series separates "bloblist" and "standard passage" to allow
for these similar concepts to explore solutions to problems without
introduces breaking changes to the other.

Link: https://lore.kernel.org/r/20250220000223.1044376-1-raymond.mao@linaro.org
This commit is contained in:
Tom Rini
2025-02-19 18:49:47 -06:00
7 changed files with 87 additions and 65 deletions

View File

@@ -467,9 +467,8 @@ int bloblist_reloc(void *to, uint to_size);
* If CONFIG_BLOBLIST_ALLOC is selected, it allocates memory for a bloblist of
* size CONFIG_BLOBLIST_SIZE.
*
* If CONFIG_BLOBLIST_PASSAGE is selected, it uses the bloblist in the incoming
* standard passage. The size is detected automatically so CONFIG_BLOBLIST_SIZE
* can be 0.
* If CONFIG_BLOBLIST_PASSAGE_MANDATORY is selected, bloblist in the incoming
* standard passage is mandatorily required.
*
* Sets GD_FLG_BLOBLIST_READY in global_data flags on success
*
@@ -501,19 +500,18 @@ static inline int bloblist_maybe_init(void)
* @rfdt: Register that holds the FDT base address.
* @rzero: Register that must be zero.
* @rsig: Register that holds signature and register conventions version.
* @xlist: Register that holds the transfer list.
* Return: 0 if OK, -EIO if the bloblist is not compliant to the register
* conventions.
*/
int bloblist_check_reg_conv(ulong rfdt, ulong rzero, ulong rsig);
int bloblist_check_reg_conv(ulong rfdt, ulong rzero, ulong rsig, ulong xlist);
/**
* xferlist_from_boot_arg() - Get bloblist from the boot args and relocate it
* to the specified address.
* xferlist_from_boot_arg() - Get bloblist from the boot args.
*
* @addr: Address for the bloblist
* @size: Size of space reserved for the bloblist
* @addr: Address of the bloblist
* Return: 0 if OK, else on error
*/
int xferlist_from_boot_arg(ulong addr, ulong size);
int xferlist_from_boot_arg(ulong *addr);
#endif /* __BLOBLIST_H */