Re: drivers/watchdog/rave-sp-wdt.c:278: undefined reference to `nvmem_cell_get'

From: Guenter Roeck
Date: Tue Feb 13 2018 - 09:43:04 EST


On 02/13/2018 06:20 AM, Andrey Smirnov wrote:
On Tue, Feb 13, 2018 at 1:30 AM, Lee Jones <lee.jones@xxxxxxxxxx> wrote:
On Tue, 13 Feb 2018, kbuild test robot wrote:

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 178e834c47b0d01352c48730235aae69898fbc02
commit: c3bb333457218ca4ed9553be47c0f567b4ef8a38 watchdog: Add RAVE SP watchdog driver
date: 5 weeks ago
config: x86_64-randconfig-u0-02131401 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
git checkout c3bb333457218ca4ed9553be47c0f567b4ef8a38
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

drivers/watchdog/rave-sp-wdt.o: In function `rave_sp_wdt_probe':
drivers/watchdog/rave-sp-wdt.c:278: undefined reference to `nvmem_cell_get'
drivers/watchdog/rave-sp-wdt.c:281: undefined reference to `nvmem_cell_read'
drivers/watchdog/rave-sp-wdt.c:287: undefined reference to `nvmem_cell_put'
make[2]: *** [vmlinux] Error 1

Looks like the RAVE Watchdog driver should select NVMEM?


AFAICT, this is happening when RAVE SP core and watchdog drivers are
built as built-in and NVMEM is selected as module. Looking at other
users on NVMEM in the kernel is seems that the pattern to prevent this
problem is to add "depends on NVMEM || !NVMEM" line to consumer's
Kconfig entry.

I'll submit a patch to that effect shortly.


Actually, no need to send it. Arnd Bergmann sent the patch already back in January,
only for some reason it got lost in the commit window. I'll discuss with Wim how
to send it upstream.

Guenter