* [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions
@ 2026-11-02 9:42 Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 1/2] staging: iio: addac: adt7316: sort headers alphabetically Abdelnasser Hussein
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Abdelnasser Hussein @ 2026-11-02 9:42 UTC (permalink / raw)
To: Jonathan Cameron, Greg Kroah-Hartman, Nuno Sá, Michael Hennerich
Cc: David Lechner, Andy Shevchenko, Joshua Crofts, linux, linux-iio,
linux-staging, linux-kernel, Abdelnasser Hussein
This series cleans up header inclusions in adt7316.c by following
the Include What You Use (IWYU) principle.
The series is split into two logical steps:
1. Sort existing header inclusions alphabetically without modifying the
list of included headers. Keep subsystem <linux/iio/*> headers
separated and insert a blank line before "adt7316.h".
2. Drop proxy header <linux/kernel.h>, explicitly add missing headers
(<linux/bits.h>, <linux/err.h>, <linux/errno.h>, <linux/kstrtox.h>,
<linux/pm.h>, <linux/string.h>, <linux/types.h>), drop unused headers
(<linux/i2c.h>, <linux/list.h>, <linux/rtc.h>, <linux/slab.h>,
<linux/workqueue.h>), and maintain alphabetical sorting.
v3:
- Split the series as suggested by Joshua Crofts: patch 1 only sorts
the headers, patch 2 replaces kernel.h and adds/drops headers.
- Explicitly include <linux/err.h>, <linux/errno.h>, and
<linux/types.h> per IWYU following verification of symbols used.
v2:
- Address review feedback from Andy Shevchenko: drop <linux/kernel.h>
and include the headers actually used.
- Split the original patch into a 2-patch series.
v1:
- Initial submission.
Abdelnasser Hussein (2):
staging: iio: addac: adt7316: sort headers alphabetically
staging: iio: addac: adt7316: replace kernel.h with explicit headers
drivers/staging/iio/addac/adt7316.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
--
2.56.0
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v3 1/2] staging: iio: addac: adt7316: sort headers alphabetically
2026-11-02 9:42 [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions Abdelnasser Hussein
@ 2026-11-02 9:42 ` Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 2/2] staging: iio: addac: adt7316: replace kernel.h with explicit headers Abdelnasser Hussein
2026-11-02 10:01 ` [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions Joshua Crofts
2 siblings, 0 replies; 4+ messages in thread
From: Abdelnasser Hussein @ 2026-11-02 9:42 UTC (permalink / raw)
To: Jonathan Cameron, Greg Kroah-Hartman, Nuno Sá, Michael Hennerich
Cc: David Lechner, Andy Shevchenko, Joshua Crofts, linux, linux-iio,
linux-staging, linux-kernel, Abdelnasser Hussein
Sort included headers alphabetically without altering the list of
inclusions. Keep the <linux/iio/*> subsystem headers separated from
the <linux/*> group, and add a blank line before the local "adt7316.h"
header.
Signed-off-by: Abdelnasser Hussein <abdelnasserhussein11@gmail.com>
---
v3:
- New patch in v3: sort existing headers alphabetically without
additions or removals, as suggested by Joshua Crofts.
drivers/staging/iio/addac/adt7316.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c
index 20f6052cc7fb..515f1fdae46b 100644
--- a/drivers/staging/iio/addac/adt7316.c
+++ b/drivers/staging/iio/addac/adt7316.c
@@ -5,22 +5,23 @@
* Copyright 2010 Analog Devices Inc.
*/
-#include <linux/interrupt.h>
+#include <linux/device.h>
#include <linux/gpio/consumer.h>
+#include <linux/i2c.h>
+#include <linux/interrupt.h>
#include <linux/irq.h>
-#include <linux/workqueue.h>
-#include <linux/device.h>
#include <linux/kernel.h>
-#include <linux/slab.h>
-#include <linux/sysfs.h>
#include <linux/list.h>
-#include <linux/i2c.h>
-#include <linux/rtc.h>
#include <linux/module.h>
+#include <linux/rtc.h>
+#include <linux/slab.h>
+#include <linux/sysfs.h>
+#include <linux/workqueue.h>
-#include <linux/iio/iio.h>
#include <linux/iio/events.h>
+#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
+
#include "adt7316.h"
/*
--
2.56.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 2/2] staging: iio: addac: adt7316: replace kernel.h with explicit headers
2026-11-02 9:42 [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 1/2] staging: iio: addac: adt7316: sort headers alphabetically Abdelnasser Hussein
@ 2026-11-02 9:42 ` Abdelnasser Hussein
2026-11-02 10:01 ` [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions Joshua Crofts
2 siblings, 0 replies; 4+ messages in thread
From: Abdelnasser Hussein @ 2026-11-02 9:42 UTC (permalink / raw)
To: Jonathan Cameron, Greg Kroah-Hartman, Nuno Sá, Michael Hennerich
Cc: David Lechner, Andy Shevchenko, Joshua Crofts, linux, linux-iio,
linux-staging, linux-kernel, Abdelnasser Hussein
Drop the proxy header <linux/kernel.h> and replace it with direct
inclusions per the Include What You Use (IWYU) principle. Also remove
unused headers and keep the list alphabetically sorted.
Explicitly add:
- <linux/bits.h> for BIT()
- <linux/err.h> for IS_ERR() and PTR_ERR()
- <linux/errno.h> for error codes (-EIO, -EPERM, -EINVAL, -ENOMEM,
-ENODEV)
- <linux/kstrtox.h> for kstrtou8(), kstrtou16(), and kstrtoint()
- <linux/pm.h> for EXPORT_GPL_SIMPLE_DEV_PM_OPS()
- <linux/string.h> for memcmp()
- <linux/types.h> for fixed-width and standard types (u8, u16, bool, s64)
Drop unused headers:
- <linux/i2c.h> (no I2C symbols used in core driver)
- <linux/kernel.h> (proxy header)
- <linux/list.h> (no linked list symbols used)
- <linux/rtc.h> (no RTC symbols used)
- <linux/slab.h> (no kmalloc/kfree symbols used)
- <linux/workqueue.h> (no workqueue symbols used)
Signed-off-by: Abdelnasser Hussein <abdelnasserhussein11@gmail.com>
---
v3:
- Replace <linux/kernel.h> and add/remove headers in this patch, as
suggested by Joshua Crofts.
- Explicitly add <linux/err.h>, <linux/errno.h>, and <linux/types.h>
per IWYU after symbol verification.
v2:
- Split from original monolithic patch.
drivers/staging/iio/addac/adt7316.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c
index 515f1fdae46b..54d942cae586 100644
--- a/drivers/staging/iio/addac/adt7316.c
+++ b/drivers/staging/iio/addac/adt7316.c
@@ -5,18 +5,19 @@
* Copyright 2010 Analog Devices Inc.
*/
+#include <linux/bits.h>
#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/errno.h>
#include <linux/gpio/consumer.h>
-#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
-#include <linux/kernel.h>
-#include <linux/list.h>
+#include <linux/kstrtox.h>
#include <linux/module.h>
-#include <linux/rtc.h>
-#include <linux/slab.h>
+#include <linux/pm.h>
+#include <linux/string.h>
#include <linux/sysfs.h>
-#include <linux/workqueue.h>
+#include <linux/types.h>
#include <linux/iio/events.h>
#include <linux/iio/iio.h>
--
2.56.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions
2026-11-02 9:42 [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 1/2] staging: iio: addac: adt7316: sort headers alphabetically Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 2/2] staging: iio: addac: adt7316: replace kernel.h with explicit headers Abdelnasser Hussein
@ 2026-11-02 10:01 ` Joshua Crofts
2 siblings, 0 replies; 4+ messages in thread
From: Joshua Crofts @ 2026-11-02 10:01 UTC (permalink / raw)
To: Abdelnasser Hussein
Cc: Jonathan Cameron, Greg Kroah-Hartman, Nuno Sá,
Michael Hennerich, David Lechner, Andy Shevchenko, linux,
linux-iio, linux-staging, linux-kernel
On Mon, 2 Nov 2026 11:42:34 +0200
Abdelnasser Hussein <abdelnasserhussein11@gmail.com> wrote:
> This series cleans up header inclusions in adt7316.c by following
> the Include What You Use (IWYU) principle.
>
> The series is split into two logical steps:
> 1. Sort existing header inclusions alphabetically without modifying the
> list of included headers. Keep subsystem <linux/iio/*> headers
> separated and insert a blank line before "adt7316.h".
> 2. Drop proxy header <linux/kernel.h>, explicitly add missing headers
> (<linux/bits.h>, <linux/err.h>, <linux/errno.h>, <linux/kstrtox.h>,
> <linux/pm.h>, <linux/string.h>, <linux/types.h>), drop unused headers
> (<linux/i2c.h>, <linux/list.h>, <linux/rtc.h>, <linux/slab.h>,
> <linux/workqueue.h>), and maintain alphabetical sorting.
>
> v3:
> - Split the series as suggested by Joshua Crofts: patch 1 only sorts
> the headers, patch 2 replaces kernel.h and adds/drops headers.
> - Explicitly include <linux/err.h>, <linux/errno.h>, and
> <linux/types.h> per IWYU following verification of symbols used.
>
> v2:
> - Address review feedback from Andy Shevchenko: drop <linux/kernel.h>
> and include the headers actually used.
> - Split the original patch into a 2-patch series.
>
> v1:
> - Initial submission.
>
> Abdelnasser Hussein (2):
> staging: iio: addac: adt7316: sort headers alphabetically
> staging: iio: addac: adt7316: replace kernel.h with explicit headers
>
> drivers/staging/iio/addac/adt7316.c | 22 ++++++++++++----------
> 1 file changed, 12 insertions(+), 10 deletions(-)
>
Much more readable in this order.
Reviewed-by: Joshua Crofts <crofts@kernel.org>
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-11-02 10:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-02 9:42 [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 1/2] staging: iio: addac: adt7316: sort headers alphabetically Abdelnasser Hussein
2026-11-02 9:42 ` [PATCH v3 2/2] staging: iio: addac: adt7316: replace kernel.h with explicit headers Abdelnasser Hussein
2026-11-02 10:01 ` [PATCH v3 0/2] staging: iio: addac: adt7316: clean up header inclusions 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®