]> git.baikalelectronics.ru Git - 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)
commitae93c7296608f23bc0c719b119bf8d31a872b663
tree01a5d046902a2ef272ce7b16d0bdb4cd0926c748
parent7defd3f23e874b84f3f21b87275f8f1d35f73b5a
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: 86503c2fe61f ("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