mtd: nand: Force omap_elm to be built as a module if omap2_nand is a module
authorEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
Wed, 1 Oct 2014 11:33:29 +0000 (14:33 +0300)
committerBrian Norris <computersforpeace@gmail.com>
Tue, 7 Oct 2014 06:40:07 +0000 (23:40 -0700)
This commit adds a hidden option to build the omap_elm as a module, if
omap2_nand is a module (and similarly in the built-in case).

This fixes the following build error when omap2_nand is chosen built-in,
and omap_elm is chosen as a module:

drivers/built-in.o: In function `omap_nand_probe':
drivers/mtd/nand/omap2.c:2010: undefined reference to `elm_config'
drivers/mtd/nand/omap2.c:1980: undefined reference to `elm_config'
drivers/mtd/nand/omap2.c:1927: undefined reference to `elm_config'
drivers/built-in.o: In function `omap_elm_correct_data':
drivers/mtd/nand/omap2.c:1444: undefined reference to `elm_decode_bch_error_page'

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/Kconfig
drivers/mtd/nand/Makefile

index f1cf503517fdcff3e8743fd3ec2816d85d4fcd80..1cb4b1ba59ec714eb129dacd2420e78bf49341f9 100644 (file)
@@ -96,7 +96,7 @@ config MTD_NAND_OMAP2
 
 config MTD_NAND_OMAP_BCH
        depends on MTD_NAND_OMAP2
-       tristate "Support hardware based BCH error correction"
+       bool "Support hardware based BCH error correction"
        default n
        select BCH
        help
@@ -106,6 +106,9 @@ config MTD_NAND_OMAP_BCH
          legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine
          so they should not enable this config symbol.
 
+config MTD_NAND_OMAP_BCH_BUILD
+       def_tristate MTD_NAND_OMAP2 && MTD_NAND_OMAP_BCH
+
 config MTD_NAND_IDS
        tristate
 
index b3237b742eb5f95f957100401eac818dd98a84ba..9c847e469ca775f89df2f176d8dd712b4d7dc8b5 100644 (file)
@@ -27,7 +27,7 @@ obj-$(CONFIG_MTD_NAND_NDFC)           += ndfc.o
 obj-$(CONFIG_MTD_NAND_ATMEL)           += atmel_nand.o
 obj-$(CONFIG_MTD_NAND_GPIO)            += gpio.o
 obj-$(CONFIG_MTD_NAND_OMAP2)           += omap2.o
-obj-$(CONFIG_MTD_NAND_OMAP_BCH)                += omap_elm.o
+obj-$(CONFIG_MTD_NAND_OMAP_BCH_BUILD)  += omap_elm.o
 obj-$(CONFIG_MTD_NAND_CM_X270)         += cmx270_nand.o
 obj-$(CONFIG_MTD_NAND_PXA3xx)          += pxa3xx_nand.o
 obj-$(CONFIG_MTD_NAND_TMIO)            += tmio_nand.o