* [PATCH 00/14] iio: temperature: make headers conform to IWYU
@ 2026-08-22 8:02 Joshua Crofts
2026-08-22 8:02 ` [PATCH 01/14] iio: temperature: iqs620at-temp: separate IIO header from others Joshua Crofts
` (14 more replies)
0 siblings, 15 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
This series removes any instances of kernel.h in the temperature/
subdirectory and cleans up the headers in order to improve readability
and enforce IYWU instead of relying on transitive dependencies during
the build process.
I had Gemini generate a summary (a bit more verbose) of changed headers
under the --- in each IWYU patch to improve the review process.
This is part of an ongoing effort to remove kernel.h entirely from IIO.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Joshua Crofts (14):
iio: temperature: iqs620at-temp: separate IIO header from others
iio: temperature: iqs620at-temp: make headers conform to IWYU
iio: temperature: ltc2983: reorder headers
iio: temperature: ltc2983: make headers conform to IWYU
iio: temperature: mlx90632: sort headers alphabetically
iio: temperature: mlx90632: make headers conform to IWYU
iio: temperature: mlx90635: sort headers alphabetically
iio: temperature: mlx90635: make headers conform to IWYU
iio: temperature: tmp117: sort headers alphabetically
iio: temperature: tmp117: make headers conform to IWYU
iio: temperature: tsys01: reorder headers
iio: temperature: tsys01: make headers conform to IWYU
iio: temperature: tsys02d: reorder headers
iio: temperature: tsys02d: make headers conform to IWYU
drivers/iio/temperature/iqs620at-temp.c | 9 +++++++--
drivers/iio/temperature/ltc2983.c | 13 +++++++++----
drivers/iio/temperature/mlx90632.c | 8 ++++++--
drivers/iio/temperature/mlx90635.c | 8 ++++++--
drivers/iio/temperature/tmp117.c | 8 ++++----
drivers/iio/temperature/tsys01.c | 15 +++++++++------
drivers/iio/temperature/tsys02d.c | 12 ++++++++----
7 files changed, 49 insertions(+), 24 deletions(-)
---
base-commit: 350d1fb9204b13c5f95e511e98b8bcb47574d425
change-id: 20260821-kernel-header-removal-d95efd197d78
Best regards,
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 01/14] iio: temperature: iqs620at-temp: separate IIO header from others
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 02/14] iio: temperature: iqs620at-temp: make headers conform to IWYU Joshua Crofts
` (13 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Separate the <linux/iio/iio.h> header from the other generic
<linux/*> headers to comply with the IIO style.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--git a/drivers/iio/temperature/iqs620at-temp.c b/drivers/iio/temperature/iqs620at-temp.c
index e2f878d57af7..24b4d50740f3 100644
--- a/drivers/iio/temperature/iqs620at-temp.c
+++ b/drivers/iio/temperature/iqs620at-temp.c
@@ -6,13 +6,14 @@
*/
#include <linux/device.h>
-#include <linux/iio/iio.h>
#include <linux/kernel.h>
#include <linux/mfd/iqs62x.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
+#include <linux/iio/iio.h>
+
#define IQS620_TEMP_UI_OUT 0x1A
#define IQS620_TEMP_SCALE 1000
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 02/14] iio: temperature: iqs620at-temp: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 01/14] iio: temperature: iqs620at-temp: separate IIO header from others Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 03/14] iio: temperature: ltc2983: reorder headers Joshua Crofts
` (12 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header and add the missing headers to
enforce IWYU.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <asm/byteorder.h>: for endianness helpers
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/bits.h>: for GENMASK() and BIT() macros
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/kernel.h>: catch-all header no longer needed
---
| 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--git a/drivers/iio/temperature/iqs620at-temp.c b/drivers/iio/temperature/iqs620at-temp.c
index 24b4d50740f3..3a3b1f256585 100644
--- a/drivers/iio/temperature/iqs620at-temp.c
+++ b/drivers/iio/temperature/iqs620at-temp.c
@@ -5,12 +5,16 @@
* Copyright (C) 2019 Jeff LaBundy <jeff@labundy.com>
*/
+#include <linux/array_size.h>
+#include <linux/bits.h>
#include <linux/device.h>
-#include <linux/kernel.h>
#include <linux/mfd/iqs62x.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
+#include <linux/types.h>
+
+#include <asm/byteorder.h>
#include <linux/iio/iio.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 03/14] iio: temperature: ltc2983: reorder headers
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 01/14] iio: temperature: iqs620at-temp: separate IIO header from others Joshua Crofts
2026-08-22 8:02 ` [PATCH 02/14] iio: temperature: iqs620at-temp: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
` (11 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Separate the IIO specific header and group unaligned.h with the other
generic <linux/*> headers.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
index 6efb5252a773..fe9eec3058d4 100644
--- a/drivers/iio/temperature/ltc2983.c
+++ b/drivers/iio/temperature/ltc2983.c
@@ -11,7 +11,6 @@
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/kernel.h>
-#include <linux/iio/iio.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/module.h>
@@ -19,9 +18,11 @@
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>
+#include <linux/unaligned.h>
#include <asm/byteorder.h>
-#include <linux/unaligned.h>
+
+#include <linux/iio/iio.h>
/* register map */
#define LTC2983_STATUS_REG 0x0000
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (2 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 03/14] iio: temperature: ltc2983: reorder headers Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-23 17:52 ` Jonathan Cameron
2026-08-22 8:02 ` [PATCH 05/14] iio: temperature: mlx90632: sort headers alphabetically Joshua Crofts
` (10 subsequent siblings)
14 siblings, 1 reply; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header and add the missing headers to
enforce IWYU.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <asm/div64.h>: for div64 functions
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/bits.h>: for GENMASK() and BIT() macros
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/errno.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
---
| 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
index fe9eec3058d4..0b1b442bb133 100644
--- a/drivers/iio/temperature/ltc2983.c
+++ b/drivers/iio/temperature/ltc2983.c
@@ -5,22 +5,26 @@
*
* Copyright 2019 Analog Devices Inc.
*/
+
+#include <linux/array_size.h>
#include <linux/bitfield.h>
+#include <linux/bits.h>
#include <linux/completion.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/errno.h>
-#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>
+#include <linux/types.h>
#include <linux/unaligned.h>
#include <asm/byteorder.h>
+#include <asm/div64.h>
#include <linux/iio/iio.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 05/14] iio: temperature: mlx90632: sort headers alphabetically
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (3 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-23 17:54 ` Jonathan Cameron
2026-08-22 8:02 ` [PATCH 06/14] iio: temperature: mlx90632: make headers conform to IWYU Joshua Crofts
` (9 subsequent siblings)
14 siblings, 1 reply; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Sort headers alphabetically to improve readability.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
index 2fde48f337e2..73c935364d33 100644
--- a/drivers/iio/temperature/mlx90632.c
+++ b/drivers/iio/temperature/mlx90632.c
@@ -16,8 +16,8 @@
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/limits.h>
-#include <linux/module.h>
#include <linux/math64.h>
+#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 06/14] iio: temperature: mlx90632: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (4 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 05/14] iio: temperature: mlx90632: sort headers alphabetically Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 07/14] iio: temperature: mlx90635: sort headers alphabetically Joshua Crofts
` (8 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header and add the missing headers to
enforce IWYU.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/bits.h>: for GENMASK() and BIT() macros
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/kernel.h>: catch-all header no longer needed
---
| 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
index 73c935364d33..bca31c4bef00 100644
--- a/drivers/iio/temperature/mlx90632.c
+++ b/drivers/iio/temperature/mlx90632.c
@@ -6,7 +6,10 @@
*
* Driver for the Melexis MLX90632 I2C 16-bit IR thermopile sensor
*/
+
+#include <linux/array_size.h>
#include <linux/bitfield.h>
+#include <linux/bits.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
@@ -14,13 +17,14 @@
#include <linux/i2c.h>
#include <linux/iopoll.h>
#include <linux/jiffies.h>
-#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/math64.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 07/14] iio: temperature: mlx90635: sort headers alphabetically
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (5 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 06/14] iio: temperature: mlx90632: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 08/14] iio: temperature: mlx90635: make headers conform to IWYU Joshua Crofts
` (7 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Sort the headers alphabetically to improve readability.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
index 0f31879a4f64..ecff00634271 100644
--- a/drivers/iio/temperature/mlx90635.c
+++ b/drivers/iio/temperature/mlx90635.c
@@ -16,8 +16,8 @@
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/limits.h>
-#include <linux/module.h>
#include <linux/math64.h>
+#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 08/14] iio: temperature: mlx90635: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (6 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 07/14] iio: temperature: mlx90635: sort headers alphabetically Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 09/14] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
` (6 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header and add the missing headers to
enforce IWYU.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/bits.h>: for GENMASK() and BIT() macros
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/kernel.h>: catch-all header no longer needed
---
| 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
index ecff00634271..b3fa2c8f566a 100644
--- a/drivers/iio/temperature/mlx90635.c
+++ b/drivers/iio/temperature/mlx90635.c
@@ -6,7 +6,10 @@
*
* Driver for the Melexis MLX90635 I2C 16-bit IR thermopile sensor
*/
+
+#include <linux/array_size.h>
#include <linux/bitfield.h>
+#include <linux/bits.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
@@ -14,13 +17,14 @@
#include <linux/i2c.h>
#include <linux/iopoll.h>
#include <linux/jiffies.h>
-#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/math64.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 09/14] iio: temperature: tmp117: sort headers alphabetically
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (7 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 08/14] iio: temperature: mlx90635: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 10/14] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
` (5 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Sort the headers alphabetically to improve readability.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 74cb8d62bef3..fed8af2d81eb 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -10,16 +10,16 @@
*/
#include <linux/array_size.h>
+#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/i2c.h>
-#include <linux/module.h>
-#include <linux/bitops.h>
-#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/limits.h>
+#include <linux/module.h>
#include <linux/property.h>
#include <linux/regulator/consumer.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 10/14] iio: temperature: tmp117: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (8 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 09/14] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 11/14] iio: temperature: tsys01: reorder headers Joshua Crofts
` (4 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header and add the missing
<linux/dev_printk.h> header to enforce IWYU.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <linux/dev_printk.h>: for dev_err(), dev_info(), etc.
Removed:
- <linux/kernel.h>: catch-all header no longer needed
---
| 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index fed8af2d81eb..2caab0624a23 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -12,9 +12,9 @@
#include <linux/array_size.h>
#include <linux/bitops.h>
#include <linux/delay.h>
+#include <linux/dev_printk.h>
#include <linux/err.h>
#include <linux/i2c.h>
-#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/module.h>
#include <linux/property.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 11/14] iio: temperature: tsys01: reorder headers
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (9 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 10/14] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-23 17:58 ` Jonathan Cameron
2026-08-22 8:02 ` [PATCH 12/14] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
` (3 subsequent siblings)
14 siblings, 1 reply; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Sort the headers alphabetically and group the IIO headers and vendor
specific header separately.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
--git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
index 28b3ce022ce7..14de67ee8be7 100644
--- a/drivers/iio/temperature/tsys01.c
+++ b/drivers/iio/temperature/tsys01.c
@@ -8,14 +8,16 @@
* http://www.meas-spec.com/downloads/TSYS01_Digital_Temperature_Sensor.pdf
*/
-#include <linux/iio/iio.h>
-#include <linux/iio/sysfs.h>
#include <linux/device.h>
-#include <linux/mutex.h>
-#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/stat.h>
+
+#include <linux/iio/iio.h>
+#include <linux/iio/sysfs.h>
+
#include "../common/ms_sensors/ms_sensors_i2c.h"
/* TSYS01 Commands */
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 12/14] iio: temperature: tsys01: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (10 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 11/14] iio: temperature: tsys01: reorder headers Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 13/14] iio: temperature: tsys02d: reorder headers Joshua Crofts
` (2 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header, add missing headers and remove
unused headers.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/dev_printk.h>: for dev_err(), dev_info(), etc.
- <linux/i2c.h>: for i2c_client and i2c_device_id
- <linux/math64.h>: for div64 functions
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/device.h>: not directly used in this driver
- <linux/init.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
- <linux/stat.h>: not directly used in this driver
---
| 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
--git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
index 14de67ee8be7..4b8c2a3287fc 100644
--- a/drivers/iio/temperature/tsys01.c
+++ b/drivers/iio/temperature/tsys01.c
@@ -8,12 +8,13 @@
* http://www.meas-spec.com/downloads/TSYS01_Digital_Temperature_Sensor.pdf
*/
-#include <linux/device.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
+#include <linux/array_size.h>
+#include <linux/dev_printk.h>
+#include <linux/i2c.h>
+#include <linux/math64.h>
#include <linux/module.h>
#include <linux/mutex.h>
-#include <linux/stat.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 13/14] iio: temperature: tsys02d: reorder headers
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (11 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 12/14] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 14/14] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
2026-08-22 8:17 ` [PATCH 00/14] iio: temperature: " Joshua Crofts
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Sort the headers alphabetically and group the IIO specific headers
separately.
No functional change.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
| 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/tsys02d.c b/drivers/iio/temperature/tsys02d.c
index 3ef72347456e..377e27b45fdd 100644
--- a/drivers/iio/temperature/tsys02d.c
+++ b/drivers/iio/temperature/tsys02d.c
@@ -10,11 +10,12 @@
* http://www.meas-spec.com/downloads/Digital_Sensor_TSYS02D.pdf
*/
-#include <linux/init.h>
#include <linux/device.h>
+#include <linux/init.h>
#include <linux/kernel.h>
-#include <linux/stat.h>
#include <linux/module.h>
+#include <linux/stat.h>
+
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 14/14] iio: temperature: tsys02d: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (12 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 13/14] iio: temperature: tsys02d: reorder headers Joshua Crofts
@ 2026-08-22 8:02 ` Joshua Crofts
2026-08-22 8:17 ` [PATCH 00/14] iio: temperature: " Joshua Crofts
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:02 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel, Joshua Crofts
Remove the catch-all kernel.h header, add missing headers and remove
unused headers.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/bits.h>: for GENMASK() and BIT() macros
- <linux/dev_printk.h>: for dev_err(), dev_info(), etc.
- <linux/i2c.h>: for i2c_client and i2c_device_id
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/device.h>: not directly used in this driver
- <linux/init.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
---
| 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--git a/drivers/iio/temperature/tsys02d.c b/drivers/iio/temperature/tsys02d.c
index 377e27b45fdd..9fa803bec92c 100644
--- a/drivers/iio/temperature/tsys02d.c
+++ b/drivers/iio/temperature/tsys02d.c
@@ -10,11 +10,14 @@
* http://www.meas-spec.com/downloads/Digital_Sensor_TSYS02D.pdf
*/
-#include <linux/device.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
+#include <linux/array_size.h>
+#include <linux/bits.h>
+#include <linux/dev_printk.h>
+#include <linux/i2c.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/stat.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 00/14] iio: temperature: make headers conform to IWYU
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
` (13 preceding siblings ...)
2026-08-22 8:02 ` [PATCH 14/14] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
@ 2026-08-22 8:17 ` Joshua Crofts
14 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-22 8:17 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel
On Sat, 22 Aug 2026 10:02:27 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> This series removes any instances of kernel.h in the temperature/
> subdirectory and cleans up the headers in order to improve readability
> and enforce IYWU instead of relying on transitive dependencies during
> the build process.
>
> I had Gemini generate a summary (a bit more verbose) of changed headers
> under the --- in each IWYU patch to improve the review process.
>
> This is part of an ongoing effort to remove kernel.h entirely from IIO.
>
Okay, initial Sashiko review came back and I've missed a couple more
headers... will have to send a v2.
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU
2026-08-22 8:02 ` [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
@ 2026-08-23 17:52 ` Jonathan Cameron
2026-08-24 8:27 ` Andy Shevchenko
0 siblings, 1 reply; 21+ messages in thread
From: Jonathan Cameron @ 2026-08-23 17:52 UTC (permalink / raw)
To: Joshua Crofts
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Crt Mori,
Puranjay Mohan, linux-iio, linux-kernel
On Sat, 22 Aug 2026 10:02:31 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> Remove the catch-all kernel.h header and add the missing headers to
> enforce IWYU.
>
> Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
> ---
> Header changes explained:
> Added:
> - <asm/div64.h>: for div64 functions
> - <linux/array_size.h>: for ARRAY_SIZE()
> - <linux/bits.h>: for GENMASK() and BIT() macros
> - <linux/mutex.h>: for struct mutex and mutex_lock/unlock
> - <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
> Removed:
> - <linux/errno.h>: not directly used in this driver
> - <linux/kernel.h>: catch-all header no longer needed
> ---
> drivers/iio/temperature/ltc2983.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
> index fe9eec3058d4..0b1b442bb133 100644
> --- a/drivers/iio/temperature/ltc2983.c
> +++ b/drivers/iio/temperature/ltc2983.c
> @@ -5,22 +5,26 @@
> *
> * Copyright 2019 Analog Devices Inc.
> */
> +
> +#include <linux/array_size.h>
> #include <linux/bitfield.h>
> +#include <linux/bits.h>
> #include <linux/completion.h>
> #include <linux/device.h>
> #include <linux/err.h>
> -#include <linux/errno.h>
> -#include <linux/kernel.h>
> #include <linux/interrupt.h>
> #include <linux/list.h>
> #include <linux/module.h>
> +#include <linux/mutex.h>
> #include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/regulator/consumer.h>
> #include <linux/spi/spi.h>
> +#include <linux/types.h>
> #include <linux/unaligned.h>
>
> #include <asm/byteorder.h>
> +#include <asm/div64.h>
I think we normally use linux/math64.h for that one.
>
> #include <linux/iio/iio.h>
>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 05/14] iio: temperature: mlx90632: sort headers alphabetically
2026-08-22 8:02 ` [PATCH 05/14] iio: temperature: mlx90632: sort headers alphabetically Joshua Crofts
@ 2026-08-23 17:54 ` Jonathan Cameron
0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2026-08-23 17:54 UTC (permalink / raw)
To: Joshua Crofts
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Crt Mori,
Puranjay Mohan, linux-iio, linux-kernel
On Sat, 22 Aug 2026 10:02:32 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> Sort headers alphabetically to improve readability.
Whilst I don't really mind these being separate patches the main motivation
for doing this is to make it easier to see what is added and removed in the
next patch. When only one or two entries move in the reorder it matters
a lot less. Upshot, you could combine this with the ones making actual
changes.
Jonathan
>
> No functional change.
>
> Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
> ---
> drivers/iio/temperature/mlx90632.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
> index 2fde48f337e2..73c935364d33 100644
> --- a/drivers/iio/temperature/mlx90632.c
> +++ b/drivers/iio/temperature/mlx90632.c
> @@ -16,8 +16,8 @@
> #include <linux/jiffies.h>
> #include <linux/kernel.h>
> #include <linux/limits.h>
> -#include <linux/module.h>
> #include <linux/math64.h>
> +#include <linux/module.h>
> #include <linux/pm_runtime.h>
> #include <linux/regmap.h>
> #include <linux/regulator/consumer.h>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 11/14] iio: temperature: tsys01: reorder headers
2026-08-22 8:02 ` [PATCH 11/14] iio: temperature: tsys01: reorder headers Joshua Crofts
@ 2026-08-23 17:58 ` Jonathan Cameron
0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2026-08-23 17:58 UTC (permalink / raw)
To: Joshua Crofts
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Crt Mori,
Puranjay Mohan, linux-iio, linux-kernel
On Sat, 22 Aug 2026 10:02:38 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> Sort the headers alphabetically and group the IIO headers and vendor
> specific header separately.
>
> No functional change.
>
> Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
Just as a reference - this level of reorder definitely wants to
be on its own as a separate patch as you have it here!
Jonathan
> ---
> drivers/iio/temperature/tsys01.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
> index 28b3ce022ce7..14de67ee8be7 100644
> --- a/drivers/iio/temperature/tsys01.c
> +++ b/drivers/iio/temperature/tsys01.c
> @@ -8,14 +8,16 @@
> * http://www.meas-spec.com/downloads/TSYS01_Digital_Temperature_Sensor.pdf
> */
>
> -#include <linux/iio/iio.h>
> -#include <linux/iio/sysfs.h>
> #include <linux/device.h>
> -#include <linux/mutex.h>
> -#include <linux/module.h>
> #include <linux/init.h>
> #include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/mutex.h>
> #include <linux/stat.h>
> +
> +#include <linux/iio/iio.h>
> +#include <linux/iio/sysfs.h>
> +
> #include "../common/ms_sensors/ms_sensors_i2c.h"
>
> /* TSYS01 Commands */
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU
2026-08-23 17:52 ` Jonathan Cameron
@ 2026-08-24 8:27 ` Andy Shevchenko
2026-08-24 8:36 ` Joshua Crofts
0 siblings, 1 reply; 21+ messages in thread
From: Andy Shevchenko @ 2026-08-24 8:27 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Joshua Crofts, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan, linux-iio, linux-kernel
On Sun, Aug 23, 2026 at 06:52:19PM +0100, Jonathan Cameron wrote:
> On Sat, 22 Aug 2026 10:02:31 +0200
> Joshua Crofts <joshua.crofts1@gmail.com> wrote:
...
> > +#include <asm/div64.h>
>
> I think we normally use linux/math64.h for that one.
Right, the rule of thumb is to prefer linux/*.h over asm/*.h in the C files
like mere drivers.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU
2026-08-24 8:27 ` Andy Shevchenko
@ 2026-08-24 8:36 ` Joshua Crofts
0 siblings, 0 replies; 21+ messages in thread
From: Joshua Crofts @ 2026-08-24 8:36 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan, linux-iio, linux-kernel
On Mon, 24 Aug 2026 11:27:12 +0300
Andy Shevchenko <andriy.shevchenko@intel.com> wrote:
> On Sun, Aug 23, 2026 at 06:52:19PM +0100, Jonathan Cameron wrote:
> > On Sat, 22 Aug 2026 10:02:31 +0200
> > Joshua Crofts <joshua.crofts1@gmail.com> wrote:
>
> ...
>
> > > +#include <asm/div64.h>
> >
> > I think we normally use linux/math64.h for that one.
>
> Right, the rule of thumb is to prefer linux/*.h over asm/*.h in the C files
> like mere drivers.
>
>
I was working on some driver that had asm/div64.h so it just stuck.
Will replace this.
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2026-08-24 8:36 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-22 8:02 [PATCH 00/14] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 01/14] iio: temperature: iqs620at-temp: separate IIO header from others Joshua Crofts
2026-08-22 8:02 ` [PATCH 02/14] iio: temperature: iqs620at-temp: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 03/14] iio: temperature: ltc2983: reorder headers Joshua Crofts
2026-08-22 8:02 ` [PATCH 04/14] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
2026-08-23 17:52 ` Jonathan Cameron
2026-08-24 8:27 ` Andy Shevchenko
2026-08-24 8:36 ` Joshua Crofts
2026-08-22 8:02 ` [PATCH 05/14] iio: temperature: mlx90632: sort headers alphabetically Joshua Crofts
2026-08-23 17:54 ` Jonathan Cameron
2026-08-22 8:02 ` [PATCH 06/14] iio: temperature: mlx90632: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 07/14] iio: temperature: mlx90635: sort headers alphabetically Joshua Crofts
2026-08-22 8:02 ` [PATCH 08/14] iio: temperature: mlx90635: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 09/14] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
2026-08-22 8:02 ` [PATCH 10/14] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 11/14] iio: temperature: tsys01: reorder headers Joshua Crofts
2026-08-23 17:58 ` Jonathan Cameron
2026-08-22 8:02 ` [PATCH 12/14] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
2026-08-22 8:02 ` [PATCH 13/14] iio: temperature: tsys02d: reorder headers Joshua Crofts
2026-08-22 8:02 ` [PATCH 14/14] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
2026-08-22 8:17 ` [PATCH 00/14] iio: temperature: " Joshua Crofts
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).