mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 00/11] iio: temperature: make headers conform to IWYU
@ 2026-08-29 16:25 Joshua Crofts
  2026-08-29 16:25 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ 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

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       | 15 +++++++++++----
 drivers/iio/temperature/mlx90632.c      | 10 +++++++---
 drivers/iio/temperature/mlx90635.c      | 11 +++++++----
 drivers/iio/temperature/tmp117.c        | 10 +++++-----
 drivers/iio/temperature/tsys01.c        | 16 ++++++++++------
 drivers/iio/temperature/tsys02d.c       | 11 ++++++++---
 7 files changed, 55 insertions(+), 27 deletions(-)
---
base-commit: 350d1fb9204b13c5f95e511e98b8bcb47574d425
change-id: 20260821-kernel-header-removal-d95efd197d78

Best regards,
-- 
Kind regards,
Joshua Crofts


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v2 01/11] iio: temperature: iqs620at-temp: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 16:25 ` Joshua Crofts
  2026-08-29 16:25 ` [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers Joshua Crofts
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 18+ 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
---
 drivers/iio/temperature/iqs620at-temp.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
  2026-08-29 16:25 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
@ 2026-08-29 16:25 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 18+ 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

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>
---
 drivers/iio/temperature/ltc2983.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
  2026-08-29 16:25 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
  2026-08-29 16:25 ` [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 17:57   ` Jonathan Cameron
  2026-08-29 16:26 ` [PATCH v2 04/11] iio: temperature: mlx90632: " Joshua Crofts
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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/bitops.h>: for bitwise operations
- <linux/container_of.h>: for container_of macro
- <linux/dev_printk.h>: for dev_err(), dev_info(), etc.
- <linux/math64.h>: for div64 functions
- <linux/mutex.h>: for struct mutex and mutex_lock/unlock
- <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
---
 drivers/iio/temperature/ltc2983.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
index fe9eec3058d4..b8deb9aa9d48 100644
--- a/drivers/iio/temperature/ltc2983.c
+++ b/drivers/iio/temperature/ltc2983.c
@@ -5,19 +5,26 @@
  *
  * 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/dev_printk.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/math64.h>
 #include <linux/module.h>
+#include <linux/mutex.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/types.h>
 #include <linux/unaligned.h>
 
 #include <asm/byteorder.h>

-- 
2.55.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v2 04/11] iio: temperature: mlx90632: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (2 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 05/11] iio: temperature: mlx90635: " Joshua Crofts
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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
---
 drivers/iio/temperature/mlx90632.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 05/11] iio: temperature: mlx90635: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (3 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 04/11] iio: temperature: mlx90632: " Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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
---
 drivers/iio/temperature/mlx90635.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (4 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 05/11] iio: temperature: mlx90635: " Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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>
---
 drivers/iio/temperature/tmp117.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (5 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 08/11] iio: temperature: tsys01: reorder headers Joshua Crofts
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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
---
 drivers/iio/temperature/tmp117.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 08/11] iio: temperature: tsys01: reorder headers
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (6 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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>
---
 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 */

-- 
2.55.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (7 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 08/11] iio: temperature: tsys01: reorder headers Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 17:57   ` Jonathan Cameron
  2026-08-29 16:26 ` [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
  10 siblings, 1 reply; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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/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
---
 drivers/iio/temperature/tmp117.c |  3 +--
 drivers/iio/temperature/tsys01.c | 10 ++++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 25bc98e64e48..96252627613f 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -12,13 +12,12 @@
 #include <linux/array_size.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
-#include <linux/dev_printk.h>
+#include <linux/device.h>
 #include <linux/err.h>
 #include <linux/i2c.h>
 #include <linux/limits.h>
 #include <linux/minmax.h>
 #include <linux/module.h>
-#include <linux/property.h>
 #include <linux/regulator/consumer.h>
 #include <linux/types.h>
 
diff --git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
index 14de67ee8be7..3c1f5b6ac156 100644
--- a/drivers/iio/temperature/tsys01.c
+++ b/drivers/iio/temperature/tsys01.c
@@ -8,12 +8,14 @@
  *  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/sprintf.h>
+#include <linux/types.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>

-- 
2.55.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (8 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:26 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
  10 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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>
---
 drivers/iio/temperature/tsys02d.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --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	[flat|nested] 18+ messages in thread

* [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU
  2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
                   ` (9 preceding siblings ...)
  2026-08-29 16:26 ` [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers Joshua Crofts
@ 2026-08-29 16:26 ` Joshua Crofts
  2026-08-29 16:36   ` Joshua Crofts
  10 siblings, 1 reply; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:26 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
---
 drivers/iio/temperature/ltc2983.c | 1 -
 drivers/iio/temperature/tsys02d.c | 8 ++++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
index b8deb9aa9d48..6c4de6854683 100644
--- a/drivers/iio/temperature/ltc2983.c
+++ b/drivers/iio/temperature/ltc2983.c
@@ -11,7 +11,6 @@
 #include <linux/bitops.h>
 #include <linux/completion.h>
 #include <linux/container_of.h>
-#include <linux/dev_printk.h>
 #include <linux/device.h>
 #include <linux/err.h>
 #include <linux/interrupt.h>
diff --git a/drivers/iio/temperature/tsys02d.c b/drivers/iio/temperature/tsys02d.c
index 377e27b45fdd..4946d0b14632 100644
--- a/drivers/iio/temperature/tsys02d.c
+++ b/drivers/iio/temperature/tsys02d.c
@@ -10,11 +10,15 @@
  *  http://www.meas-spec.com/downloads/Digital_Sensor_TSYS02D.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/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	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU
  2026-08-29 16:26 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 16:36   ` Joshua Crofts
  0 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 16:36 UTC (permalink / raw)
  To: Jonathan Cameron, David Lechner, Nuno Sá,
	Andy Shevchenko, Crt Mori, Puranjay Mohan
  Cc: linux-iio, linux-kernel

On Sat, 29 Aug 2026 18:26:08 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:

> 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
> ---
>  drivers/iio/temperature/ltc2983.c | 1 -
>  drivers/iio/temperature/tsys02d.c | 8 ++++++--
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
> index b8deb9aa9d48..6c4de6854683 100644
> --- a/drivers/iio/temperature/ltc2983.c
> +++ b/drivers/iio/temperature/ltc2983.c
> @@ -11,7 +11,6 @@
>  #include <linux/bitops.h>
>  #include <linux/completion.h>
>  #include <linux/container_of.h>
> -#include <linux/dev_printk.h>

Ugh, how did this stray change get in here? Must've been
a bad fixup...

-- 
Kind regards,
Joshua Crofts

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU
  2026-08-29 16:26 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 17:57   ` Jonathan Cameron
  2026-08-29 20:24     ` Joshua Crofts
  0 siblings, 1 reply; 18+ messages in thread
From: Jonathan Cameron @ 2026-08-29 17:57 UTC (permalink / raw)
  To: Joshua Crofts
  Cc: Jonathan Cameron, David Lechner, Nuno Sá,
	Andy Shevchenko, Crt Mori, Puranjay Mohan, linux-iio,
	linux-kernel

> Remove the catch-all kernel.h header and add the missing headers to
> enforce IWYU.

Sashiko correctly observed that this wasn't really IWYU.  So, to avoid
confusion we should be referring to something "approximate IWYU taking into
account some headers that always include others".

> 
> Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
>
> diff --git a/drivers/iio/temperature/ltc2983.c b/drivers/iio/temperature/ltc2983.c
> index fe9eec3058d4..b8deb9aa9d48 100644
> --- a/drivers/iio/temperature/ltc2983.c
> +++ b/drivers/iio/temperature/ltc2983.c
> @@ -5,19 +5,26 @@
>   *
>   * 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/dev_printk.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/math64.h>
>  #include <linux/module.h>
> +#include <linux/mutex.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/types.h>
>  #include <linux/unaligned.h>

There were a few other sashiko comments... 

  [Severity: Medium]
  To fully conform to IWYU, are there other missing headers that should be
  included here?

  For example, __ltc2983_custom_sensor_new() calls strcmp():

 	if ((index % 2) != 0 && !strcmp(propname, "adi,custom-leak-detector"))
 		temp = temp * 1000000 + 273150000;

  Does this require including <linux/string.h>?

Seems reasonable to me.  Why did you not include it?

  Similarly, ltc2983_probe() calls devm_gpiod_get_optional() and usleep_range():

 	gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
 	if (IS_ERR(gpio))
		return PTR_ERR(gpio);

 	usleep_range(1000, 1200);

  Would including <linux/gpio/consumer.h> and <linux/delay.h> be necessary
  here?

Both seem reasonable to me.


  Also, the ltc2983_pm_ops struct is defined using the DEFINE_SIMPLE_DEV_PM_OPS
  macro:

  static DEFINE_SIMPLE_DEV_PM_OPS(ltc2983_pm_ops, ltc2983_suspend,
  				ltc2983_resume);

  Does this macro require including <linux/pm.h>?


Also seems sensible.

-- 
Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU
  2026-08-29 16:26 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
@ 2026-08-29 17:57   ` Jonathan Cameron
  2026-08-29 18:09     ` Joshua Crofts
  0 siblings, 1 reply; 18+ messages in thread
From: Jonathan Cameron @ 2026-08-29 17:57 UTC (permalink / raw)
  To: Joshua Crofts
  Cc: Jonathan Cameron, David Lechner, Nuno Sá,
	Andy Shevchenko, Crt Mori, Puranjay Mohan, linux-iio,
	linux-kernel

> Remove the catch-all kernel.h header, add missing headers and remove

Seems some fixups in wrong patch as tmp117 stuff in here.

Sashiko shouted about that.

> unused headers.
> 
> Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
>
> diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
> index 25bc98e64e48..96252627613f 100644
> --- a/drivers/iio/temperature/tmp117.c
> +++ b/drivers/iio/temperature/tmp117.c
> @@ -12,13 +12,12 @@
>  #include <linux/array_size.h>
>  #include <linux/bitops.h>
>  #include <linux/delay.h>
> -#include <linux/dev_printk.h>
> +#include <linux/device.h>
>  #include <linux/err.h>
>  #include <linux/i2c.h>
>  #include <linux/limits.h>
>  #include <linux/minmax.h>
>  #include <linux/module.h>
> -#include <linux/property.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/types.h>
>  
> diff --git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
> index 14de67ee8be7..3c1f5b6ac156 100644
> --- a/drivers/iio/temperature/tsys01.c
> +++ b/drivers/iio/temperature/tsys01.c
> @@ -8,12 +8,14 @@
>   *  http://www.meas-spec.com/downloads/TSYS01_Digital_Temperature_Sensor.pdf
>   */
>  
> -#include <linux/device.h>

 | sashiko.dev <sashiko@sashiko.dev>:
 |
 | [Severity: Low]
 | Does removing <linux/device.h> contradict the Include What You Use principles
 | mentioned in the commit message?
 |
 | Looking at tsys01_probe(), it directly dereferences struct device and struct
 | device_driver:
 |
 | tsys01_probe() {
 |     ...
 |     indio_dev->name = dev->driver->name;

Looks valid to me.

 |     ...
 | }

Jonathan

-- 
Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU
  2026-08-29 17:57   ` Jonathan Cameron
@ 2026-08-29 18:09     ` Joshua Crofts
  0 siblings, 0 replies; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 18:09 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: David Lechner, Nuno Sá,
	Andy Shevchenko, Crt Mori, Puranjay Mohan, linux-iio,
	linux-kernel

On Sat, 29 Aug 2026 18:57:39 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> > Remove the catch-all kernel.h header, add missing headers and remove  
> 
> Seems some fixups in wrong patch as tmp117 stuff in here.
> 
> Sashiko shouted about that.

Yeah, must've been half asleep when I was squashing commits.

> 
> > unused headers.
> > 
> > Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
> >
> > diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
> > index 25bc98e64e48..96252627613f 100644
> > --- a/drivers/iio/temperature/tmp117.c
> > +++ b/drivers/iio/temperature/tmp117.c
> > @@ -12,13 +12,12 @@
> >  #include <linux/array_size.h>
> >  #include <linux/bitops.h>
> >  #include <linux/delay.h>
> > -#include <linux/dev_printk.h>
> > +#include <linux/device.h>
> >  #include <linux/err.h>
> >  #include <linux/i2c.h>
> >  #include <linux/limits.h>
> >  #include <linux/minmax.h>
> >  #include <linux/module.h>
> > -#include <linux/property.h>
> >  #include <linux/regulator/consumer.h>
> >  #include <linux/types.h>
> >  
> > diff --git a/drivers/iio/temperature/tsys01.c b/drivers/iio/temperature/tsys01.c
> > index 14de67ee8be7..3c1f5b6ac156 100644
> > --- a/drivers/iio/temperature/tsys01.c
> > +++ b/drivers/iio/temperature/tsys01.c
> > @@ -8,12 +8,14 @@
> >   *  http://www.meas-spec.com/downloads/TSYS01_Digital_Temperature_Sensor.pdf
> >   */
> >  
> > -#include <linux/device.h>  
> 
>  | sashiko.dev <sashiko@sashiko.dev>:
>  |
>  | [Severity: Low]
>  | Does removing <linux/device.h> contradict the Include What You Use principles
>  | mentioned in the commit message?
>  |
>  | Looking at tsys01_probe(), it directly dereferences struct device and struct
>  | device_driver:
>  |
>  | tsys01_probe() {
>  |     ...
>  |     indio_dev->name = dev->driver->name;
> 
> Looks valid to me.
> 
>  |     ...
>  | }
> 
> Jonathan
> 

Yep, all Sashiko issues addressed in my series locally, but I'll let this
sit for a while before resending.

-- 
Kind regards,
Joshua Crofts

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU
  2026-08-29 17:57   ` Jonathan Cameron
@ 2026-08-29 20:24     ` Joshua Crofts
  2026-08-29 23:48       ` Jonathan Cameron
  0 siblings, 1 reply; 18+ messages in thread
From: Joshua Crofts @ 2026-08-29 20:24 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: David Lechner, Nuno Sá,
	Andy Shevchenko, Crt Mori, Puranjay Mohan, linux-iio,
	linux-kernel

On Sat, 29 Aug 2026 at 19:57, Jonathan Cameron <jic23@kernel.org> wrote:
>
> > Remove the catch-all kernel.h header and add the missing headers to
> > enforce IWYU.
>
> Sashiko correctly observed that this wasn't really IWYU.  So, to avoid
> confusion we should be referring to something "approximate IWYU taking into
> account some headers that always include others".

On another note - since we paste Sashiko outputs regularly into patch reviews,
isn't it time to send a pull request to the Sashiko repo to Cc
linux-iio on reviews?
I remember the last email thread discussing this died out unfortunately :(

--
Kind regards,
Joshua Crofts

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU
  2026-08-29 20:24     ` Joshua Crofts
@ 2026-08-29 23:48       ` Jonathan Cameron
  0 siblings, 0 replies; 18+ messages in thread
From: Jonathan Cameron @ 2026-08-29 23:48 UTC (permalink / raw)
  To: Joshua Crofts
  Cc: David Lechner, Nuno Sá,
	Andy Shevchenko, Crt Mori, Puranjay Mohan, linux-iio,
	linux-kernel

On Sat, 29 Aug 2026 22:24:47 +0200
Joshua Crofts <joshua.crofts1@gmail.com> wrote:

> On Sat, 29 Aug 2026 at 19:57, Jonathan Cameron <jic23@kernel.org> wrote:
> >  
> > > Remove the catch-all kernel.h header and add the missing headers to
> > > enforce IWYU.  
> >
> > Sashiko correctly observed that this wasn't really IWYU.  So, to avoid
> > confusion we should be referring to something "approximate IWYU taking into
> > account some headers that always include others".  
> 
> On another note - since we paste Sashiko outputs regularly into patch reviews,
> isn't it time to send a pull request to the Sashiko repo to Cc
> linux-iio on reviews?
> I remember the last email thread discussing this died out unfortunately :(
Let's pick up on that original thread again rather than buried in here.

There were some valid concerns and there is work more generally going on
to solve the new contributor information gap.

Jonathan

> 
> --
> Kind regards,
> Joshua Crofts
> 


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-08-29 23:48 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-29 16:25 [PATCH v2 00/11] iio: temperature: make headers conform to IWYU Joshua Crofts
2026-08-29 16:25 ` [PATCH v2 01/11] iio: temperature: iqs620at-temp: " Joshua Crofts
2026-08-29 16:25 ` [PATCH v2 02/11] iio: temperature: ltc2983: reorder headers Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 03/11] iio: temperature: ltc2983: make headers conform to IWYU Joshua Crofts
2026-08-29 17:57   ` Jonathan Cameron
2026-08-29 20:24     ` Joshua Crofts
2026-08-29 23:48       ` Jonathan Cameron
2026-08-29 16:26 ` [PATCH v2 04/11] iio: temperature: mlx90632: " Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 05/11] iio: temperature: mlx90635: " Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 06/11] iio: temperature: tmp117: sort headers alphabetically Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 07/11] iio: temperature: tmp117: make headers conform to IWYU Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 08/11] iio: temperature: tsys01: reorder headers Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 09/11] iio: temperature: tsys01: make headers conform to IWYU Joshua Crofts
2026-08-29 17:57   ` Jonathan Cameron
2026-08-29 18:09     ` Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 10/11] iio: temperature: tsys02d: reorder headers Joshua Crofts
2026-08-29 16:26 ` [PATCH v2 11/11] iio: temperature: tsys02d: make headers conform to IWYU Joshua Crofts
2026-08-29 16:36   ` Joshua Crofts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®