linux_dsm_epyc7002/drivers/mtd/nand/raw
Anders Roxell 7019ac5d3b mtd: rawnand: fix build dependency
When enabling CONFIG_MTD_NAND_ECC_SW_BCH as a module, the
MTD_NAND_ECC_SW_BCH depends on MTD_NAND, but the module controlled by
MTD_NAND links against the module controlled by MTD_NAND_ECC_SW_BCH.
This leads to the following link failure.

aarch64-linux-gnu-ld: drivers/mtd/nand/raw/nand_base.o: in function `nand_cleanup':
../drivers/mtd/nand/raw/nand_base.c:5886: undefined reference to `nand_bch_free'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5886:(.text+0x9928): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `nand_bch_free'
aarch64-linux-gnu-ld: drivers/mtd/nand/raw/nand_base.o: in function `nand_set_ecc_soft_ops':
../drivers/mtd/nand/raw/nand_base.c:5093: undefined reference to `nand_bch_calculate_ecc'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5093:(.text+0xe914): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against undefined symbol `nand_bch_calculate_ecc'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5093: undefined reference to `nand_bch_calculate_ecc'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5094: undefined reference to `nand_bch_correct_data'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5094:(.text+0xe934): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against undefined symbol `nand_bch_correct_data'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5094: undefined reference to `nand_bch_correct_data'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5148: undefined reference to `nand_bch_init'
aarch64-linux-gnu-ld: ../drivers/mtd/nand/raw/nand_base.c:5148:(.text+0xebbc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `nand_bch_init'

Rework CONFIG_MTD_NAND_ECC_SW_BCH from tristate to bool,
and then link the nand_bch.o file into nand.ko if its enabled.

Fixes: 51ef1d0b2095 ("mtd: nand: Clarify Kconfig entry for software BCH ECC algorithm")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2019-04-18 08:54:01 +02:00
..
atmel mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
bcm47xxnflash mtd: rawnand: Get rid of chip->chipsize 2019-04-08 10:21:15 +02:00
brcmnand mtd: rawnand: Provide a helper to get chip->data_buf 2019-04-08 10:21:13 +02:00
gpmi-nand mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
ingenic mtd: rawnand: Change Kconfig titles and re-order a bit the list 2019-04-18 08:54:00 +02:00
ams-delta.c mtd: rawnand: ams-delta: Use GPIO API for data I/O 2018-12-07 10:38:27 +01:00
au1550nd.c mtd: rawnand: Deprecate the ->select_chip() hook 2018-12-07 10:38:27 +01:00
cafe_nand.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
cmx270_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
cs553x_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
davinci_nand.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
denali_dt.c mtd: rawnand: denali_dt: remove single anonymous clock support 2019-02-07 23:17:51 +01:00
denali_pci.c mtd: rawnand: denali: use SPDX-License-Identifier and fix license mismatch 2018-09-04 23:37:40 +02:00
denali.c mtd: rawnand: Get rid of chip->chipsize 2019-04-08 10:21:15 +02:00
denali.h mtd: rawnand: denali: remove unused dma_addr field from denali_nand_info 2019-02-05 16:56:11 +01:00
diskonchip.c mtd: rawnand: Get rid of chip->numchips 2019-04-08 10:21:16 +02:00
fsl_elbc_nand.c mtd: rawnand: Get rid of chip->numchips 2019-04-08 10:21:16 +02:00
fsl_ifc_nand.c mtd: rawnand: Get rid of chip->numchips 2019-04-08 10:21:16 +02:00
fsl_upm.c mtd: rawnand: Deprecate the ->select_chip() hook 2018-12-07 10:38:27 +01:00
fsmc_nand.c MTD changes: 2019-03-04 18:59:37 -08:00
gpio.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
hisi504_nand.c mtd: rawnand: Get rid of chip->numchips 2019-04-08 10:21:16 +02:00
internals.h mtd: rawnand: Get rid of chip->numchips 2019-04-08 10:21:16 +02:00
Kconfig mtd: rawnand: fix build dependency 2019-04-18 08:54:01 +02:00
lpc32xx_mlc.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
lpc32xx_slc.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
Makefile mtd: rawnand: fix build dependency 2019-04-18 08:54:01 +02:00
marvell_nand.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
meson_nand.c mtd: rawnand: meson: set oob layout ops 2019-04-08 10:21:08 +02:00
mpc5121_nfc.c mtd: rawnand: Deprecate the ->select_chip() hook 2018-12-07 10:38:27 +01:00
mtk_ecc.c mtd: rawnand: mtk: fix possible object reference leak 2019-02-07 23:14:16 +01:00
mtk_ecc.h
mtk_nand.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
mxc_nand.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
nand_amd.c mtd: rawnand: Fill memorg during detection 2019-04-08 10:21:12 +02:00
nand_base.c mtd: nand: Clarify Kconfig entry for software Hamming ECC entries 2019-04-18 08:54:00 +02:00
nand_bbt.c mtd: rawnand: Get rid of chip->numchips 2019-04-08 10:21:16 +02:00
nand_bch.c mtd: rawnand: Pass a nand_chip object to ecc->correct() 2018-10-03 11:12:25 +02:00
nand_ecc.c mtd: rawnand: Allow selection of ECC byte ordering at runtime 2018-10-03 11:12:25 +02:00
nand_esmt.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_hynix.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_ids.c mtd: rawnand: ESMT: retrieve ECC requirements from 5th id byte 2018-10-03 11:12:25 +02:00
nand_jedec.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_legacy.c mtd: rawnand: Annotate implicit fall through in nand_command/nand_command_lp 2019-02-05 16:56:10 +01:00
nand_macronix.c mtd: rawnand: Flag 1.8V AC chips with a broken GET_FEATURES(TIMINGS) 2018-11-06 10:18:01 +01:00
nand_micron.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_onfi.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_samsung.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nand_timings.c mtd: rawnand: Keep all internal stuff private 2018-10-03 11:12:25 +02:00
nand_toshiba.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
nandsim.c mtd: rawnand: Get rid of chip->chipsize 2019-04-08 10:21:15 +02:00
ndfc.c mtd: rawnand: Deprecate the ->select_chip() hook 2018-12-07 10:38:27 +01:00
nuc900_nand.c mtd: rawnand: Mark expected switch fall-throughs 2019-03-21 16:44:55 +01:00
omap2.c mtd: nand: Clarify Kconfig entry for software BCH ECC algorithm 2019-04-18 08:54:00 +02:00
omap_elm.c mtd: rawnand: Mark expected switch fall-throughs 2019-03-21 16:44:55 +01:00
orion_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
oxnas_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
pasemi_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
plat_nand.c mtd: rawnand: Deprecate the ->select_chip() hook 2018-12-07 10:38:27 +01:00
qcom_nandc.c mtd: rawnand: Provide a helper to get chip->data_buf 2019-04-08 10:21:13 +02:00
r852.c mtd: rawnand: Stop using chip->state in drivers 2019-02-05 15:39:40 +01:00
r852.h mtd: rawnand: r852: fix spelling mistake "card_registred" -> "card_registered" 2018-10-08 10:00:10 +02:00
s3c2410.c mtd: rawnand: Move ->setup_data_interface() to nand_controller_ops 2018-12-07 10:38:27 +01:00
sh_flctl.c mtd: rawnand: Get rid of chip->chipsize 2019-04-08 10:21:15 +02:00
sharpsl.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
sm_common.c mtd: rawnand: Deprecate the dummy_controller field 2018-12-07 10:58:11 +01:00
sm_common.h
socrates_nand.c mtd: rawnand: Deprecate ->chip_delay 2018-10-03 11:12:25 +02:00
stm32_fmc2_nand.c mtd: rawnand: stm32_fmc2: add polling mode 2019-02-05 15:39:37 +01:00
sunxi_nand.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
tango_nand.c mtd: rawnand: Move ->setup_data_interface() to nand_controller_ops 2018-12-07 10:38:27 +01:00
tegra_nand.c mtd: rawnand: Get rid of chip->ecc_{strength,step}_ds 2019-04-08 10:21:16 +02:00
tmio_nand.c mtd: rawnand: Stop using chip->state in drivers 2019-02-05 15:39:40 +01:00
txx9ndfmc.c mtd: rawnand: Allow selection of ECC byte ordering at runtime 2018-10-03 11:12:25 +02:00
vf610_nfc.c mtd: rawnand: vf610: Avoid a potential NULL pointer dereference 2019-04-08 10:21:07 +02:00
xway_nand.c mtd: rawnand: Deprecate the ->select_chip() hook 2018-12-07 10:38:27 +01:00