Messages in this thread | | | Date | Mon, 17 Jan 2022 14:08:21 +0100 | Subject | Re: ERROR: modpost: "gpmc_omap_get_nand_ops" [drivers/mtd/nand/raw/omap2_nand.ko] undefined! | From | Krzysztof Kozlowski <> |
| |
On 17/01/2022 13:35, Roger Quadros wrote: > Hi, > > On 17/01/2022 12:51, kernel test robot wrote: >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master >> head: 0c947b893d69231a9add855939da7c66237ab44f >> commit: dbcb124acebd8148e9e858a231f1798956dd3ca6 mtd: rawnand: omap2: Select GPMC device driver for ARCH_K3 >> date: 4 weeks ago >> config: arm64-randconfig-r001-20220117 (https://download.01.org/0day-ci/archive/20220117/202201171805.5HeoR4rS-lkp@intel.com/config) >> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5f782d25a742302d25ef3c8b84b54f7483c2deb9) >> reproduce (this is a W=1 build): >> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> # install arm64 cross compiling tool for clang build >> # apt-get install binutils-aarch64-linux-gnu >> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dbcb124acebd8148e9e858a231f1798956dd3ca6 >> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >> git fetch --no-tags linus master >> git checkout dbcb124acebd8148e9e858a231f1798956dd3ca6 >> # save the config file to linux build tree >> mkdir build_dir >> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kernel test robot <lkp@intel.com> >> >> All errors (new ones prefixed by >>, old ones prefixed by <<): >> >>>> ERROR: modpost: "gpmc_omap_get_nand_ops" [drivers/mtd/nand/raw/omap2_nand.ko] undefined! > > The issue is that CONFIG_MEMORY is not set so OMAP_GPMC driver is not built causing the above undefined symbol error. > >> >> Kconfig warnings: (for reference only) >> WARNING: unmet direct dependencies detected for OMAP_GPMC >> Depends on MEMORY && OF_ADDRESS >> Selected by >> - MTD_NAND_OMAP2 && MTD && MTD_RAW_NAND && (ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST && HAS_IOMEM && ARCH_K3 >> > > A possible fix would be to select MEMORY along with OMAP_GPMC at the below location > > config MTD_NAND_OMAP2 > tristate "OMAP2, OMAP3, OMAP4 and Keystone NAND controller" > depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST > depends on HAS_IOMEM > select MEMORY > ^^ > select OMAP_GPMC if ARCH_K3 > help > Support for NAND flash on Texas Instruments OMAP2, OMAP3, OMAP4 > and Keystone platforms. > > > Is this OK?
Instead rather "select MEMORY if ARCH_K3"?
However I had impression that selecting a user-visible options is discouraged, especially from within the drivers. What I would expect is to select it from the machine/architecture code like you did before [1] but was rejected by Nishanth.
https://lore.kernel.org/linux-devicetree/20211217161417.q2qwwlki7oieqzjd@headlock/
In such case, your choice (with if ARCH...?) seems sensible. MTD_NAND_FSL_IFC already does it.
Best regards, Krzysztof
| |