Hi, On Fri, Jul 08, 2016 at 09:45:01PM -0500, Steven J. Hill wrote: > Update OCTEON port mangling code to support readq() and > writeq() functions to allow driver code to be more portable. > Updates also for word and long function pairs. We also > remove SWAP_IO_SPACE for OCTEON platforms as the function > macros are redundant with the new mangling code. > > Signed-off-by: Steven J. Hill <steven.hill@xxxxxxxxxx> > Acked-by: David Daney <david.daney@xxxxxxxxxx> [...] > +static inline bool __should_swizzle_bits(volatile void *a) > +{ > + extern const bool octeon_should_swizzle_table[]; > + > + unsigned long did = ((unsigned long)a >> 40) & 0xff; > + return octeon_should_swizzle_table[did]; > +} v4.8-rc1 OCTEON build is now broken with GCC 6.1 when support for 32-bit ABIs is enabled: CC arch/mips/vdso/gettimeofday-o32.o In file included from /home/aaro/los/work/shared/linux-v4.8-rc1/arch/mips/includ e/asm/io.h:32:0, from /home/aaro/los/work/shared/linux-v4.8-rc1/arch/mips/includ e/asm/page.h:194, from /home/aaro/los/work/shared/linux-v4.8-rc1/arch/mips/vdso/v dso.h:26, from /home/aaro/los/work/shared/linux-v4.8-rc1/arch/mips/vdso/g ettimeofday.c:11: /home/aaro/los/work/shared/linux-v4.8-rc1/arch/mips/include/asm/mach-cavium-octe on/mangle-port.h: In function '__should_swizzle_bits': /home/aaro/los/work/shared/linux-v4.8-rc1/arch/mips/include/asm/mach-cavium-octe on/mangle-port.h:19:40: error: right shift count >= width of type [-Werror=shift -count-overflow] unsigned long did = ((unsigned long)a >> 40) & 0xff; A.