]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
mtd: rawnand: socrates: Move the ECC initialization to ->attach_chip()
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 13 Nov 2020 12:34:24 +0000 (13:34 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 20 Nov 2020 11:31:26 +0000 (12:31 +0100)
commitb36bf0a0fe5d18561dd98eb774ef61dd396edc42
tree01a5d046902a2ef272ce7b16d0bdb4cd0926c748
parent1ac6870991939c9351d4c5c49c38b52c97ee7e19
mtd: rawnand: socrates: 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>
Link: https://lore.kernel.org/linux-mtd/20201113123424.32233-20-miquel.raynal@bootlin.com
drivers/mtd/nand/raw/socrates_nand.c