[PATCH v2] iio: adc: spear_adc: cleans up, update and sorts the existing includes
From: Rodrigo Gobbi
Date: Sat Dec 06 2025 - 08:21:29 EST
Remove unused includes and add what is being used (IWYU principle) and
sort the remaining ones.
Signed-off-by: Rodrigo Gobbi <rodrigo.gobbi.7@xxxxxxxxx>
---
My reasoning was not correct at [1], tks for pointing that out @Jonathan.
With that in mind, I've reviewed some discussions about the principle and
I`ve changed a little bit approach: I`ve inspected the source code again
to find out what was being used and also checked incorrectly "indirect includes"
using the spear_adc.i file to avoid them. The result is something like this now:
Removed:
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/iio/sysfs.h>
Added:
#include <linux/array_size.h>
#include <linux/bits.h>
#include <linux/compiler_types.h>
#include <linux/dev_printk.h>
#include <linux/math.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/iio/types.h>
Tks and regards!
[1] https://lore.kernel.org/all/20251009182636.187026-1-rodrigo.gobbi.7@xxxxxxxxx/
---
drivers/iio/adc/spear_adc.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/iio/adc/spear_adc.c b/drivers/iio/adc/spear_adc.c
index 50b0a607baeb..b9eeed5533c6 100644
--- a/drivers/iio/adc/spear_adc.c
+++ b/drivers/iio/adc/spear_adc.c
@@ -5,22 +5,26 @@
* Copyright 2012 Stefan Roese <sr@xxxxxxx>
*/
-#include <linux/mod_devicetable.h>
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/property.h>
-#include <linux/interrupt.h>
-#include <linux/device.h>
-#include <linux/kernel.h>
-#include <linux/slab.h>
-#include <linux/io.h>
+#include <linux/array_size.h>
#include <linux/bitfield.h>
+#include <linux/bits.h>
#include <linux/clk.h>
-#include <linux/err.h>
+#include <linux/compiler_types.h>
#include <linux/completion.h>
+#include <linux/dev_printk.h>
+#include <linux/err.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/math.h>
+#include <linux/module.h>
+#include <linux/mod_devicetable.h>
+#include <linux/mutex.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/property.h>
#include <linux/iio/iio.h>
-#include <linux/iio/sysfs.h>
+#include <linux/iio/types.h>
/* SPEAR registers definitions */
#define SPEAR600_ADC_SCAN_RATE_LO(x) ((x) & 0xFFFF)
--
2.48.1