From: Roger Quadros <rogerq@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
kernel test robot <lkp@intel.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org
Subject: Re: ERROR: modpost: "gpmc_omap_get_nand_ops" [drivers/mtd/nand/raw/omap2_nand.ko] undefined!
Date: Tue, 18 Jan 2022 13:51:43 +0200 [thread overview]
Message-ID: <7c523b72-2285-80b9-e0fc-0fbb2aa9d439@kernel.org> (raw)
In-Reply-To: <57ad6f87-2198-92c6-8c26-f5b5a8d8a354@canonical.com>
Hi Krzysztof,
On 17/01/2022 15:08, Krzysztof Kozlowski wrote:
> 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"?
I think we should drop "if ARCH_K3" for both for simplicity as the driver is using gpmc_omap_get_nand_ops() from that driver.
>
> 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/
OMAP_GPMC option is not user visible. Else I would have just made MTD_NAND_OMAP2 depend on it.
>
> In such case, your choice (with if ARCH...?) seems sensible.
> MTD_NAND_FSL_IFC already does it.
>
cheers,
-roger
next prev parent reply other threads:[~2022-01-18 11:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-17 10:51 ERROR: modpost: "gpmc_omap_get_nand_ops" [drivers/mtd/nand/raw/omap2_nand.ko] undefined! kernel test robot
2022-01-17 12:35 ` Roger Quadros
2022-01-17 13:08 ` Krzysztof Kozlowski
2022-01-18 11:51 ` Roger Quadros [this message]
2022-01-18 12:01 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7c523b72-2285-80b9-e0fc-0fbb2aa9d439@kernel.org \
--to=rogerq@kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=krzysztof.kozlowski@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox