Hi all, After merging the net-next tree, today's linux-next build (powerpc ppc64_defconfig) produced this warning: In file included from ./arch/powerpc/include/generated/asm/local64.h:1, from include/linux/u64_stats_sync.h:72, from include/linux/cgroup-defs.h:20, from include/linux/cgroup.h:28, from include/linux/memcontrol.h:13, from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/powerpc/kernel/asm-offsets.c:23: include/linux/u64_stats_sync.h: In function 'u64_stats_read': include/asm-generic/local64.h:30:37: warning: passing argument 1 of 'local_read' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 30 | #define local64_read(l) local_read(&(l)->a) | ^~~~~~~ include/linux/u64_stats_sync.h:80:9: note: in expansion of macro 'local64_read' 80 | return local64_read(&p->v); | ^~~~~~~~~~~~ In file included from include/asm-generic/local64.h:22, from ./arch/powerpc/include/generated/asm/local64.h:1, from include/linux/u64_stats_sync.h:72, from include/linux/cgroup-defs.h:20, from include/linux/cgroup.h:28, from include/linux/memcontrol.h:13, from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/powerpc/kernel/asm-offsets.c:23: arch/powerpc/include/asm/local.h:20:44: note: expected 'local_t *' {aka 'struct *'} but argument is of type 'const local_t *' {aka 'const struct *'} 20 | static __inline__ long local_read(local_t *l) | ~~~~~~~~~^ Introduced by commit 316580b69d0a ("u64_stats: provide u64_stats_t type") Powerpc folks: is there some reason that local_read() cannot take a const argument? I have added this patch (which builds fine) for today: From: Stephen Rothwell Date: Mon, 11 Nov 2019 12:32:24 +1100 Subject: [PATCH] powerpc: local_read() should take a const local_t argument Signed-off-by: Stephen Rothwell --- arch/powerpc/include/asm/local.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/include/asm/local.h b/arch/powerpc/include/asm/local.h index fdd00939270b..bc4bd19b7fc2 100644 --- a/arch/powerpc/include/asm/local.h +++ b/arch/powerpc/include/asm/local.h @@ -17,7 +17,7 @@ typedef struct #define LOCAL_INIT(i) { (i) } -static __inline__ long local_read(local_t *l) +static __inline__ long local_read(const local_t *l) { return READ_ONCE(l->v); } -- 2.23.0 -- Cheers, Stephen Rothwell