61a39ee0e5902924e6c1a4755b30b8eb31fedb59
[openwrt/staging/mans0n.git] /
1 From 840b2f8dd2d0579e517140e1f9bbc482eaf4ed07 Mon Sep 17 00:00:00 2001
2 From: Miquel Raynal <miquel.raynal@bootlin.com>
3 Date: Thu, 16 Dec 2021 12:16:39 +0100
4 Subject: [PATCH 02/15] mtd: nand: Add a new helper to retrieve the ECC context
5
6 Introduce nand_to_ecc_ctx() which will allow to easily jump to the
7 private pointer of an ECC context given a NAND device. This is very
8 handy, from the prepare or finish ECC hook, to get the internal context
9 out of the NAND device object.
10
11 Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
12 Link: https://lore.kernel.org/linux-mtd/20211216111654.238086-14-miquel.raynal@bootlin.com
13 (cherry picked from commit cda32a618debd3fad8e42757b198719ae180f8f4)
14 ---
15 include/linux/mtd/nand.h | 5 +++++
16 1 file changed, 5 insertions(+)
17
18 --- a/include/linux/mtd/nand.h
19 +++ b/include/linux/mtd/nand.h
20 @@ -990,6 +990,11 @@ int nanddev_markbad(struct nand_device *
21 int nanddev_ecc_engine_init(struct nand_device *nand);
22 void nanddev_ecc_engine_cleanup(struct nand_device *nand);
23
24 +static inline void *nand_to_ecc_ctx(struct nand_device *nand)
25 +{
26 + return nand->ecc.ctx.priv;
27 +}
28 +
29 /* BBT related functions */
30 enum nand_bbt_block_status {
31 NAND_BBT_BLOCK_STATUS_UNKNOWN,