Subject: linux-next: build failure after merge of the powerpc tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 2 Sep 2019 21:40:11 +1000

Hi all,

After merging the powerpc tree, today's linux-next build (powerpc
ppc44x_defconfig) failed like this:

arch/powerpc/mm/dma-noncoherent.c: In function 'atomic_pool_init':
arch/powerpc/mm/dma-noncoherent.c:128:9: error: implicit declaration of function 'dma_atomic_pool_init'; did you mean 'atomic_pool_init'? [-Werror=implicit-function-declaration]
  128 |  return dma_atomic_pool_init(GFP_KERNEL, pgprot_noncached(PAGE_KERNEL));
      |         ^~~~~~~~~~~~~~~~~~~~
      |         atomic_pool_init

Caused by commit

  f2902a2fb40c ("powerpc: use the generic dma coherent remap allocator")

interacting with commit

  8e3a68fb55e0 ("dma-mapping: make dma_atomic_pool_init self-contained")

from the dma-mapping tree.

I have applied the following patch for today (I did the microblaze
update as well):

From: Stephen Rothwell <[email-masked]>
Date: Mon, 2 Sep 2019 21:23:11 +1000
Subject: [PATCH] merge fixes for "dma-mapping: make dma_atomic_pool_init self-contained"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 arch/microblaze/mm/consistent.c   | 6 ------
 arch/powerpc/mm/dma-noncoherent.c | 6 ------
 2 files changed, 12 deletions(-)

diff --git a/arch/microblaze/mm/consistent.c b/arch/microblaze/mm/consistent.c
index 0e0f733eb846..8c5f0c332d8b 100644
--- a/arch/microblaze/mm/consistent.c
+++ b/arch/microblaze/mm/consistent.c
@@ -56,10 +56,4 @@ void *cached_kernel_address(void *ptr)
 
 	return (void *)(addr & ~UNCACHED_SHADOW_MASK);
 }
-#else /* CONFIG_MMU */
-static int __init atomic_pool_init(void)
-{
-	return dma_atomic_pool_init(GFP_KERNEL, pgprot_noncached(PAGE_KERNEL));
-}
-postcore_initcall(atomic_pool_init);
 #endif /* CONFIG_MMU */
diff --git a/arch/powerpc/mm/dma-noncoherent.c b/arch/powerpc/mm/dma-noncoherent.c
index 4272ca5e8159..2a82984356f8 100644
--- a/arch/powerpc/mm/dma-noncoherent.c
+++ b/arch/powerpc/mm/dma-noncoherent.c
@@ -122,9 +122,3 @@ void arch_dma_prep_coherent(struct page *page, size_t size)
 
 	flush_dcache_range(kaddr, kaddr + size);
 }
-
-static int __init atomic_pool_init(void)
-{
-	return dma_atomic_pool_init(GFP_KERNEL, pgprot_noncached(PAGE_KERNEL));
-}
-postcore_initcall(atomic_pool_init);
-- 
2.23.0.rc1

-- 
Cheers,
Stephen Rothwell