Merge tag 'net-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / drivers / mtd / sm_ftl.c
index b9f2724..4d1ae25 100644 (file)
@@ -13,7 +13,7 @@
 #include <linux/sysfs.h>
 #include <linux/bitops.h>
 #include <linux/slab.h>
-#include <linux/mtd/nand_ecc.h>
+#include <linux/mtd/nand-ecc-sw-hamming.h>
 #include "nand/raw/sm_common.h"
 #include "sm_ftl.h"
 
@@ -216,20 +216,19 @@ static void sm_break_offset(struct sm_ftl *ftl, loff_t loffset,
 
 static int sm_correct_sector(uint8_t *buffer, struct sm_oob *oob)
 {
+       bool sm_order = IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC);
        uint8_t ecc[3];
 
-       __nand_calculate_ecc(buffer, SM_SMALL_PAGE, ecc,
-                            IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
-       if (__nand_correct_data(buffer, ecc, oob->ecc1, SM_SMALL_PAGE,
-                               IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC)) < 0)
+       ecc_sw_hamming_calculate(buffer, SM_SMALL_PAGE, ecc, sm_order);
+       if (ecc_sw_hamming_correct(buffer, ecc, oob->ecc1, SM_SMALL_PAGE,
+                                  sm_order) < 0)
                return -EIO;
 
        buffer += SM_SMALL_PAGE;
 
-       __nand_calculate_ecc(buffer, SM_SMALL_PAGE, ecc,
-                            IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
-       if (__nand_correct_data(buffer, ecc, oob->ecc2, SM_SMALL_PAGE,
-                               IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC)) < 0)
+       ecc_sw_hamming_calculate(buffer, SM_SMALL_PAGE, ecc, sm_order);
+       if (ecc_sw_hamming_correct(buffer, ecc, oob->ecc2, SM_SMALL_PAGE,
+                                  sm_order) < 0)
                return -EIO;
        return 0;
 }
@@ -369,6 +368,7 @@ static int sm_write_block(struct sm_ftl *ftl, uint8_t *buf,
                          int zone, int block, int lba,
                          unsigned long invalid_bitmap)
 {
+       bool sm_order = IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC);
        struct sm_oob oob;
        int boffset;
        int retry = 0;
@@ -395,13 +395,13 @@ restart:
                }
 
                if (ftl->smallpagenand) {
-                       __nand_calculate_ecc(buf + boffset, SM_SMALL_PAGE,
-                                       oob.ecc1,
-                                       IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
+                       ecc_sw_hamming_calculate(buf + boffset,
+                                                SM_SMALL_PAGE, oob.ecc1,
+                                                sm_order);
 
-                       __nand_calculate_ecc(buf + boffset + SM_SMALL_PAGE,
-                                       SM_SMALL_PAGE, oob.ecc2,
-                                       IS_ENABLED(CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC));
+                       ecc_sw_hamming_calculate(buf + boffset + SM_SMALL_PAGE,
+                                                SM_SMALL_PAGE, oob.ecc2,
+                                                sm_order);
                }
                if (!sm_write_sector(ftl, zone, block, boffset,
                                                        buf + boffset, &oob))