[PATCH] lmb: Remove lmb_alloc_flags()
Ilias Apalodimas
ilias.apalodimas at linaro.org
Wed Oct 23 17:24:24 CEST 2024
Hi all,
Apologies for the noise, I'll send a v2, since this is correct, but I
also need to move some LMB defines to it's header file
Thanks
/Ilias
On Wed, 23 Oct 2024 at 17:37, Ilias Apalodimas
<ilias.apalodimas at linaro.org> wrote:
>
> lmb_alloc_flags() & lmb_alloc_base_flags() are just a wrappers for
> _lmb_alloc_base(). Since the only difference is the max address of the
> allowed allocation which _lmb_alloc_base() already supports with the
> LMB_ALLOC_ANYWHERE flag, remove one of them.
>
> Keep the lmb_alloc_base_flags() flags which also prints an error
> on failures and adjust efi_allocate_pages() to only use one of them.
>
> While at it clean up the duplicate function description from the header
> file.
>
> Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
> include/lmb.h | 26 --------------------------
> lib/efi_loader/efi_memory.c | 3 ++-
> lib/lmb.c | 17 -----------------
> 3 files changed, 2 insertions(+), 44 deletions(-)
>
> diff --git a/include/lmb.h b/include/lmb.h
> index e46abf400c68..92464d6e1342 100644
> --- a/include/lmb.h
> +++ b/include/lmb.h
> @@ -95,32 +95,6 @@ phys_addr_t lmb_alloc_base(phys_size_t size, ulong align, phys_addr_t max_addr);
> phys_addr_t lmb_alloc_addr(phys_addr_t base, phys_size_t size);
> phys_size_t lmb_get_free_size(phys_addr_t addr);
>
> -/**
> - * lmb_alloc_flags() - Allocate memory region with specified attributes
> - * @size: Size of the region requested
> - * @align: Alignment of the memory region requested
> - * @flags: Memory region attributes to be set
> - *
> - * Allocate a region of memory with the attributes specified through the
> - * parameter.
> - *
> - * Return: base address on success, 0 on error
> - */
> -phys_addr_t lmb_alloc_flags(phys_size_t size, ulong align, uint flags);
> -
> -/**
> - * lmb_alloc_base_flags() - Allocate specified memory region with specified attributes
> - * @size: Size of the region requested
> - * @align: Alignment of the memory region requested
> - * @max_addr: Maximum address of the requested region
> - * @flags: Memory region attributes to be set
> - *
> - * Allocate a region of memory with the attributes specified through the
> - * parameter. The max_addr parameter is used to specify the maximum address
> - * below which the requested region should be allocated.
> - *
> - * Return: base address on success, 0 on error
> - */
> phys_addr_t lmb_alloc_base_flags(phys_size_t size, ulong align,
> phys_addr_t max_addr, uint flags);
>
> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
> index 3d742fa19150..9f3f08769977 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -472,7 +472,8 @@ efi_status_t efi_allocate_pages(enum efi_allocate_type type,
> switch (type) {
> case EFI_ALLOCATE_ANY_PAGES:
> /* Any page */
> - addr = (u64)lmb_alloc_flags(len, EFI_PAGE_SIZE, flags);
> + addr = (u64)lmb_alloc_base_flags(len, EFI_PAGE_SIZE,
> + LMB_ALLOC_ANYWHERE, flags);
> if (!addr)
> return EFI_OUT_OF_RESOURCES;
> break;
> diff --git a/lib/lmb.c b/lib/lmb.c
> index 69001ad57373..3a9edb1e565e 100644
> --- a/lib/lmb.c
> +++ b/lib/lmb.c
> @@ -670,23 +670,6 @@ phys_addr_t lmb_alloc(phys_size_t size, ulong align)
> return lmb_alloc_base(size, align, LMB_ALLOC_ANYWHERE);
> }
>
> -/**
> - * lmb_alloc_flags() - Allocate memory region with specified attributes
> - * @size: Size of the region requested
> - * @align: Alignment of the memory region requested
> - * @flags: Memory region attributes to be set
> - *
> - * Allocate a region of memory with the attributes specified through the
> - * parameter.
> - *
> - * Return: base address on success, 0 on error
> - */
> -phys_addr_t lmb_alloc_flags(phys_size_t size, ulong align, uint flags)
> -{
> - return _lmb_alloc_base(size, align, LMB_ALLOC_ANYWHERE,
> - flags);
> -}
> -
> phys_addr_t lmb_alloc_base(phys_size_t size, ulong align, phys_addr_t max_addr)
> {
> phys_addr_t alloc;
> --
> 2.45.2
>
More information about the U-Boot
mailing list