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.apalodi...@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.apalodi...@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 >