[PATCH] lmb: Remove lmb_alloc_flags()

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@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;

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@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@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
participants (1)
-
Ilias Apalodimas