* [PATCH v2 01/11] iio: temperature: iqs620at-temp: make headers conform to IWYU
2026-08-29 16:25 Joshua Crofts
@ 2026-08-29 16:25 ` Joshua Crofts
0 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:25 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.
Additionally, separate the IIO specific header from the generic
<linux/*> headers.
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
---
| 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/iqs620at-temp.c b/drivers/iio/temperature/iqs620at-temp.c
index e2f878d57af7..3a3b1f256585 100644
--- a/drivers/iio/temperature/iqs620at-temp.c
+++ b/drivers/iio/temperature/iqs620at-temp.c
@@ -5,13 +5,18 @@
* Copyright (C) 2019 Jeff LaBundy <jeff@labundy.com>
*/
+#include <linux/array_size.h>
+#include <linux/bits.h>
#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/types.h>
+
+#include <asm/byteorder.h>
+
+#include <linux/iio/iio.h>
#define IQS620_TEMP_UI_OUT 0x1A
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 00/11] iio: temperature: make headers conform to IWYU
@ 2026-08-31 21:13 Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
` (11 more replies)
0 siblings, 12 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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>
---
Changes in v2:
- Add missing headers pointed out by Sashiko.
- Swap <asm/div64.h> for <linux/math64.h> (Jonathan, Andy).
- Squash small reordering patches with iwyu changes.
- Link to v1: https://lore.kernel.org/r/20260822-kernel-header-removal-v1-0-ee31b124be11@gmail.com
---
Joshua Crofts (11):
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: make headers conform to IWYU
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 | 19 +++++++++++++++----
drivers/iio/temperature/mlx90632.c | 10 +++++++---
drivers/iio/temperature/mlx90635.c | 11 +++++++----
drivers/iio/temperature/tmp117.c | 9 +++++----
drivers/iio/temperature/tsys01.c | 17 +++++++++++------
drivers/iio/temperature/tsys02d.c | 12 +++++++++---
7 files changed, 61 insertions(+), 26 deletions(-)
---
base-commit: 350d1fb9204b13c5f95e511e98b8bcb47574d425
change-id: 20260821-kernel-header-removal-d95efd197d78
Best regards,
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 01/11] iio: temperature: iqs620at-temp: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers Joshua Crofts
` (10 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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.
Additionally, separate the IIO specific header from the generic
<linux/*> headers.
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
---
| 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/iqs620at-temp.c b/drivers/iio/temperature/iqs620at-temp.c
index e2f878d57af7..3a3b1f256585 100644
--- a/drivers/iio/temperature/iqs620at-temp.c
+++ b/drivers/iio/temperature/iqs620at-temp.c
@@ -5,13 +5,18 @@
* Copyright (C) 2019 Jeff LaBundy <jeff@labundy.com>
*/
+#include <linux/array_size.h>
+#include <linux/bits.h>
#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/types.h>
+
+#include <asm/byteorder.h>
+
+#include <linux/iio/iio.h>
#define IQS620_TEMP_UI_OUT 0x1A
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
` (9 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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] 15+ messages in thread
* [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 04/11] iio: temperature: mlx90632: " Joshua Crofts
` (8 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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 (some standard headers are already include subheaders,
i.e. errno.h is included by err.h).
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
---
Header changes explained:
Added:
- <linux/array_size.h>: for ARRAY_SIZE()
- <linux/bitops.h>: for bitwise operations
- <linux/container_of.h>: for container_of macro
- <linux/delay.h>: for usleep_range()
- <linux/gpio/consumer.h>: for GPIO functions
- <linux/math64.h>: for div64 functions
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/pm_runtime.h>: for DEFINE_SIMPLE_DEV_PM_OPS
- <linux/slab.h>: for memory allocation
- <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
---
| 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
index fe9eec3058d4..6655453c9abf 100644
--- a/drivers/iio/temperature/ltc2983.c
+++ b/drivers/iio/temperature/ltc2983.c
@@ -5,19 +5,29 @@
*
* Copyright 2019 Analog Devices Inc.
*/
+
+#include <linux/array_size.h>
#include <linux/bitfield.h>
+#include <linux/bitops.h>
#include <linux/completion.h>
+#include <linux/container_of.h>
+#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/errno.h>
-#include <linux/kernel.h>
+#include <linux/gpio/consumer.h>
#include <linux/interrupt.h>
#include <linux/list.h>
+#include <linux/math64.h>
#include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/pm_runtime.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
+#include <linux/slab.h>
#include <linux/spi/spi.h>
+#include <linux/string.h>
+#include <linux/types.h>
#include <linux/unaligned.h>
#include <asm/byteorder.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 04/11] iio: temperature: mlx90632: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (2 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 05/11] iio: temperature: mlx90635: " Joshua Crofts
` (7 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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.
Additionally, sort the entries alphabetically.
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/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/gpio/consumer.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
---
| 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--git a/drivers/iio/temperature/mlx90632.c b/drivers/iio/temperature/mlx90632.c
index 2fde48f337e2..74ae36f74e8b 100644
--- a/drivers/iio/temperature/mlx90632.c
+++ b/drivers/iio/temperature/mlx90632.c
@@ -6,21 +6,25 @@
*
* 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/dev_printk.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/iopoll.h>
#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/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] 15+ messages in thread
* [PATCH v2 05/11] iio: temperature: mlx90635: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (3 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 04/11] iio: temperature: mlx90632: " Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
` (6 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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.
Additionally, sort the headers alphabetically.
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/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/gpio/consumer.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
- <linux/limits.h>: not directly used in this driver
---
| 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
--git a/drivers/iio/temperature/mlx90635.c b/drivers/iio/temperature/mlx90635.c
index 0f31879a4f64..48c760c980f3 100644
--- a/drivers/iio/temperature/mlx90635.c
+++ b/drivers/iio/temperature/mlx90635.c
@@ -6,21 +6,24 @@
*
* 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/dev_printk.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/iopoll.h>
#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/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] 15+ messages in thread
* [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (4 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 05/11] iio: temperature: mlx90635: " Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
` (5 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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] 15+ messages in thread
* [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (5 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 08/11] iio: temperature: tsys01: reorder headers Joshua Crofts
` (4 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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.
- <linux/minmax.h>: for min/max limit macros
Removed:
- <linux/kernel.h>: catch-all header no longer needed
---
| 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index fed8af2d81eb..25bc98e64e48 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -12,10 +12,11 @@
#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/minmax.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regulator/consumer.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 08/11] iio: temperature: tsys01: reorder headers
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (6 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
` (3 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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] 15+ messages in thread
* [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (7 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 08/11] iio: temperature: tsys01: reorder headers Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers Joshua Crofts
` (2 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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 BIT()
- <linux/device.h>: for struct device
- <linux/i2c.h>: for i2c_client and i2c_device_id
- <linux/math64.h>: for div64 functions
- <linux/sprintf.h>: for sprintf functions
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/init.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
- <linux/property.h>: not directly used in this driver
- <linux/stat.h>: not directly used in this driver
---
| 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
index 14de67ee8be7..b19b4a3ef038 100644
--- a/drivers/iio/temperature/tsys01.c
+++ b/drivers/iio/temperature/tsys01.c
@@ -8,12 +8,15 @@
* http://www.meas-spec.com/downloads/TSYS01_Digital_Temperature_Sensor.pdf
*/
+#include <linux/array_size.h>
+#include <linux/bits.h>
#include <linux/device.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
+#include <linux/i2c.h>
+#include <linux/math64.h>
#include <linux/module.h>
#include <linux/mutex.h>
-#include <linux/stat.h>
+#include <linux/sprintf.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (8 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
2026-09-01 5:09 ` [PATCH v2 00/11] iio: temperature: " Joshua Crofts
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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] 15+ messages in thread
* [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (9 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers Joshua Crofts
@ 2026-08-31 21:13 ` Joshua Crofts
2026-09-01 5:09 ` [PATCH v2 00/11] iio: temperature: " Joshua Crofts
11 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-08-31 21:13 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/i2c.h>: for i2c_client and i2c_device_id
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <linux/sysfs.h>: for sysfs API
- <linux/types.h>: for fixed-width integer types (u8, u16, etc.)
Removed:
- <linux/init.h>: not directly used in this driver
- <linux/kernel.h>: catch-all header no longer needed
---
| 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--git a/drivers/iio/temperature/tsys02d.c b/drivers/iio/temperature/tsys02d.c
index 377e27b45fdd..2c67faebd90c 100644
--- a/drivers/iio/temperature/tsys02d.c
+++ b/drivers/iio/temperature/tsys02d.c
@@ -10,11 +10,16 @@
* http://www.meas-spec.com/downloads/Digital_Sensor_TSYS02D.pdf
*/
+#include <linux/array_size.h>
+#include <linux/bits.h>
+#include <linux/dev_printk.h>
#include <linux/device.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
+#include <linux/i2c.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/stat.h>
+#include <linux/sysfs.h>
+#include <linux/types.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.55.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 00/11] iio: temperature: make headers conform to IWYU
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
` (10 preceding siblings ...)
2026-08-31 21:13 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
@ 2026-09-01 5:09 ` Joshua Crofts
2026-09-01 7:55 ` Joshua Crofts
11 siblings, 1 reply; 15+ messages in thread
From: Joshua Crofts @ 2026-09-01 5:09 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel
On Mon, 31 Aug 2026 at 23:13, 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.
>
> Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
> ---
> Changes in v2:
> - Add missing headers pointed out by Sashiko.
> - Swap <asm/div64.h> for <linux/math64.h> (Jonathan, Andy).
> - Squash small reordering patches with iwyu changes.
> - Link to v1: https://lore.kernel.org/r/20260822-kernel-header-removal-v1-0-ee31b124be11@gmail.com
>
> ---
> Joshua Crofts (11):
> 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: make headers conform to IWYU
> 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 | 19 +++++++++++++++----
> drivers/iio/temperature/mlx90632.c | 10 +++++++---
> drivers/iio/temperature/mlx90635.c | 11 +++++++----
> drivers/iio/temperature/tmp117.c | 9 +++++----
> drivers/iio/temperature/tsys01.c | 17 +++++++++++------
> drivers/iio/temperature/tsys02d.c | 12 +++++++++---
> 7 files changed, 61 insertions(+), 26 deletions(-)
> ---
I seem to be having b4 issues as this sent v2 again with the same
mistakes?
--
Kind regards
CJD
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 00/11] iio: temperature: make headers conform to IWYU
2026-09-01 5:09 ` [PATCH v2 00/11] iio: temperature: " Joshua Crofts
@ 2026-09-01 7:55 ` Joshua Crofts
0 siblings, 0 replies; 15+ messages in thread
From: Joshua Crofts @ 2026-09-01 7:55 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Crt Mori, Puranjay Mohan
Cc: linux-iio, linux-kernel
On Tue, 1 Sept 2026 at 07:09, Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> > Changes in v2:
> > - Add missing headers pointed out by Sashiko.
> > - Swap <asm/div64.h> for <linux/math64.h> (Jonathan, Andy).
> > - Squash small reordering patches with iwyu changes.
> > - Link to v1: https://lore.kernel.org/r/20260822-kernel-header-removal-v1-0-ee31b124be11@gmail.com
> >
> > ---
> > Joshua Crofts (11):
> > 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: make headers conform to IWYU
> > 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 | 19 +++++++++++++++----
> > drivers/iio/temperature/mlx90632.c | 10 +++++++---
> > drivers/iio/temperature/mlx90635.c | 11 +++++++----
> > drivers/iio/temperature/tmp117.c | 9 +++++----
> > drivers/iio/temperature/tsys01.c | 17 +++++++++++------
> > drivers/iio/temperature/tsys02d.c | 12 +++++++++---
> > 7 files changed, 61 insertions(+), 26 deletions(-)
> > ---
>
> I seem to be having b4 issues as this sent v2 again with the same
> mistakes?
Okay, never mind. b4 did send the right series but forgot to bump the version
number up.
Anyway, some Sashiko remarks - just commit message issues (forgot to update
some headers under the ---) + one remark about me including slab.h for
GFP_KERNEL, but I suppose I could change this to gfp_types.h instead.
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-09-01 7:55 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-31 21:13 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 04/11] iio: temperature: mlx90632: " Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 05/11] iio: temperature: mlx90635: " Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 08/11] iio: temperature: tsys01: reorder headers Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers Joshua Crofts
2026-08-31 21:13 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
2026-09-01 5:09 ` [PATCH v2 00/11] iio: temperature: " Joshua Crofts
2026-09-01 7:55 ` Joshua Crofts
-- strict thread matches above, loose matches on Subject: below --
2026-08-29 16:25 Joshua Crofts
2026-08-29 16:25 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox