mtd: nand: Change dependency between the NAND and ECC cores
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 13 Nov 2020 12:39:45 +0000 (13:39 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 10 Dec 2020 21:37:32 +0000 (22:37 +0100)
commit928f0736e9aa19488e030e408dde308507fe8bc1
tree8025e60171cb7663c7c30b2df7899adb18437a39
parent131ce3ed5dea26d5a606c2e673c022c4572d04cc
mtd: nand: Change dependency between the NAND and ECC cores

The NAND ECC core is included in the generic NAND core when it is
compiled in.

Different software ECC engines drivers will select the NAND ECC core
and thus also have a dependency on the NAND core. Using a "depends on"
between the two leads to possible cases (not real cases, but created
by robots) where one is still unselected because of the "select does
not verifies depends on" game:

WARNING: unmet direct dependencies detected for MTD_NAND_ECC
  Depends on [n]: MTD [=m] && MTD_NAND_CORE [=n]
  Selected by [m]:
  - MTD_NAND_ECC_SW_HAMMING [=y] && MTD [=m]
  - MTD_NAND_ECC_SW_BCH [=y] && MTD [=m]

Fix this by using a select instead.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Link: https://lore.kernel.org/linux-mtd/20201113123945.32592-1-miquel.raynal@bootlin.com
drivers/mtd/nand/Kconfig