Hi Andrew, After merging the akpm-current tree, today's linux-next build (arm multi_v7_defconfig) failed like this: arch/arm/mm/init.c:199:13: error: conflicting types for 'arm_dma_zone_size' include/linux/bootmem.h:259:11: note: previous declaration of 'arm_dma_zone_size' was here Caused by commit a3ae9362fafe ("mm/memblock: add memblock memory allocation apis"). For this build, BOOTMEM_LOW_LIMIT is defined as __pa(MAX_DMA_ADDRESS) and MAX_DMA_ADDRESS is defined as: #define MAX_DMA_ADDRESS ({ \ extern unsigned long arm_dma_zone_size; \ arm_dma_zone_size ? \ (PAGE_OFFSET + arm_dma_zone_size) : 0xffffffffUL; }) and in arch/arm/mm/init.c, arm_dma_zone_size is declared as: phys_addr_t arm_dma_zone_size __read_mostly; Urk! :-( OK, so commit 364230b995214 ("ARM: use phys_addr_t for DMA zone sizes") changed the definition of arm_dma_zone_size except it missed the one in arch/arm/include/asm/dma.h. I have applied this merge fix patch for today: From: Stephen Rothwell Date: Mon, 6 Jan 2014 20:02:05 +1100 Subject: [PATCH] ARM: change further appearance of arm_dma_zone_size to phys_addr_t The definition was chaned in commit 364230b995214 ("ARM: use phys_addr_t for DMA zone sizes"). Fixes this build error: arch/arm/mm/init.c:199:13: error: conflicting types for 'arm_dma_zone_size' include/linux/bootmem.h:259:11: note: previous declaration of 'arm_dma_zone_size' was here Signed-off-by: Stephen Rothwell --- arch/arm/include/asm/dma.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h index 58b8c6a0ab1f..1439b80b3a98 100644 --- a/arch/arm/include/asm/dma.h +++ b/arch/arm/include/asm/dma.h @@ -8,7 +8,7 @@ #define MAX_DMA_ADDRESS 0xffffffffUL #else #define MAX_DMA_ADDRESS ({ \ - extern unsigned long arm_dma_zone_size; \ + extern phys_addr_t arm_dma_zone_size; \ arm_dma_zone_size ? \ (PAGE_OFFSET + arm_dma_zone_size) : 0xffffffffUL; }) #endif -- 1.8.5.2 -- Cheers, Stephen Rothwell sfr@canb.auug.org.au