From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: linux-iio@vger.kernel.org, "Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Matti Vaittinen" <mazziesaccount@gmail.com>,
"Jonathan Cameron" <Jonathan.Cameron@huawei.com>
Subject: Re: [PATCH] iio: accel: kionix-kx022a: Apply approximate iwyu principles to includes
Date: Mon, 30 Jun 2025 13:40:32 +0300 [thread overview]
Message-ID: <aGJpoNfSMW_cQ4Ry@smile.fi.intel.com> (raw)
In-Reply-To: <20250629183649.184479-1-jic23@kernel.org>
On Sun, Jun 29, 2025 at 07:36:49PM +0100, Jonathan Cameron wrote:
> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
>
> Motivated by the W=1 warning about export.h that was introduced this cycle
> this is an attempt to apply an approximation of the principles of including
> whatever is used in the file directly.
>
> Helped by the include-what-you-use tool.
>
> Reasoning:
> - Drop linux/moduleparam.h as completely unused.
> - linux/array_size.h for ARRAY_SIZE()
> - linux/bitmap.h for for_each_set_bit
> - linux/errno.h for error codes.
> - linux/export.h for EXPORT_SYMBOL*()
> - linux/math64.h for do_div - alternative would be asm/div64.h
> - linux/minmax.h for min()
> - linux/sysfs.h for sysfs_emit()
> - linux/time64.h for USEC_PER_MSEC
> - linux/iio/buffer.h for iio_push_to_buffers_with_timestamp()
> - asm/byteorder.h for le16_to_cpu()
>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
>
> I picked this one fairly randomly as an example but longer term I'd like
> to look through at least all new drivers with this in mind + all the ones
> that are currently messing up my W=1 build logs.
>
> Note I've been very descriptive in this patch to allow people to suggest
> better alternatives for some of the ones that aren't entirely obvious.
Thanks for trying it again, very much appreciated!
What we actually miss is the database (in any text-based format, even *.d would
work I suppose) for the guarantees. For example, if code uses ERR_PTR() and at
the same time (very likely) uses something like -EINVAL, the errno.h is implied
(and guaranteed!) by err.h. Explicit errno.h is in two cases: 1) nothing is used
from err.h, but errno.h; 2) Linux special error codes are in use, e.g. EPROBE_DEFER.
Next, what I would really start with is the kernel.h. this is the beast that is
happening in many files and old snippets all over the internet, it would be nice
to clean it sooner than later. Especially if it's in the headers (should not be
as written at the top of that file). So, hence just a priority for these cleanups
first.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2025-06-30 10:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-29 18:36 [PATCH] iio: accel: kionix-kx022a: Apply approximate iwyu principles to includes Jonathan Cameron
2025-06-29 18:43 ` Jonathan Cameron
2025-06-30 10:42 ` Andy Shevchenko
2025-06-30 14:06 ` Jonathan Cameron
2025-07-12 16:52 ` Tanzir Hasan
2025-06-30 10:40 ` Andy Shevchenko [this message]
2025-07-06 17:13 ` Jonathan Cameron
2025-07-10 6:53 ` Matti Vaittinen
2025-07-07 19:53 ` Andy Shevchenko
2025-07-09 13:32 ` Jonathan Cameron
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=aGJpoNfSMW_cQ4Ry@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=mazziesaccount@gmail.com \
--cc=nuno.sa@analog.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox