On Thursday 26 February 2015 12:44:32 Andrew Morton wrote: > On Thu, 26 Feb 2015 15:36:18 +0800 kbuild test robot <fengguang.wu@xxxxxxxxx> wrote: > > > It's probably a bug fix that unveils the link errors. > > > > tree: git://git.cmpxchg.org/linux-mmotm.git master > > head: 87bf5bee8749a1d3c82d12a55a1e33f6a22da8ed > > commit: 7d789876f1a932dfa1a70ae8eeba270aa34358ad [7/197] rtc: ds1685: fix ds1685_rtc_alarm_irq_enable build error > > config: i386-randconfig-nexr0-0226 (attached as .config) > > reproduce: > > git checkout 7d789876f1a932dfa1a70ae8eeba270aa34358ad > > # save the attached .config to linux build tree > > make ARCH=i386 > > > > All error/warnings: > > > > drivers/built-in.o: In function `ak8975_set_mode': > > >> ak8975.c:(.text+0x16c108): undefined reference to `i2c_smbus_write_byte_data' > > drivers/built-in.o: In function `ak8975_probe': > > >> ak8975.c:(.text+0x16c29b): undefined reference to `i2c_smbus_read_i2c_block_data' > > >> ak8975.c:(.text+0x16c348): undefined reference to `i2c_smbus_read_i2c_block_data' > > drivers/built-in.o: In function `ak8975_read_raw': > > >> ak8975.c:(.text+0x16c66b): undefined reference to `i2c_smbus_read_byte_data' > > >> ak8975.c:(.text+0x16c6a2): undefined reference to `i2c_smbus_read_byte_data' > > >> ak8975.c:(.text+0x16c6c6): undefined reference to `i2c_smbus_read_byte_data' > > >> ak8975.c:(.text+0x16c751): undefined reference to `i2c_smbus_read_word_data' > > drivers/built-in.o: In function `ak8975_driver_init': > > >> ak8975.c:(.init.text+0x10e35): undefined reference to `i2c_register_driver' > > drivers/built-in.o: In function `ak8975_driver_exit': > > >> ak8975.c:(.exit.text+0x1841): undefined reference to `i2c_del_driver' > > Yes, something seems to have gone spectacularly wrong here. "rtc: > ds1685: fix ds1685_rtc_alarm_irq_enable build error" has nothing to do > with i2c or with drivers/iio/magnetometer/ak8975.c. > > And CONFIG_AK8975 depends on CONFIG_I2C. I've also submitted a patch for this bug: >From 84f1bf2e4c22183a61c04dfa2cead4a91665c920 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue, 27 Jan 2015 22:08:47 +0100 Subject: [PATCH] iio: ak8975: fix AK09911 dependencies ak8975 depends on I2C and GPIOLIB, so any symbols that selects ak8975 must have the same dependency, or we get build errors: drivers/iio/magnetometer/ak8975.c: In function 'ak8975_who_i_am': drivers/iio/magnetometer/ak8975.c:393:2: error: implicit declaration of function 'i2c_smbus_read_i2c_block_data' [-Werror=implicit-function-declaration] ret = i2c_smbus_read_i2c_block_data(client, AK09912_REG_WIA1, ^ drivers/iio/magnetometer/ak8975.c: In function 'ak8975_set_mode': drivers/iio/magnetometer/ak8975.c:431:2: error: implicit declaration of function 'i2c_smbus_write_byte_data' [-Werror=implicit-function-declaration] ret = i2c_smbus_write_byte_data(data->client, Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support") diff --git a/drivers/iio/magnetometer/Kconfig b/drivers/iio/magnetometer/Kconfig index 4c7a4c52dd06..a5d6de72c523 100644 --- a/drivers/iio/magnetometer/Kconfig +++ b/drivers/iio/magnetometer/Kconfig @@ -18,6 +18,8 @@ config AK8975 config AK09911 tristate "Asahi Kasei AK09911 3-axis Compass" + depends on I2C + depends on GPIOLIB select AK8975 help Deprecated: AK09911 is now supported by AK8975 driver. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/320527.html Randy submitted the same patch: https://lkml.org/lkml/2015/2/4/570 Jonathan said he'd take care of it, but so far has not applied either version. Arnd -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>