raid6: use named initializers for struct raid6_calls

Link: https://lore.kernel.org/20260518051804.462141-7-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Ard Biesheuvel <ardb@kernel.org> # kunit only on arm64
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: "Borislav Petkov (AMD)" <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Mason <clm@fb.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Sterba <dsterba@suse.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Li Nan <linan122@huawei.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Song Liu <song@kernel.org>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Christoph Hellwig 2026-05-18 07:17:49 +02:00 committed by Andrew Morton
parent 885d314231
commit 7e91f76a96
12 changed files with 95 additions and 105 deletions

View File

@ -40,11 +40,10 @@
start, stop, (unsigned long)bytes, ptrs);\
} \
struct raid6_calls const raid6_neonx ## _n = { \
raid6_neon ## _n ## _gen_syndrome, \
raid6_neon ## _n ## _xor_syndrome, \
raid6_have_neon, \
"neonx" #_n, \
0 \
.gen_syndrome = raid6_neon ## _n ## _gen_syndrome, \
.xor_syndrome = raid6_neon ## _n ## _xor_syndrome, \
.valid = raid6_have_neon, \
.name = "neonx" #_n, \
}
static int raid6_have_neon(void)

View File

@ -139,9 +139,7 @@ static void raid6_int$#_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_intx$# = {
raid6_int$#_gen_syndrome,
raid6_int$#_xor_syndrome,
NULL, /* always valid */
"int" NSTRING "x$#",
0
.gen_syndrome = raid6_int$#_gen_syndrome,
.xor_syndrome = raid6_int$#_xor_syndrome,
.name = "int" NSTRING "x$#",
};

View File

@ -244,11 +244,10 @@ static void raid6_lsx_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_lsx = {
raid6_lsx_gen_syndrome,
raid6_lsx_xor_syndrome,
raid6_has_lsx,
"lsx",
.priority = 0 /* see the comment near the top of the file for reason */
.gen_syndrome = raid6_lsx_gen_syndrome,
.xor_syndrome = raid6_lsx_xor_syndrome,
.valid = raid6_has_lsx,
.name = "lsx",
};
#undef NSIZE
@ -413,11 +412,10 @@ static void raid6_lasx_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_lasx = {
raid6_lasx_gen_syndrome,
raid6_lasx_xor_syndrome,
raid6_has_lasx,
"lasx",
.priority = 0 /* see the comment near the top of the file for reason */
.gen_syndrome = raid6_lasx_gen_syndrome,
.xor_syndrome = raid6_lasx_xor_syndrome,
.valid = raid6_has_lasx,
.name = "lasx",
};
#undef NSIZE
#endif /* CONFIG_CPU_HAS_LASX */

View File

@ -114,9 +114,7 @@ int raid6_have_altivec(void)
#endif
const struct raid6_calls raid6_altivec$# = {
raid6_altivec$#_gen_syndrome,
NULL, /* XOR not yet implemented */
raid6_have_altivec,
"altivecx$#",
0
.gen_syndrome = raid6_altivec$#_gen_syndrome,
.valid = raid6_have_altivec,
.name = "altivecx$#",
};

View File

@ -87,9 +87,7 @@ int raid6_have_altivec_vpermxor(void)
#endif
const struct raid6_calls raid6_vpermxor$# = {
raid6_vpermxor$#_gen_syndrome,
NULL,
raid6_have_altivec_vpermxor,
"vpermxor$#",
0
.gen_syndrome = raid6_vpermxor$#_gen_syndrome,
.valid = raid6_have_altivec_vpermxor,
.name = "vpermxor$#",
};

View File

@ -39,9 +39,8 @@ static int rvv_has_vector(void)
kernel_vector_end(); \
} \
struct raid6_calls const raid6_rvvx ## _n = { \
raid6_rvv ## _n ## _gen_syndrome, \
raid6_rvv ## _n ## _xor_syndrome, \
rvv_has_vector, \
"rvvx" #_n, \
0 \
.gen_syndrome = raid6_rvv ## _n ## _gen_syndrome, \
.xor_syndrome = raid6_rvv ## _n ## _xor_syndrome, \
.valid = rvv_has_vector, \
.name = "rvvx" #_n, \
}

