mtd: rawnand: arasan: select CONFIG_BCH

Message ID 20200527134210.847411-1-arnd@arndb.de
State New
Headers show
Series
  • mtd: rawnand: arasan: select CONFIG_BCH
Related show

Commit Message

Arnd Bergmann May 27, 2020, 1:42 p.m.
Like several other nand flash drivers, this one requires the BCH
library to be selected from Kconfig.

arm-linux-gnueabi-ld: drivers/mtd/nand/raw/arasan-nand-controller.o: in function `anfc_attach_chip':
arasan-nand-controller.c:(.text+0x894): undefined reference to `bch_init'
arm-linux-gnueabi-ld: drivers/mtd/nand/raw/arasan-nand-controller.o: in function `anfc_detach_chip':
arasan-nand-controller.c:(.text+0x98c): undefined reference to `bch_free'
arm-linux-gnueabi-ld: drivers/mtd/nand/raw/arasan-nand-controller.o: in function `anfc_read_page_hw_ecc':
arasan-nand-controller.c:(.text+0x1080): undefined reference to `bch_decode'

Fixes: 197b88fecc50 ("mtd: rawnand: arasan: Add new Arasan NAND controller")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/mtd/nand/raw/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.26.2


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

Comments

Miquel Raynal May 27, 2020, 1:53 p.m. | #1
Hi Arnd,

Arnd Bergmann <arnd@arndb.de> wrote on Wed, 27 May 2020 15:42:03 +0200:

> Like several other nand flash drivers, this one requires the BCH
> library to be selected from Kconfig.

Actually most of the time these drivers do not depend on BCH directly.
Here it is a bit particular: the hardware ECC engine logic being
broken, I found a workaround by using BCH's library functions directly
to verify the hardware correctness.

Anyway, thank you very much for the fix but if I didn't make a mistake
it should have been fixed yesterday night already, so it's probably not
in linux-next yet.

> arm-linux-gnueabi-ld: drivers/mtd/nand/raw/arasan-nand-controller.o: in function `anfc_attach_chip':
> arasan-nand-controller.c:(.text+0x894): undefined reference to `bch_init'
> arm-linux-gnueabi-ld: drivers/mtd/nand/raw/arasan-nand-controller.o: in function `anfc_detach_chip':
> arasan-nand-controller.c:(.text+0x98c): undefined reference to `bch_free'
> arm-linux-gnueabi-ld: drivers/mtd/nand/raw/arasan-nand-controller.o: in function `anfc_read_page_hw_ecc':
> arasan-nand-controller.c:(.text+0x1080): undefined reference to `bch_decode'
> 
> Fixes: 197b88fecc50 ("mtd: rawnand: arasan: Add new Arasan NAND controller")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/mtd/nand/raw/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
> index e2bc87779bf9..113f61052269 100644
> --- a/drivers/mtd/nand/raw/Kconfig
> +++ b/drivers/mtd/nand/raw/Kconfig
> @@ -456,6 +456,7 @@ config MTD_NAND_CADENCE
>  config MTD_NAND_ARASAN
>  	tristate "Support for Arasan NAND flash controller"
>  	depends on HAS_IOMEM && HAS_DMA
> +	select BCH
>  	help
>  	  Enables the driver for the Arasan NAND flash controller on
>  	  Zynq Ultrascale+ MPSoC.

Thanks,
Miquèl
Arnd Bergmann May 27, 2020, 2:37 p.m. | #2
On Wed, May 27, 2020 at 3:53 PM Miquel Raynal <miquel.raynal@bootlin.com> wrote:
>

> Hi Arnd,

>

> Arnd Bergmann <arnd@arndb.de> wrote on Wed, 27 May 2020 15:42:03 +0200:

>

> > Like several other nand flash drivers, this one requires the BCH

> > library to be selected from Kconfig.

>

> Actually most of the time these drivers do not depend on BCH directly.

> Here it is a bit particular: the hardware ECC engine logic being

> broken, I found a workaround by using BCH's library functions directly

> to verify the hardware correctness.

>

> Anyway, thank you very much for the fix but if I didn't make a mistake

> it should have been fixed yesterday night already, so it's probably not

> in linux-next yet.


I'm still on yesterday's linux-next, so I was probably just a little late.
Thanks for fixing it already.

      Arnd

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

Patch

diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index e2bc87779bf9..113f61052269 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -456,6 +456,7 @@  config MTD_NAND_CADENCE
 config MTD_NAND_ARASAN
 	tristate "Support for Arasan NAND flash controller"
 	depends on HAS_IOMEM && HAS_DMA
+	select BCH
 	help
 	  Enables the driver for the Arasan NAND flash controller on
 	  Zynq Ultrascale+ MPSoC.