next build: 304 warnings 0 failures (next/next-20141013)
Arnd Bergmann
arnd at arndb.de
Mon Oct 13 02:12:46 PDT 2014
On Monday 13 October 2014 09:46:18 Russell King - ARM Linux wrote:
> On Sun, Oct 12, 2014 at 10:32:02PM -0700, Olof's autobuilder wrote:
> > 1 arch/arm/mach-cns3xxx/pcie.c:313:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
>
> This should be fixed.
This is an ancient bug, both Mark Brown and I have suggested fixes,
we just need to apply one of them.
> > 1 arch/arm/mach-omap1/board-htcherald.c:296:2: warning: initialization makes pointer from integer without a cast [enabled by default]
> > 1 arch/arm/mach-omap1/board-htcherald.c:296:2: warning: (near initialization for 'gpio_leds[0].gpiod') [enabled by default]
> > 1 arch/arm/mach-omap1/board-htcherald.c:297:2: warning: initialization makes pointer from integer without a cast [enabled by default]
> > 1 arch/arm/mach-omap1/board-htcherald.c:297:2: warning: (near initialization for 'gpio_leds[1].gpiod') [enabled by default]
> ...
>
> All of these need fixing.
Hadn't seen this one before, I guess it's because of
https://lkml.org/lkml/2014/9/16/222.
adding Mika and Linus to Cc, should be easy to fix using
named initializers like all other 120+ platforms do,
but to be on the safe side, we could also move the new
'gpiod' member to the end of 'struct gpio_led'.
>
> > 2 drivers/base/dma-contiguous.c:244:2: warning: initialization from incompatible pointer type
> > 2 drivers/base/dma-contiguous.c:244:2: warning: (near initialization for 'rmem_cma_ops.device_init')
>
> This does too.
>
> > 3 drivers/base/dma-coherent.c:303:2: warning: initialization from incompatible pointer type
> > 3 drivers/base/dma-coherent.c:303:2: warning: (near initialization for 'rmem_dma_ops.device_init')
> > 8 drivers/base/dma-contiguous.c:244:2: warning: initialization from incompatible pointer type [enabled by default]
> > 8 drivers/base/dma-contiguous.c:244:2: warning: (near initialization for 'rmem_cma_ops.device_init') [enabled by default]
> > 50 drivers/base/dma-coherent.c:303:2: warning: initialization from incompatible pointer type [enabled by default]
> > 50 drivers/base/dma-coherent.c:303:2: warning: (near initialization for 'rmem_dma_ops.device_init') [enabled by default]
>
> And these.
>
> None of these warnings should hit mainline; they should all be fixed now,
> before any of the changes which caused them are merged.
Adding Marek as well. No idea how this slipped in, apparently the device_init
callback declaration has always used 'void' as the return type, while all
functions assigned to it have always returned 'int' and the caller
in __reserved_mem_init_node() actually evaluates the return code.
This seems to be the obvious fix:
diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_mem.h
index 5b5efae09135..3c2cf6fc5e78 100644
--- a/include/linux/of_reserved_mem.h
+++ b/include/linux/of_reserved_mem.h
@@ -16,7 +16,7 @@ struct reserved_mem {
};
struct reserved_mem_ops {
- void (*device_init)(struct reserved_mem *rmem,
+ int (*device_init)(struct reserved_mem *rmem,
struct device *dev);
void (*device_release)(struct reserved_mem *rmem,
struct device *dev);
Arnd
More information about the linux-arm-kernel
mailing list