ath79: ag71xx: defer probe if of_phy_connect failed
[oweals/openwrt.git] / target / linux / ramips / patches-4.14 / 0040-nand-hack.patch
index c906d7fa6a65c87a8d55eeb07e2f5160d2046553..58cdf1bce7ed35cb533a3a5e8efcbc858a3ea018 100644 (file)
                        if (ret < 0) {
                                if (use_bufpoi)
                                        /* Invalidate page cache */
-@@ -2761,9 +2765,14 @@ static int nand_do_write_ops(struct mtd_
-                       memset(chip->oob_poi, 0xff, mtd->oobsize);
-               }
--              ret = nand_write_page(mtd, chip, column, bytes, wbuf,
--                                    oob_required, page,
--                                    (ops->mode == MTD_OPS_RAW));
-+              if (chip->write_page)
-+                      ret = chip->write_page(mtd, chip, column, bytes, wbuf,
-+                                             oob_required, page,
-+                                             (ops->mode == MTD_OPS_RAW));
-+              else
-+                      ret = nand_write_page(mtd, chip, column, bytes, wbuf,
-+                                            oob_required, page,
-+                                            (ops->mode == MTD_OPS_RAW));
-               if (ret)
-                       break;
 --- a/include/linux/mtd/rawnand.h
 +++ b/include/linux/mtd/rawnand.h
-@@ -885,6 +885,9 @@ struct nand_chip {
-       int(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
-       int (*erase)(struct mtd_info *mtd, int page);
-       int (*scan_bbt)(struct mtd_info *mtd);
-+      int (*write_page)(struct mtd_info *mtd, struct nand_chip *chip,
-+                      uint32_t offset, int data_len, const uint8_t *buf,
-+                      int oob_required, int page, int raw);
-       int (*onfi_set_features)(struct mtd_info *mtd, struct nand_chip *chip,
-                       int feature_addr, uint8_t *subfeature_para);
-       int (*onfi_get_features)(struct mtd_info *mtd, struct nand_chip *chip,
-@@ -893,6 +896,9 @@ struct nand_chip {
+@@ -897,6 +897,9 @@ struct nand_chip {
        int (*setup_data_interface)(struct mtd_info *mtd, int chipnr,
                                    const struct nand_data_interface *conf);