Re: [PATCH v3 3/5] iio: dac: ad5504: Align headers with IWYU principle

From: Jonathan Cameron

Date: Sun May 17 2026 - 10:35:37 EST


On Sat, 9 May 2026 15:20:41 +0100
Taha Ed-Dafili <0rayn.dev@xxxxxxxxx> wrote:

> Update the header inclusions to follow the IWYU principle and ensure
> they are sorted alphabetically:
>
> - Remove <linux/fs.h>, <linux/slab.h>, and <linux/kernel.h> as they
> are unused. The driver relies on devm_ managed allocations, so slab
> is not required.
> - Replace <linux/bitops.h> with <linux/bits.h> as only the BIT() and
> GENMASK() macros are used.
> - Add <linux/mod_devicetable.h> for struct spi_device_id.
> - Add <linux/errno.h> and <linux/types.h> for error codes and data types.
> - Add <asm/byteorder.h> for cpu_to_be16().
> - Add <linux/array_size.h> for ARRAY_SIZE().
> - Add <linux/kstrtox.h> for string to integer conversions.
>
> Signed-off-by: Taha Ed-Dafili <0rayn.dev@xxxxxxxxx>
> ---
> drivers/iio/dac/ad5504.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
> index 03ce37e2c616..57e6eeed26ef 100644
> --- a/drivers/iio/dac/ad5504.c
> +++ b/drivers/iio/dac/ad5504.c
> @@ -5,16 +5,19 @@
> * Copyright 2011 Analog Devices Inc.
> */
>
> -#include <linux/bitops.h>
> +#include <asm/byteorder.h>

asm always go after linux in their own block.
Normally after the linux/iio block.


> +#include <linux/array_size.h>
> +#include <linux/bits.h>
> #include <linux/device.h>
This is like kernel.h in that if we are tidying up headers
we should be looking to include dev_printk.h etc rather than this.

I couldn't immediately see a reason we need this in the driver.
If there is one it is fine to keep it.

Otherwise this lot seems reasonable.
> -#include <linux/fs.h>
> +#include <linux/errno.h>
> #include <linux/interrupt.h>
> -#include <linux/kernel.h>
> +#include <linux/kstrtox.h>
> +#include <linux/mod_devicetable.h>
> #include <linux/module.h>
> #include <linux/regulator/consumer.h>
> -#include <linux/slab.h>
> #include <linux/spi/spi.h>
> #include <linux/sysfs.h>
> +#include <linux/types.h>
>
> #include <linux/iio/dac/ad5504.h>
> #include <linux/iio/events.h>