# git rev-parse -q --verify 98e487a02296b6357d962a193aa79ee89825f5a3^{commit} 98e487a02296b6357d962a193aa79ee89825f5a3 already have revision, skipping fetch # git checkout -q -f -B kisskb 98e487a02296b6357d962a193aa79ee89825f5a3 # git clean -qxdf # < git log -1 # commit 98e487a02296b6357d962a193aa79ee89825f5a3 # Author: Christophe Leroy # Date: Sun Oct 27 11:28:46 2019 +0000 # # powerpc/iomap: inline generic io accessors # # ioreadXX[be]() and iowriteXX[be]() are doing the same things as the # powerpc specific in_[be]XX() and out_[be]XX() accessors, but they # are not inlined. # # There are some work in progress to replace the powerpc specific # functions in Quicc Engine driver by generic code in order to allow # QE to be used also on ARM. # # In order to keep performant IO accesses, generic io accessors need to # be inlined. This avoids calls of tiny functions that require setting # up stack frames and saving volatile registers, all this often taking # more CPU time than the work performed by the IO accessor itself. # # The string functions ioreadXX_rep() and iowriteXX_rep() also get # inlined as they are only trampolines to readsX() and writesX() outline # functions. # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 98e487a02296b6357d962a193aa79ee89825f5a3 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/chleroy_ppc64le_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64le_defconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/chleroy_ppc64le_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/lib/iomap.c:73:14: error: redefinition of 'ioread8' unsigned int ioread8(void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:29:28: note: previous definition of 'ioread8' was here static inline unsigned int ioread8(void __iomem *addr) ^ /kisskb/src/lib/iomap.c:78:14: error: redefinition of 'ioread16' unsigned int ioread16(void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:34:28: note: previous definition of 'ioread16' was here static inline unsigned int ioread16(void __iomem *addr) ^ /kisskb/src/lib/iomap.c:83:14: error: redefinition of 'ioread16be' unsigned int ioread16be(void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:39:28: note: previous definition of 'ioread16be' was here static inline unsigned int ioread16be(void __iomem *addr) ^ /kisskb/src/lib/iomap.c:88:14: error: redefinition of 'ioread32' unsigned int ioread32(void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:44:28: note: previous definition of 'ioread32' was here static inline unsigned int ioread32(void __iomem *addr) ^ /kisskb/src/lib/iomap.c:93:14: error: redefinition of 'ioread32be' unsigned int ioread32be(void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:49:28: note: previous definition of 'ioread32be' was here static inline unsigned int ioread32be(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:67:24: error: redefinition of 'ioread64_lo_hi' #define ioread64_lo_hi ioread64_lo_hi ^ /kisskb/src/lib/iomap.c:145:5: note: in expansion of macro 'ioread64_lo_hi' u64 ioread64_lo_hi(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:67:24: note: previous definition of 'ioread64_lo_hi' was here #define ioread64_lo_hi ioread64_lo_hi ^ /kisskb/src/include/asm-generic/iomap.h:72:19: note: in expansion of macro 'ioread64_lo_hi' static inline u64 ioread64_lo_hi(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:68:24: error: redefinition of 'ioread64_hi_lo' #define ioread64_hi_lo ioread64_hi_lo ^ /kisskb/src/lib/iomap.c:151:5: note: in expansion of macro 'ioread64_hi_lo' u64 ioread64_hi_lo(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:68:24: note: previous definition of 'ioread64_hi_lo' was here #define ioread64_hi_lo ioread64_hi_lo ^ /kisskb/src/include/asm-generic/iomap.h:77:19: note: in expansion of macro 'ioread64_hi_lo' static inline u64 ioread64_hi_lo(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:69:26: error: redefinition of 'ioread64be_lo_hi' #define ioread64be_lo_hi ioread64be_lo_hi ^ /kisskb/src/lib/iomap.c:157:5: note: in expansion of macro 'ioread64be_lo_hi' u64 ioread64be_lo_hi(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:69:26: note: previous definition of 'ioread64be_lo_hi' was here #define ioread64be_lo_hi ioread64be_lo_hi ^ /kisskb/src/include/asm-generic/iomap.h:82:19: note: in expansion of macro 'ioread64be_lo_hi' static inline u64 ioread64be_lo_hi(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:70:26: error: redefinition of 'ioread64be_hi_lo' #define ioread64be_hi_lo ioread64be_hi_lo ^ /kisskb/src/lib/iomap.c:164:5: note: in expansion of macro 'ioread64be_hi_lo' u64 ioread64be_hi_lo(void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:70:26: note: previous definition of 'ioread64be_hi_lo' was here #define ioread64be_hi_lo ioread64be_hi_lo ^ /kisskb/src/include/asm-generic/iomap.h:87:19: note: in expansion of macro 'ioread64be_hi_lo' static inline u64 ioread64be_hi_lo(void __iomem *addr) ^ /kisskb/src/lib/iomap.c:189:6: error: redefinition of 'iowrite8' void iowrite8(u8 val, void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:93:20: note: previous definition of 'iowrite8' was here static inline void iowrite8(u8 val, void __iomem *addr) ^ /kisskb/src/lib/iomap.c:193:6: error: redefinition of 'iowrite16' void iowrite16(u16 val, void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:98:20: note: previous definition of 'iowrite16' was here static inline void iowrite16(u16 val, void __iomem *addr) ^ /kisskb/src/lib/iomap.c:197:6: error: redefinition of 'iowrite16be' void iowrite16be(u16 val, void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:103:20: note: previous definition of 'iowrite16be' was here static inline void iowrite16be(u16 val, void __iomem *addr) ^ /kisskb/src/lib/iomap.c:201:6: error: redefinition of 'iowrite32' void iowrite32(u32 val, void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:108:20: note: previous definition of 'iowrite32' was here static inline void iowrite32(u32 val, void __iomem *addr) ^ /kisskb/src/lib/iomap.c:205:6: error: redefinition of 'iowrite32be' void iowrite32be(u32 val, void __iomem *addr) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:113:20: note: previous definition of 'iowrite32be' was here static inline void iowrite32be(u32 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:131:25: error: redefinition of 'iowrite64_lo_hi' #define iowrite64_lo_hi iowrite64_lo_hi ^ /kisskb/src/lib/iomap.c:240:6: note: in expansion of macro 'iowrite64_lo_hi' void iowrite64_lo_hi(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:131:25: note: previous definition of 'iowrite64_lo_hi' was here #define iowrite64_lo_hi iowrite64_lo_hi ^ /kisskb/src/include/asm-generic/iomap.h:136:20: note: in expansion of macro 'iowrite64_lo_hi' static inline void iowrite64_lo_hi(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:132:25: error: redefinition of 'iowrite64_hi_lo' #define iowrite64_hi_lo iowrite64_hi_lo ^ /kisskb/src/lib/iomap.c:246:6: note: in expansion of macro 'iowrite64_hi_lo' void iowrite64_hi_lo(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:132:25: note: previous definition of 'iowrite64_hi_lo' was here #define iowrite64_hi_lo iowrite64_hi_lo ^ /kisskb/src/include/asm-generic/iomap.h:141:20: note: in expansion of macro 'iowrite64_hi_lo' static inline void iowrite64_hi_lo(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:133:27: error: redefinition of 'iowrite64be_lo_hi' #define iowrite64be_lo_hi iowrite64be_lo_hi ^ /kisskb/src/lib/iomap.c:252:6: note: in expansion of macro 'iowrite64be_lo_hi' void iowrite64be_lo_hi(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:133:27: note: previous definition of 'iowrite64be_lo_hi' was here #define iowrite64be_lo_hi iowrite64be_lo_hi ^ /kisskb/src/include/asm-generic/iomap.h:146:20: note: in expansion of macro 'iowrite64be_lo_hi' static inline void iowrite64be_lo_hi(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:134:27: error: redefinition of 'iowrite64be_hi_lo' #define iowrite64be_hi_lo iowrite64be_hi_lo ^ /kisskb/src/lib/iomap.c:258:6: note: in expansion of macro 'iowrite64be_hi_lo' void iowrite64be_hi_lo(u64 val, void __iomem *addr) ^ /kisskb/src/include/asm-generic/iomap.h:134:27: note: previous definition of 'iowrite64be_hi_lo' was here #define iowrite64be_hi_lo iowrite64be_hi_lo ^ /kisskb/src/include/asm-generic/iomap.h:151:20: note: in expansion of macro 'iowrite64be_hi_lo' static inline void iowrite64be_hi_lo(u64 val, void __iomem *addr) ^ /kisskb/src/lib/iomap.c:328:6: error: redefinition of 'ioread8_rep' void ioread8_rep(void __iomem *addr, void *dst, unsigned long count) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:171:20: note: previous definition of 'ioread8_rep' was here static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count) ^ /kisskb/src/lib/iomap.c:332:6: error: redefinition of 'ioread16_rep' void ioread16_rep(void __iomem *addr, void *dst, unsigned long count) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:176:20: note: previous definition of 'ioread16_rep' was here static inline void ioread16_rep(void __iomem *addr, void *dst, unsigned long count) ^ /kisskb/src/lib/iomap.c:336:6: error: redefinition of 'ioread32_rep' void ioread32_rep(void __iomem *addr, void *dst, unsigned long count) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:181:20: note: previous definition of 'ioread32_rep' was here static inline void ioread32_rep(void __iomem *addr, void *dst, unsigned long count) ^ /kisskb/src/lib/iomap.c:344:6: error: redefinition of 'iowrite8_rep' void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:186:20: note: previous definition of 'iowrite8_rep' was here static inline void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count) ^ /kisskb/src/lib/iomap.c:348:6: error: redefinition of 'iowrite16_rep' void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:191:20: note: previous definition of 'iowrite16_rep' was here static inline void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count) ^ /kisskb/src/lib/iomap.c:352:6: error: redefinition of 'iowrite32_rep' void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count) ^ In file included from /kisskb/src/arch/powerpc/include/asm/io.h:641:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/include/linux/irq.h:20, from /kisskb/src/arch/powerpc/include/asm/hardirq.h:6, from /kisskb/src/include/linux/hardirq.h:9, from /kisskb/src/include/linux/interrupt.h:11, from /kisskb/src/include/linux/pci.h:38, from /kisskb/src/lib/iomap.c:7: /kisskb/src/include/asm-generic/iomap.h:196:20: note: previous definition of 'iowrite32_rep' was here static inline void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count) ^ make[2]: *** [/kisskb/src/scripts/Makefile.build:266: lib/iomap.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:1649: lib] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:179: sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/chleroy_ppc64le_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/chleroy_ppc64le_defconfig_ppc64le-gcc5 # Build took: 0:02:32.805394