Subject: Re: linux-next: mfd tree build failure

From: Mark Brown <[email-masked]>
Date: Tue, 24 Nov 2009 09:57:16 +0000

On Tue, Nov 24, 2009 at 04:37:53PM +1100, Stephen Rothwell wrote:

> drivers/built-in.o: In function `wm831x_i2c_remove':
> wm831x-core.c:(.text+0xd108b): undefined reference to `mfd_remove_devices'
> drivers/built-in.o: In function `wm831x_i2c_write_device':
> wm831x-core.c:(.text+0xd119c): undefined reference to `i2c_master_send'
> drivers/built-in.o: In function `wm831x_i2c_read_device':
> wm831x-core.c:(.text+0xd1208): undefined reference to `i2c_master_send'
> wm831x-core.c:(.text+0xd1237): undefined reference to `i2c_master_recv'

> Caused by commit 4f7231a3ff624ad8a0fdace424b10a8b262071cf ("mfd: Don't
> allow wm831x to be built as a module").  CONFIG_MFD_CORE is "m" and
> CONFIG_I2C is "m" while CONFIG_MFD_WM831X is "y".  "select" is a real
> problem :-(

There's something more seriously wrong than the select with your config
here - the driver depends on (rather than selecting) I2C and you're also
seeing undefined references to the I2C API.  The select on MFD_CORE
should also be forcing that to be built in (it does normally).

Could you please post the actual configuration you're using?  I suspect
some Kbuild bug has been triggered here...