From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org, "Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"David Lechner" <dlechner@baylibre.com>
Cc: Denis Ciocca <denis.ciocca@st.com>,
Vasileios Amoiridis <vassilisamir@gmail.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>
Subject: [PATCH 1/7] iio: pressure: bmp280: Apply iwyu principles to includes.
Date: Thu, 10 Jul 2025 18:11:01 +0100 [thread overview]
Message-ID: <20250710171107.443790-2-jic23@kernel.org> (raw)
In-Reply-To: <20250710171107.443790-1-jic23@kernel.org>
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
The recent introduction of a warning on missing include of
linux/export.h when W=1 motivated revisiting the includes in affected
drivers. In general IWYU principles avoid complex include paths that
make it hard to refactor headers.
- Move linux/unaligned.h entry to appropriate place.
- Drop comment on linux/irq.h as we don't generally keep a record
in code of why includes are there.
Remove
- linux/device.h from bmp280-regmap.c as struct device forwards definition
is enough.
- linux/module.h from bmp280-regmap.c as the module stuff is all in the
other files.
Add all of:
- linux/array_size.h for ARRAY_SIZE()
- linux/device.h in the i2c and spi drivers
- linux/err.h for PTR_ERR() etc and also assume includes errno.h
- linux/export.h for EXPORT_SYMBOL*()
- linux/jiffies.h for msecs_to_jiffies
- linux/log2.h for ilog2()
- linux/math64.h for div64_s64
- linux/minmax.h for clamp_val()
- linux/mod_devicetable.h for spi_device_id etc
- linux/mutex.h for various mutex calls
- linux/pm.h for pm_ptr()
- linux/stddef.h for false / true
- linux/string.h for memcpy
- linux/string_choices.h for str_enable_disable
- linux/time.h for USEC_PER_MSEC
- linux/types.h for local bool definition.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
I'm not sure on whether we should bother with stddef.h or types.h
Looking for feedback on any others.
---
drivers/iio/pressure/bmp280-core.c | 17 +++++++++++++++--
drivers/iio/pressure/bmp280-i2c.c | 4 ++++
drivers/iio/pressure/bmp280-regmap.c | 6 ++++--
drivers/iio/pressure/bmp280-spi.c | 6 ++++++
4 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
index 74505c9ec1a0..e5d2de8cd5ef 100644
--- a/drivers/iio/pressure/bmp280-core.c
+++ b/drivers/iio/pressure/bmp280-core.c
@@ -30,23 +30,36 @@
#define pr_fmt(fmt) "bmp280: " fmt
+#include <linux/array_size.h>
#include <linux/bitops.h>
#include <linux/bitfield.h>
#include <linux/cleanup.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/export.h>
#include <linux/gpio/consumer.h>
#include <linux/interrupt.h>
-#include <linux/irq.h> /* For irq_get_irq_data() */
+#include <linux/irq.h>
+#include <linux/jiffies.h>
+#include <linux/log2.h>
+#include <linux/math64.h>
+#include <linux/minmax.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/nvmem-provider.h>
#include <linux/pm_runtime.h>
#include <linux/property.h>
+#include <linux/string.h>
+#include <linux/string_choices.h>
#include <linux/random.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
+#include <linux/stddef.h>
+#include <linux/time64.h>
#include <linux/types.h>
+#include <linux/unaligned.h>
#include <linux/iio/buffer.h>
#include <linux/iio/iio.h>
@@ -54,7 +67,7 @@
#include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h>
-#include <linux/unaligned.h>
+#include <asm/byteorder.h>
#include "bmp280.h"
diff --git a/drivers/iio/pressure/bmp280-i2c.c b/drivers/iio/pressure/bmp280-i2c.c
index 8e459b6c97ff..6484341af710 100644
--- a/drivers/iio/pressure/bmp280-i2c.c
+++ b/drivers/iio/pressure/bmp280-i2c.c
@@ -1,6 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-only
+#include <linux/device.h>
+#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/module.h>
+#include <linux/mod_devicetable.h>
+#include <linux/pm.h>
#include <linux/regmap.h>
#include "bmp280.h"
diff --git a/drivers/iio/pressure/bmp280-regmap.c b/drivers/iio/pressure/bmp280-regmap.c
index b6a7b417c8cf..d34bf89afdda 100644
--- a/drivers/iio/pressure/bmp280-regmap.c
+++ b/drivers/iio/pressure/bmp280-regmap.c
@@ -1,9 +1,11 @@
// SPDX-License-Identifier: GPL-2.0
-#include <linux/device.h>
-#include <linux/module.h>
+#include <linux/export.h>
#include <linux/regmap.h>
+#include <linux/stddef.h>
+#include <linux/types.h>
#include "bmp280.h"
+struct device;
static bool bmp180_is_writeable_reg(struct device *dev, unsigned int reg)
{
diff --git a/drivers/iio/pressure/bmp280-spi.c b/drivers/iio/pressure/bmp280-spi.c
index 3b90384f17d7..8ac68bfb8110 100644
--- a/drivers/iio/pressure/bmp280-spi.c
+++ b/drivers/iio/pressure/bmp280-spi.c
@@ -5,10 +5,16 @@
* Inspired by the older BMP085 driver drivers/misc/bmp085-spi.c
*/
#include <linux/bits.h>
+#include <linux/device.h>
#include <linux/err.h>
#include <linux/module.h>
+#include <linux/mod_devicetable.h>
+#include <linux/pm.h>
#include <linux/regmap.h>
#include <linux/spi/spi.h>
+#include <linux/stddef.h>
+#include <linux/string.h>
+#include <linux/types.h>
#include "bmp280.h"
--
2.50.0
next prev parent reply other threads:[~2025-07-10 17:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 17:11 [PATCH 0/7] IIO: More application of IWYU principles to includes Jonathan Cameron
2025-07-10 17:11 ` Jonathan Cameron [this message]
2025-07-10 19:09 ` [PATCH 1/7] iio: pressure: bmp280: Apply iwyu " Andy Shevchenko
2025-07-10 17:11 ` [PATCH 2/7] iio: pressure: zpa2326: " Jonathan Cameron
2025-07-10 17:11 ` [PATCH 3/7] iio: pressure: mpl115: " Jonathan Cameron
2025-07-10 17:11 ` [PATCH 4/7] iio: pressure: ms5611: " Jonathan Cameron
2025-07-10 17:11 ` [PATCH 5/7] iio: pressure: hsc030pa: Apply IWYU " Jonathan Cameron
2025-07-10 17:11 ` [PATCH 6/7] iio: pressure: mprls0025pa: " Jonathan Cameron
2025-07-10 17:11 ` [PATCH 7/7] iio: st_sensors: " Jonathan Cameron
2025-07-10 19:09 ` [PATCH 0/7] IIO: More application of " Andy Shevchenko
2025-07-10 19:28 ` David Lechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250710171107.443790-2-jic23@kernel.org \
--to=jic23@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=andy@kernel.org \
--cc=denis.ciocca@st.com \
--cc=dlechner@baylibre.com \
--cc=linux-iio@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=vassilisamir@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.