Commit 9b07d27d authored by Randy Dunlap's avatar Randy Dunlap Committed by Christoph Hellwig

swiotlb: mark swiotlb_memblock_alloc() as __init

swiotlb_memblock_alloc() calls memblock_alloc(), which calls
(__init) memblock_alloc_try_nid(). However, swiotlb_membloc_alloc()
can be marked as __init since it is only called by swiotlb_init_remap(),
which is already marked as __init. This prevents a modpost build
warning/error:

WARNING: modpost: vmlinux.o: section mismatch in reference: swiotlb_memblock_alloc (section: .text) -> memblock_alloc_try_nid (section: .init.text)
WARNING: modpost: vmlinux.o: section mismatch in reference: swiotlb_memblock_alloc (section: .text) -> memblock_alloc_try_nid (section: .init.text)

This fixes the build warning/error seen on ARM64, PPC64, S390, i386,
and x86_64.

Fixes: 8d58aa48 ("swiotlb: reduce the swiotlb buffer size on allocation failure")
Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Cc: Alexey Kardashevskiy <aik@amd.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: iommu@lists.linux.dev
Cc: Mike Rapoport <rppt@kernel.org>
Cc: linux-mm@kvack.org
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 5e7b9a6a
...@@ -292,7 +292,8 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start, ...@@ -292,7 +292,8 @@ static void swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
return; return;
} }
static void *swiotlb_memblock_alloc(unsigned long nslabs, unsigned int flags, static void __init *swiotlb_memblock_alloc(unsigned long nslabs,
unsigned int flags,
int (*remap)(void *tlb, unsigned long nslabs)) int (*remap)(void *tlb, unsigned long nslabs))
{ {
size_t bytes = PAGE_ALIGN(nslabs << IO_TLB_SHIFT); size_t bytes = PAGE_ALIGN(nslabs << IO_TLB_SHIFT);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment