Skip to contentSkip to conversation

iio: ak8975: fix AK09911 dependencies

PATCH New Arnd Bergmann 3 participants 6 messages Jan 28, 2015 – Mar 9, 2015 IIO

lore
Share & tools
lore
#0 lore raw

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,

Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")

---
I found this recent regression doing ARM randconfig builds, please apply

drivers/iio/magnetometer/Kconfig +2 -0
index 4c7a4c52dd06..a5d6de72c523 100644
@@ -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.
maintainer
#1 lore raw

PATCH 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
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 apply

drivers/iio/magnetometer/Kconfig +2 -1
index 4c7a4c52dd06..a5d6de72c523 100644
@@ -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

maintainer
#2 lore raw

PATCH 1/1 iio: ak8975: fix AK09911 dependencies

In reply to Arnd Bergmann
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
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 apply

drivers/iio/magnetometer/Kconfig +2 -1
index 4c7a4c52dd06..a5d6de72c523 100644
@@ -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

#3 lore raw

PATCH 1/1 iio: ak8975: fix AK09911 dependencies

In reply to Arnd Bergmann

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,

Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")

---
I found this recent regression doing ARM randconfig builds, please apply

drivers/iio/magnetometer/Kconfig +0 -0
index 4c7a4c52dd06..a5d6de72c523 100644

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

maintainer
#4 lore raw

PATCH 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,

Fixes 57e73a423b1e85 ("iio: ak8975: add ak09911 and ak09912 support")

---
I found this recent regression doing ARM randconfig builds, please apply

drivers/iio/magnetometer/Kconfig +0 -0
index 4c7a4c52dd06..a5d6de72c523 100644

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.

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

#5 lore raw

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
index 4c7a4c52dd06..a5d6de72c523 100644
@@ -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