summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/raw/r852.h
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2020-11-13 13:34:22 +0100
committerMiquel Raynal <miquel.raynal@bootlin.com>2020-11-20 12:30:53 +0100
commit7ef969a042281bdcdba31f1b69daeea4f0789ed1 (patch)
tree3cba9528e82730358f217d33ed8147379371a22b /drivers/mtd/nand/raw/r852.h
parent612e048e6aabbc5d042140c0ec494753f36bdfe6 (diff)
downloadlinux-7ef969a042281bdcdba31f1b69daeea4f0789ed1.tar.bz2
mtd: rawnand: r852: Move the ECC initialization to ->attach_chip()
The probe function is only supposed to initialize the controller hardware but not the ECC engine. Indeed, we don't know anything about the NAND chip(s) at this stage. Let's move the logic initializing the ECC engine, even pretty simple, to the ->attach_chip() hook which gets called during nand_scan() routine, after the NAND chip discovery. As the previously mentioned logic is supposed to parse the DT for us, it is likely that the chip->ecc.* entries be overwritten. So let's avoid this by moving these lines to ->attach_chip(). Fixes: d7157ff49a5b ("mtd: rawnand: Use the ECC framework user input parsing bits") Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Maxim Levitsky <maximlevitsky@gmail.com> Link: https://lore.kernel.org/linux-mtd/20201113123424.32233-18-miquel.raynal@bootlin.com
Diffstat (limited to 'drivers/mtd/nand/raw/r852.h')
-rw-r--r--drivers/mtd/nand/raw/r852.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mtd/nand/raw/r852.h b/drivers/mtd/nand/raw/r852.h
index e9ce299c499d..96fe301d15da 100644
--- a/drivers/mtd/nand/raw/r852.h
+++ b/drivers/mtd/nand/raw/r852.h
@@ -104,6 +104,7 @@
#define DMA_MEMORY 1
struct r852_device {
+ struct nand_controller controller;
void __iomem *mmio; /* mmio */
struct nand_chip *chip; /* nand chip backpointer */
struct pci_dev *pci_dev; /* pci backpointer */