iio: ak8975: fix AK09911 dependencies
PATCH 1/1 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,
---
I found this recent regression doing ARM randconfig builds, please apply
drivers/iio/magnetometer/Kconfig +2 -0
@@ -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.
Jonathan Cameron
maintainerPATCH 1/1 iio: ak8975: fix AK09911 dependencies
Quoted 11 lines · Arnd Bergmann
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,
Quoted 2 lines
Signed-off-by Arnd Bergmann <[email protected]>Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")
Sorry, I failed to register this was present in the linux-next tree rather than mainline where at least the i2c dependency is present). Given timing, will have to wait until after the merge windows to send this now (last pull request for the merge has gone to Greg)
Will fixup in a couple of weeks,
Jonathan
Quoted 22 lines
---
I found this recent regression doing ARM randconfig builds, please applydrivers/iio/magnetometer/Kconfig +2
-1@@ -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. --To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Jonathan Cameron
maintainerPATCH 1/1 iio: ak8975: fix AK09911 dependencies
In reply to Arnd BergmannQuoted 11 lines · Arnd Bergmann
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,
Quoted 2 lines
Signed-off-by Arnd Bergmann <[email protected]>Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")
Now applied and pull request sent.
Quoted 22 lines
---
I found this recent regression doing ARM randconfig builds, please applydrivers/iio/magnetometer/Kconfig +2
-1@@ -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. --To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 1/1 iio: ak8975: fix AK09911 dependencies
In reply to Arnd BergmannHi Arnd,
Quoted 21 lines · Arnd Bergmann
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 <[email protected]>Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")---
I found this recent regression doing ARM randconfig builds, please applydrivers/iio/magnetometer/Kconfig +0
-0
drivers/iio/magnetometer/Kconfig config AK8975 · line 25
Quoted 8 lines
drivers/iio/magnetometer/Kconfig +2
-0@@ -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.
I just saw the AK8975/AK09911 config options disappear for a v4.0-rc3 m68k allmodconfig kernel. Apparently it built fine with !GPIOLIB before, as many gpiolib (consumer) functions have dummies for the !GPIOLIB case.
So I think the GPIOLIB dependency can be relaxed to "GPIOLIB || COMPILE_TEST". The same may be true for many other GPIOLIB consumer drivers. Will look into it and send patches...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Jonathan Cameron
maintainerPATCH 1/1 iio: ak8975: fix AK09911 dependencies
Quoted 37 lines · Geert Uytterhoeven
Hi Arnd,
Quoted 21 lines · Arnd Bergmann
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 <[email protected]>Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")---
I found this recent regression doing ARM randconfig builds, please applydrivers/iio/magnetometer/Kconfig +0
-0drivers/iio/magnetometer/Kconfig config AK8975 · line 25
Quoted 8 lines
drivers/iio/magnetometer/Kconfig +2
-0@@ -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.I just saw the AK8975/AK09911 config options disappear for a v4.0-rc3 m68k allmodconfig kernel. Apparently it built fine with !GPIOLIB before, as many gpiolib (consumer) functions have dummies for the !GPIOLIB case.
Quoted 8 lines
So I think the GPIOLIB dependency can be relaxed to "GPIOLIB ||
COMPILE_TEST". The same may be true for many other GPIOLIB consumer drivers. Will look into it and send patches...Gr{oetje,eeting}s,
Geert
Sounds likely and would be great to increase build coverage on these if we can.
Jonathan
PATCH 1/1 iio: ak8975: fix AK09911 dependencies
Quoted 18 lines · On Monday 09 March 2015 10:50:26 Jonathan Cameron wrote:
Quoted 18 lines
drivers/iio/magnetometer/Kconfig config AK8975 · line 25
Quoted 13 lines
drivers/iio/magnetometer/Kconfig +2
-0@@ -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.I just saw the AK8975/AK09911 config options disappear for a v4.0-rc3 m68k allmodconfig kernel. Apparently it built fine with !GPIOLIB before, as many gpiolib (consumer) functions have dummies for the !GPIOLIB case.
Quoted 3 lines
Quoted 3 lines
So I think the GPIOLIB dependency can be relaxed to "GPIOLIB ||
COMPILE_TEST". The same may be true for many other GPIOLIB consumer drivers. Will look into it and send patches...
The reason for this dependency is the 'select AK8975', which causes a Kconfig warning if GPIOLIB is disabled. I do not see an actual dependency on gpiolib in the ak8975 driver, but relaxing this means we have to remove the dependency for both of them together, not just for AK09911.
Arnd