mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
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:
parent
885d314231
commit
7e91f76a96
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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$#",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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$#",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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$#",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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, \
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user