out sometime tomorrow.
On 26 February 2015 21:23:02 GMT+00:00, Arnd Bergmann <arnd@xxxxxxxx> wrote:
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=i 386
All error/warnings:
drivers/built-in.o: In function `ak8975_set_mode':drivers/built-in.o: In function `ak8975_probe':ak8975.c:(.text+0x16c108): undefined reference to `i2c_smbus_write_byte_data'drivers/built-in.o: In function `ak8975_read_raw':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_driver_init':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_exit':ak8975.c:(.init.text+0x10e35): undefined reference to `i2c_register_driv er'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
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.