Re: [PATCH 1/2] s390: delete unneeded #include <linux/kconfig.h> from facilities_src.h

From: Masahiro Yamada
Date: Mon Nov 07 2016 - 20:50:45 EST

Hi Paul,

2016-11-07 21:52 GMT+09:00 Paul Bolle <pebolle@xxxxxxxxxx>:
> On Sun, 2016-11-06 at 12:45 +0900, Masahiro Yamada wrote:
>> The header facilities_src.h is only included from gen_facilities.c
>> and the tool is compiled with the following extra options:
>> HOSTCFLAGS_gen_facilities.o += -Wall $(LINUXINCLUDE)
>> Please note $(LINUXINCLUDE) is expanded into build options including:
>> -include $(srctree)/include/linux/kconfig.h
>> So, the Makefile always forces the tool to include kconfig.h, i.e.,
>> the #include <linux/kconfig.h> directive in the header is redundant.
> As far as I can see the only kernel header that gen_facilities.c is actually
> interested in is autoconf.h. (autoconf.h will be included via in kconfig.h.)
> So it seems the odd $(LINUXINCLUDE) variable in that Makefile could be
> replaced with something like:
> -include $(srctree)/include/generated/autoconf.h

This would break O= build because autoconf.h is a generated file.

Rather, it should be
-include $(objtree)/include/generated/autoconf.h

I thought of this at first, but I was not quite sure
if the file path include/generated/autoconf.h is a guaranteed interface.

Basically, now we are supposed to include autoconf.h via kconfig.h.

So, I thought $(LINUXINCLUDE) is a more stable interface
than specifying the exact path to autoconf.h

I doubt that nobody would try to change it, but it is just two my cents.

Anyway, arch/x86/boot/Makefile already
referenced the path to autoconf.h

So, if you want to change it, I will not oppose to it.

Best Regards
Masahiro Yamada