From: David Laight <david.laight.linux@gmail.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Andy Shevchenko <andriy.shevchenko@intel.com>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: Re: [PATCH v2] gpiolib: use the required minimum set of headers
Date: Fri, 28 Feb 2025 17:50:19 +0000 [thread overview]
Message-ID: <20250228175019.1a01e698@pumpkin> (raw)
In-Reply-To: <Z8Au4WwXDlPQwfn2@surfacebook.localdomain>
On Thu, 27 Feb 2025 11:22:41 +0200
Andy Shevchenko <andy.shevchenko@gmail.com> wrote:
...
> > A 'fun' activity is to pick a random file add "#define _IOW xxx" at the
> > top and see where ioctl.h is is first included from.
> > (I've not got a build machine up at the moment.)
> >
> > Then start fixing that include sequence.
> > Moving a few headers around is otherwise pretty pointless.
>
> Have you tried to help with reviewing this?
>
> https://lwn.net/ml/linux-kernel/YdIfz+LMewetSaEB@gmail.com/
>
Not seriously, though maybe I remember it.
'dayjobs' makefile first deletes all the SUFFIX and builtin rules.
Then it copies lots of headers from all over everywhere into a (fairly
flat) obj/include tree to reduce the number of -Ipath to a minimum.
A 'create' dependency is added to all the main targets to ensure the
headers get copied (the .d files pick up updates).
It then generates explicit rules for each .o against its .c file.
Definitely speeds things up because make is no longer searching
directories for all sorts of files that might be needed - but never are.
(I've not dug through the bowels of the kernel makefile, but probably
have the skills to do so!)
But that is all different from solving the 'all the header files always
get included' issue.
David
next prev parent reply other threads:[~2025-02-28 17:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-25 9:52 [PATCH v2] gpiolib: use the required minimum set of headers Bartosz Golaszewski
2025-02-25 10:44 ` Andy Shevchenko
2025-02-26 21:46 ` David Laight
2025-02-27 9:22 ` Andy Shevchenko
2025-02-28 17:50 ` David Laight [this message]
2025-02-28 18:54 ` Andy Shevchenko
2025-02-26 10:15 ` Bartosz Golaszewski
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=20250228175019.1a01e698@pumpkin \
--to=david.laight.linux@gmail.com \
--cc=andriy.shevchenko@intel.com \
--cc=andy.shevchenko@gmail.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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