diff options
author | Miquel Raynal <miquel.raynal@bootlin.com> | 2020-05-07 12:52:41 +0200 |
---|---|---|
committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2020-05-11 09:51:43 +0200 |
commit | 22dc5f9d490655a4ae1fbc55f93daa8e85b1c38f (patch) | |
tree | 4bb200a32e68a3780f52a949ada0325b83a85dc2 | |
parent | 0e7f4b64ea46da6da5d84709d0316df9a7145f76 (diff) | |
download | lwn-22dc5f9d490655a4ae1fbc55f93daa8e85b1c38f.tar.gz lwn-22dc5f9d490655a4ae1fbc55f93daa8e85b1c38f.zip |
mtd: rawnand: micron: Allow controllers to overload raw accessors
Some controller drivers do not support executing regular
nand_read/write_page_raw() helpers. For that, we created
nand_monolithic_read/write_page_raw() alternatives. Let's now allow
the driver to overload the ECC ->read/write_page_raw() hooks when
these hooks are supported.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/linux-mtd/20200507105241.14299-14-miquel.raynal@bootlin.com
-rw-r--r-- | drivers/mtd/nand/raw/nand_micron.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mtd/nand/raw/nand_micron.c b/drivers/mtd/nand/raw/nand_micron.c index 3a37d48c9472..b2b047b245f4 100644 --- a/drivers/mtd/nand/raw/nand_micron.c +++ b/drivers/mtd/nand/raw/nand_micron.c @@ -508,8 +508,10 @@ static int micron_nand_init(struct nand_chip *chip) chip->ecc.read_page_raw = nand_read_page_raw_notsupp; chip->ecc.write_page_raw = nand_write_page_raw_notsupp; } else { - chip->ecc.read_page_raw = nand_read_page_raw; - chip->ecc.write_page_raw = nand_write_page_raw; + if (!chip->ecc.read_page_raw) + chip->ecc.read_page_raw = nand_read_page_raw; + if (!chip->ecc.write_page_raw) + chip->ecc.write_page_raw = nand_write_page_raw; } } |