View File

@ -127,9 +127,9 @@ static int raid6_s390vx$#_valid(void)
}
const struct raid6_calls raid6_s390vx$# = {
raid6_s390vx$#_gen_syndrome,
raid6_s390vx$#_xor_syndrome,
raid6_s390vx$#_valid,
"vx128x$#",
1
.gen_syndrome = raid6_s390vx$#_gen_syndrome,
.xor_syndrome = raid6_s390vx$#_xor_syndrome,
.valid = raid6_s390vx$#_valid,
.name = "vx128x$#",
.priority = 1,
};

View File

@ -128,11 +128,12 @@ static void raid6_avx21_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_avx2x1 = {
raid6_avx21_gen_syndrome,
raid6_avx21_xor_syndrome,
raid6_have_avx2,
"avx2x1",
.priority = 2 /* Prefer AVX2 over priority 1 (SSE2 and others) */
.gen_syndrome = raid6_avx21_gen_syndrome,
.xor_syndrome = raid6_avx21_xor_syndrome,
.valid = raid6_have_avx2,
.name = "avx2x1",
/* Prefer AVX2 over priority 1 (SSE2 and others) */
.priority = 2,
};
/*
@ -258,11 +259,12 @@ static void raid6_avx22_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_avx2x2 = {
raid6_avx22_gen_syndrome,
raid6_avx22_xor_syndrome,
raid6_have_avx2,
"avx2x2",
.priority = 2 /* Prefer AVX2 over priority 1 (SSE2 and others) */
.gen_syndrome = raid6_avx22_gen_syndrome,
.xor_syndrome = raid6_avx22_xor_syndrome,
.valid = raid6_have_avx2,
.name = "avx2x2",
/* Prefer AVX2 over priority 1 (SSE2 and others) */
.priority = 2,
};
#ifdef CONFIG_X86_64
@ -461,10 +463,11 @@ static void raid6_avx24_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_avx2x4 = {
raid6_avx24_gen_syndrome,
raid6_avx24_xor_syndrome,
raid6_have_avx2,
"avx2x4",
.priority = 2 /* Prefer AVX2 over priority 1 (SSE2 and others) */
.gen_syndrome = raid6_avx24_gen_syndrome,
.xor_syndrome = raid6_avx24_xor_syndrome,
.valid = raid6_have_avx2,
.name = "avx2x4",
/* Prefer AVX2 over priority 1 (SSE2 and others) */
.priority = 2,
};
#endif /* CONFIG_X86_64 */

View File

@ -156,11 +156,12 @@ static void raid6_avx5121_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_avx512x1 = {
raid6_avx5121_gen_syndrome,
raid6_avx5121_xor_syndrome,
raid6_have_avx512,
"avx512x1",
.priority = 2 /* Prefer AVX512 over priority 1 (SSE2 and others) */
.gen_syndrome = raid6_avx5121_gen_syndrome,
.xor_syndrome = raid6_avx5121_xor_syndrome,
.valid = raid6_have_avx512,
.name = "avx512x1",
/* Prefer AVX512 over priority 1 (SSE2 and others) */
.priority = 2,
};
/*
@ -313,11 +314,12 @@ static void raid6_avx5122_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_avx512x2 = {
raid6_avx5122_gen_syndrome,
raid6_avx5122_xor_syndrome,
raid6_have_avx512,
"avx512x2",
.priority = 2 /* Prefer AVX512 over priority 1 (SSE2 and others) */
.gen_syndrome = raid6_avx5122_gen_syndrome,
.xor_syndrome = raid6_avx5122_xor_syndrome,
.valid = raid6_have_avx512,
.name = "avx512x2",
/* Prefer AVX512 over priority 1 (SSE2 and others) */
.priority = 2,
};
#ifdef CONFIG_X86_64
@ -551,10 +553,11 @@ static void raid6_avx5124_xor_syndrome(int disks, int start, int stop,
kernel_fpu_end();
}
const struct raid6_calls raid6_avx512x4 = {
raid6_avx5124_gen_syndrome,
raid6_avx5124_xor_syndrome,
raid6_have_avx512,
"avx512x4",
.priority = 2 /* Prefer AVX512 over priority 1 (SSE2 and others) */
.gen_syndrome = raid6_avx5124_gen_syndrome,
.xor_syndrome = raid6_avx5124_xor_syndrome,
.valid = raid6_have_avx512,
.name = "avx512x4",
/* Prefer AVX512 over priority 1 (SSE2 and others) */
.priority = 2,
};
#endif

