mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 08:09:20 +07:00
7019ac5d3b
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>
71 lines
2.9 KiB
Makefile
71 lines
2.9 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
obj-$(CONFIG_MTD_RAW_NAND) += nand.o
|
|
obj-$(CONFIG_MTD_NAND_ECC_SW_HAMMING) += nand_ecc.o
|
|
nand-$(CONFIG_MTD_NAND_ECC_SW_BCH) += nand_bch.o
|
|
obj-$(CONFIG_MTD_SM_COMMON) += sm_common.o
|
|
|
|
obj-$(CONFIG_MTD_NAND_CAFE) += cafe_nand.o
|
|
obj-$(CONFIG_MTD_NAND_AMS_DELTA) += ams-delta.o
|
|
obj-$(CONFIG_MTD_NAND_DENALI) += denali.o
|
|
obj-$(CONFIG_MTD_NAND_DENALI_PCI) += denali_pci.o
|
|
obj-$(CONFIG_MTD_NAND_DENALI_DT) += denali_dt.o
|
|
obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o
|
|
obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o
|
|
obj-$(CONFIG_MTD_NAND_TANGO) += tango_nand.o
|
|
obj-$(CONFIG_MTD_NAND_DAVINCI) += davinci_nand.o
|
|
obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o
|
|
obj-$(CONFIG_MTD_NAND_FSMC) += fsmc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_SHARPSL) += sharpsl.o
|
|
obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o
|
|
obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o
|
|
obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o
|
|
obj-$(CONFIG_MTD_NAND_ATMEL) += atmel/
|
|
obj-$(CONFIG_MTD_NAND_GPIO) += gpio.o
|
|
omap2_nand-objs := omap2.o
|
|
obj-$(CONFIG_MTD_NAND_OMAP2) += omap2_nand.o
|
|
obj-$(CONFIG_MTD_NAND_OMAP_BCH_BUILD) += omap_elm.o
|
|
obj-$(CONFIG_MTD_NAND_CM_X270) += cmx270_nand.o
|
|
obj-$(CONFIG_MTD_NAND_MARVELL) += marvell_nand.o
|
|
obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
|
|
obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
|
|
obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o
|
|
obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o
|
|
obj-$(CONFIG_MTD_NAND_OXNAS) += oxnas_nand.o
|
|
obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_FSL_IFC) += fsl_ifc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_FSL_UPM) += fsl_upm.o
|
|
obj-$(CONFIG_MTD_NAND_SLC_LPC32XX) += lpc32xx_slc.o
|
|
obj-$(CONFIG_MTD_NAND_MLC_LPC32XX) += lpc32xx_mlc.o
|
|
obj-$(CONFIG_MTD_NAND_SH_FLCTL) += sh_flctl.o
|
|
obj-$(CONFIG_MTD_NAND_MXC) += mxc_nand.o
|
|
obj-$(CONFIG_MTD_NAND_SOCRATES) += socrates_nand.o
|
|
obj-$(CONFIG_MTD_NAND_TXX9NDFMC) += txx9ndfmc.o
|
|
obj-$(CONFIG_MTD_NAND_NUC900) += nuc900_nand.o
|
|
obj-$(CONFIG_MTD_NAND_MPC5121_NFC) += mpc5121_nfc.o
|
|
obj-$(CONFIG_MTD_NAND_VF610_NFC) += vf610_nfc.o
|
|
obj-$(CONFIG_MTD_NAND_RICOH) += r852.o
|
|
obj-y += ingenic/
|
|
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
|
|
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
|
|
obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
|
|
obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o
|
|
obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o
|
|
obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand/
|
|
obj-$(CONFIG_MTD_NAND_QCOM) += qcom_nandc.o
|
|
obj-$(CONFIG_MTD_NAND_MTK) += mtk_ecc.o mtk_nand.o
|
|
obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_nand.o
|
|
obj-$(CONFIG_MTD_NAND_STM32_FMC2) += stm32_fmc2_nand.o
|
|
obj-$(CONFIG_MTD_NAND_MESON) += meson_nand.o
|
|
|
|
nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o
|
|
nand-objs += nand_onfi.o
|
|
nand-objs += nand_jedec.o
|
|
nand-objs += nand_amd.o
|
|
nand-objs += nand_esmt.o
|
|
nand-objs += nand_hynix.o
|
|
nand-objs += nand_macronix.o
|
|
nand-objs += nand_micron.o
|
|
nand-objs += nand_samsung.o
|
|
nand-objs += nand_toshiba.o
|