lib/raid6: Build proper raid6test files on powerpc
authorMatt Brown <matthew.brown.dev@gmail.com>
Fri, 4 Aug 2017 03:42:33 +0000 (13:42 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 20 Mar 2018 05:47:52 +0000 (16:47 +1100)
Previously the raid6 test Makefile did not build the POWER specific files
(altivec and vpermxor).
This patch fixes the bug, so that all appropriate files for powerpc are built.

This patch also fixes the missing and mismatched ifdef statements to allow the
altivec.uc file to be built correctly.

Signed-off-by: Matt Brown <matthew.brown.dev@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
lib/raid6/altivec.uc
lib/raid6/test/Makefile

index 682aae8a1fef2d78ba289bb63cdf697b84cb1648..d20ed0d114111cc55706d45739263d48be505f32 100644 (file)
 
 #include <linux/raid/pq.h>
 
+#ifdef CONFIG_ALTIVEC
+
 #include <altivec.h>
 #ifdef __KERNEL__
 # include <asm/cputable.h>
 # include <asm/switch_to.h>
+#endif /* __KERNEL__ */
 
 /*
  * This is the C data type to use.  We use a vector of
index ef6d0e00f189531b427cdd584aa76561658cb249..5050e270c06b38811efc19354cbc80019d8e0d06 100644 (file)
@@ -45,9 +45,10 @@ else ifeq ($(HAS_NEON),yes)
         CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
 else
         HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector int a;\n' |\
-                         gcc -c -x c - >&/dev/null && \
-                         rm ./-.o && echo yes)
+                         gcc -c -x c - >/dev/null && rm ./-.o && echo yes)
         ifeq ($(HAS_ALTIVEC),yes)
+                CFLAGS += -I../../../arch/powerpc/include
+                CFLAGS += -DCONFIG_ALTIVEC
                 OBJS += altivec1.o altivec2.o altivec4.o altivec8.o \
                         vpermxor1.o vpermxor2.o vpermxor4.o vpermxor8.o
         endif