View File

@ -68,11 +68,9 @@ static void raid6_mmx1_gen_syndrome(int disks, size_t bytes, void **ptrs)
}
const struct raid6_calls raid6_mmxx1 = {
raid6_mmx1_gen_syndrome,
NULL, /* XOR not yet implemented */
raid6_have_mmx,
"mmxx1",
0
.gen_syndrome = raid6_mmx1_gen_syndrome,
.valid = raid6_have_mmx,
.name = "mmxx1",
};
/*
@ -127,9 +125,7 @@ static void raid6_mmx2_gen_syndrome(int disks, size_t bytes, void **ptrs)
}
const struct raid6_calls raid6_mmxx2 = {
raid6_mmx2_gen_syndrome,
NULL, /* XOR not yet implemented */
raid6_have_mmx,
"mmxx2",
0
.gen_syndrome = raid6_mmx2_gen_syndrome,
.valid = raid6_have_mmx,
.name = "mmxx2",
};

View File

@ -84,11 +84,10 @@ static void raid6_sse11_gen_syndrome(int disks, size_t bytes, void **ptrs)
}
const struct raid6_calls raid6_sse1x1 = {
raid6_sse11_gen_syndrome,
NULL, /* XOR not yet implemented */
raid6_have_sse1_or_mmxext,
"sse1x1",
1 /* Has cache hints */
.gen_syndrome = raid6_sse11_gen_syndrome,
.valid = raid6_have_sse1_or_mmxext,
.name = "sse1x1",
.priority = 1, /* Has cache hints */
};
/*
@ -147,9 +146,8 @@ static void raid6_sse12_gen_syndrome(int disks, size_t bytes, void **ptrs)
}
const struct raid6_calls raid6_sse1x2 = {
raid6_sse12_gen_syndrome,
NULL, /* XOR not yet implemented */
raid6_have_sse1_or_mmxext,
"sse1x2",
1 /* Has cache hints */
.gen_syndrome = raid6_sse12_gen_syndrome,
.valid = raid6_have_sse1_or_mmxext,
.name = "sse1x2",
.priority = 1, /* Has cache hints */
};

View File

@ -133,11 +133,11 @@ static void raid6_sse21_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_sse2x1 = {
raid6_sse21_gen_syndrome,
raid6_sse21_xor_syndrome,
raid6_have_sse2,
"sse2x1",
1 /* Has cache hints */
.gen_syndrome = raid6_sse21_gen_syndrome,
.xor_syndrome = raid6_sse21_xor_syndrome,
.valid = raid6_have_sse2,
.name = "sse2x1",
.priority = 1, /* Has cache hints */
};
/*
@ -263,11 +263,11 @@ static void raid6_sse22_xor_syndrome(int disks, int start, int stop,
}
const struct raid6_calls raid6_sse2x2 = {
raid6_sse22_gen_syndrome,
raid6_sse22_xor_syndrome,
raid6_have_sse2,
"sse2x2",
1 /* Has cache hints */
.gen_syndrome = raid6_sse22_gen_syndrome,
.xor_syndrome = raid6_sse22_xor_syndrome,
.valid = raid6_have_sse2,
.name = "sse2x2",
.priority = 1, /* Has cache hints */
};
#ifdef CONFIG_X86_64
@ -470,11 +470,11 @@ static void raid6_sse24_xor_syndrome(int disks, int start, int stop,
const struct raid6_calls raid6_sse2x4 = {
raid6_sse24_gen_syndrome,
raid6_sse24_xor_syndrome,
raid6_have_sse2,
"sse2x4",
1 /* Has cache hints */
.gen_syndrome = raid6_sse24_gen_syndrome,
.xor_syndrome = raid6_sse24_xor_syndrome,
.valid = raid6_have_sse2,
.name = "sse2x4",
.priority = 1, /* Has cache hints */
};
#endif /* CONFIG_X86_64 */