Re: [PATCH v2] gpiolib: use the required minimum set of headers
From: Andy Shevchenko
Date: Fri Feb 28 2025 - 13:55:07 EST
On Fri, Feb 28, 2025 at 05:50:19PM +0000, David Laight wrote:
> On Thu, 27 Feb 2025 11:22:41 +0200
> Andy Shevchenko <andy.shevchenko@xxxxxxxxx> 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@xxxxxxxxx/
> >
>
> 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.
How? That gigantic series makes the headers cleaner in a sense to avoid
"include everything" thingy.
--
With Best Regards,
Andy Shevchenko