Re: [PATCH,RFC] fix section mismatch warning in lib/swiotlb.c

From: Andrew Morton
Date: Tue Feb 27 2007 - 15:25:45 EST


> On Mon, 26 Feb 2007 19:38:00 +0100 Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> kbuild spits outs following warning on a
> defconfig x86_64 build:
> WARNING: swiotlb.o - Section mismatch: reference to .init.text:swiotlb_init from __ksymtab between '__ksymtab_swiotlb_init' (at offset 0xa0) and '__ksymtab_swiotlb_free_coherent'
>
> This warning happens because the function
> swiotlb_init is marked __init and EXPORT_SYMBOL().
> A 'git grep swiotlb_init' showed no users in drivers/
> so maybe the EXPORT_SYMBOL can be deleted which would cure the warning?
>
> I took the pragmatic approach and made it non-__init.
>
> Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> ---
> diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> index 623a68a..3133495 100644
> --- a/lib/swiotlb.c
> +++ b/lib/swiotlb.c
> @@ -160,7 +160,7 @@ __setup("swiotlb=", setup_io_tlb_npages);
> * Statically reserve bounce buffer space and initialize bounce buffer data
> * structures for the software IO TLB used to implement the DMA API.
> */
> -void __init
> +void
> swiotlb_init_with_default_size(size_t default_size)
> {
> unsigned long i, bytes;
> @@ -211,7 +211,7 @@ swiotlb_init_with_default_size(size_t default_size)
> #define __swiotlb_init_with_default_size swiotlb_init_with_default_size
> #endif
>
> -void __init
> +void
> swiotlb_init(void)
> {
> __swiotlb_init_with_default_size(64 * (1<<20)); /* default to 64MB */

eh. If there's a module anywhere which calls swiotlb_init() then I suspect
it's one which deserves breaking ;)

I'll remove the export.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/