hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/mtd/tests/mtd_nandecctest.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
23
34 #include <linux/kernel.h>
....@@ -21,7 +22,7 @@
2122 * or detected.
2223 */
2324
24
-#if IS_ENABLED(CONFIG_MTD_NAND)
25
+#if IS_ENABLED(CONFIG_MTD_RAW_NAND)
2526
2627 struct nand_ecc_test {
2728 const char *name;
....@@ -121,8 +122,10 @@
121122 unsigned char calc_ecc[3];
122123 int ret;
123124
124
- __nand_calculate_ecc(error_data, size, calc_ecc);
125
- ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size);
125
+ __nand_calculate_ecc(error_data, size, calc_ecc,
126
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
127
+ ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size,
128
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
126129 if (ret == 0 && !memcmp(correct_data, error_data, size))
127130 return 0;
128131
....@@ -149,8 +152,10 @@
149152 unsigned char calc_ecc[3];
150153 int ret;
151154
152
- __nand_calculate_ecc(error_data, size, calc_ecc);
153
- ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size);
155
+ __nand_calculate_ecc(error_data, size, calc_ecc,
156
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
157
+ ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size,
158
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
154159 if (ret == 1 && !memcmp(correct_data, error_data, size))
155160 return 0;
156161
....@@ -184,8 +189,10 @@
184189 unsigned char calc_ecc[3];
185190 int ret;
186191
187
- __nand_calculate_ecc(error_data, size, calc_ecc);
188
- ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size);
192
+ __nand_calculate_ecc(error_data, size, calc_ecc,
193
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
194
+ ret = __nand_correct_data(error_data, error_ecc, calc_ecc, size,
195
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
189196
190197 return (ret == -EBADMSG) ? 0 : -EINVAL;
191198 }
....@@ -259,7 +266,8 @@
259266 }
260267
261268 prandom_bytes(correct_data, size);
262
- __nand_calculate_ecc(correct_data, size, correct_ecc);
269
+ __nand_calculate_ecc(correct_data, size, correct_ecc,
270
+ IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
263271
264272 for (i = 0; i < ARRAY_SIZE(nand_ecc_test); i++) {
265273 nand_ecc_test[i].prepare(error_data, error_ecc,