linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] kbuild: remove header compile test
@ 2019-11-07  7:14 Masahiro Yamada
  2019-11-07  7:14 ` [PATCH 2/2] kbuild: move headers_check rule to usr/include/Makefile Masahiro Yamada
       [not found] ` <87a7982hwc.fsf@intel.com>
  0 siblings, 2 replies; 3+ messages in thread
From: Masahiro Yamada @ 2019-11-07  7:14 UTC (permalink / raw)
  To: linux-kbuild; +Cc: Linus Torvalds, linux-kernel, Jani Nikula, Masahiro Yamada

There are both positive and negative options about this feature.
At first, I thought it was a good idea, but actually Linus stated a
negative opinion (https://lkml.org/lkml/2019/9/29/227). I admit it
is ugly and annoying.

The baseline I'd like to keep is the compile-test of uapi headers.
(Otherwise, kernel developers have no way to ensure the correctness
of the exported headers.)

I will maintain a small build rule in usr/include/Makefile.
Remove the other header test functionality.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 Documentation/kbuild/makefiles.rst |   17 -
 Makefile                           |    1 -
 drivers/gpu/drm/i915/Kconfig.debug |    1 -
 include/Kbuild                     | 1185 ----------------------------
 init/Kconfig                       |   22 +-
 scripts/Makefile.build             |    9 -
 scripts/Makefile.lib               |   14 -
 usr/include/Makefile               |   12 +-
 8 files changed, 9 insertions(+), 1252 deletions(-)
 delete mode 100644 include/Kbuild

diff --git a/Documentation/kbuild/makefiles.rst b/Documentation/kbuild/makefiles.rst
index b89c88168d6a..b9b50553bfc5 100644
--- a/Documentation/kbuild/makefiles.rst
+++ b/Documentation/kbuild/makefiles.rst
@@ -1115,23 +1115,6 @@ When kbuild executes, the following steps are followed (roughly):
 	In this example, extra-y is used to list object files that
 	shall be built, but shall not be linked as part of built-in.a.
 
-    header-test-y
-
-	header-test-y specifies headers (`*.h`) in the current directory that
-	should be compile tested to ensure they are self-contained,
-	i.e. compilable as standalone units. If CONFIG_HEADER_TEST is enabled,
-	this builds them as part of extra-y.
-
-    header-test-pattern-y
-
-	This works as a weaker version of header-test-y, and accepts wildcard
-	patterns. The typical usage is::
-
-		header-test-pattern-y += *.h
-
-	This specifies all the files that matches to `*.h` in the current
-	directory, but the files in 'header-test-' are excluded.
-
 6.7 Commands useful for building a boot image
 ---------------------------------------------
 
diff --git a/Makefile b/Makefile
index b37d0e8fc61d..225884bd0d86 100644
--- a/Makefile
+++ b/Makefile
@@ -618,7 +618,6 @@ ifeq ($(KBUILD_EXTMOD),)
 init-y		:= init/
 drivers-y	:= drivers/ sound/
 drivers-$(CONFIG_SAMPLES) += samples/
-drivers-$(CONFIG_KERNEL_HEADER_TEST) += include/
 net-y		:= net/
 libs-y		:= lib/
 core-y		:= usr/
diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
index 00786a142ff0..41c8e39a73ba 100644
--- a/drivers/gpu/drm/i915/Kconfig.debug
+++ b/drivers/gpu/drm/i915/Kconfig.debug
@@ -7,7 +7,6 @@ config DRM_I915_WERROR
         # We use the dependency on !COMPILE_TEST to not be enabled in
         # allmodconfig or allyesconfig configurations
         depends on !COMPILE_TEST
-	select HEADER_TEST
         default n
         help
           Add -Werror to the build flags for (and only for) i915.ko.
diff --git a/include/Kbuild b/include/Kbuild
deleted file mode 100644
index ffba79483cc5..000000000000
--- a/include/Kbuild
+++ /dev/null
@@ -1,1185 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-# Add header-test-$(CONFIG_...) guard to headers that are only compiled
-# for particular architectures.
-#
-# Headers listed in header-test- are excluded from the test coverage.
-# Many headers are excluded for now because they fail to build. Please
-# consider to fix headers first before adding new ones to the blacklist.
-#
-# Sorted alphabetically.
-header-test-			+= acpi/acbuffer.h
-header-test-			+= acpi/acpi.h
-header-test-			+= acpi/acpi_bus.h
-header-test-			+= acpi/acpi_drivers.h
-header-test-			+= acpi/acpi_io.h
-header-test-			+= acpi/acpi_lpat.h
-header-test-			+= acpi/acpiosxf.h
-header-test-			+= acpi/acpixf.h
-header-test-			+= acpi/acrestyp.h
-header-test-			+= acpi/actbl.h
-header-test-			+= acpi/actbl1.h
-header-test-			+= acpi/actbl2.h
-header-test-			+= acpi/actbl3.h
-header-test-			+= acpi/actypes.h
-header-test-			+= acpi/battery.h
-header-test-			+= acpi/cppc_acpi.h
-header-test-			+= acpi/nfit.h
-header-test-			+= acpi/platform/acenv.h
-header-test-			+= acpi/platform/acenvex.h
-header-test-			+= acpi/platform/acintel.h
-header-test-			+= acpi/platform/aclinux.h
-header-test-			+= acpi/platform/aclinuxex.h
-header-test-			+= acpi/processor.h
-header-test-$(CONFIG_X86)	+= clocksource/hyperv_timer.h
-header-test-			+= clocksource/timer-sp804.h
-header-test-			+= crypto/cast_common.h
-header-test-			+= crypto/internal/cryptouser.h
-header-test-			+= crypto/pkcs7.h
-header-test-			+= crypto/poly1305.h
-header-test-			+= crypto/sha3.h
-header-test-			+= drm/ati_pcigart.h
-header-test-			+= drm/bridge/dw_hdmi.h
-header-test-			+= drm/bridge/dw_mipi_dsi.h
-header-test-			+= drm/drm_audio_component.h
-header-test-			+= drm/drm_auth.h
-header-test-			+= drm/drm_debugfs.h
-header-test-			+= drm/drm_debugfs_crc.h
-header-test-			+= drm/drm_displayid.h
-header-test-			+= drm/drm_encoder_slave.h
-header-test-			+= drm/drm_fb_cma_helper.h
-header-test-			+= drm/drm_fb_helper.h
-header-test-			+= drm/drm_fixed.h
-header-test-			+= drm/drm_format_helper.h
-header-test-			+= drm/drm_lease.h
-header-test-			+= drm/drm_legacy.h
-header-test-			+= drm/drm_panel.h
-header-test-			+= drm/drm_plane_helper.h
-header-test-			+= drm/drm_rect.h
-header-test-			+= drm/i915_component.h
-header-test-			+= drm/intel-gtt.h
-header-test-			+= drm/tinydrm/tinydrm-helpers.h
-header-test-			+= drm/ttm/ttm_debug.h
-header-test-			+= keys/asymmetric-parser.h
-header-test-			+= keys/asymmetric-subtype.h
-header-test-			+= keys/asymmetric-type.h
-header-test-			+= keys/big_key-type.h
-header-test-			+= keys/request_key_auth-type.h
-header-test-			+= keys/trusted.h
-header-test-			+= kvm/arm_arch_timer.h
-header-test-			+= kvm/arm_pmu.h
-header-test-$(CONFIG_ARM)	+= kvm/arm_psci.h
-header-test-$(CONFIG_ARM64)	+= kvm/arm_psci.h
-header-test-			+= kvm/arm_vgic.h
-header-test-			+= linux/8250_pci.h
-header-test-			+= linux/a.out.h
-header-test-			+= linux/adxl.h
-header-test-			+= linux/agpgart.h
-header-test-			+= linux/alcor_pci.h
-header-test-			+= linux/amba/clcd.h
-header-test-			+= linux/amba/pl080.h
-header-test-			+= linux/amd-iommu.h
-header-test-$(CONFIG_ARM)	+= linux/arm-cci.h
-header-test-$(CONFIG_ARM64)	+= linux/arm-cci.h
-header-test-			+= linux/arm_sdei.h
-header-test-			+= linux/asn1_decoder.h
-header-test-			+= linux/ata_platform.h
-header-test-			+= linux/ath9k_platform.h
-header-test-			+= linux/atm_tcp.h
-header-test-			+= linux/atomic-fallback.h
-header-test-			+= linux/avf/virtchnl.h
-header-test-			+= linux/bcm47xx_sprom.h
-header-test-			+= linux/bcma/bcma_driver_gmac_cmn.h
-header-test-			+= linux/bcma/bcma_driver_mips.h
-header-test-			+= linux/bcma/bcma_driver_pci.h
-header-test-			+= linux/bcma/bcma_driver_pcie2.h
-header-test-			+= linux/bit_spinlock.h
-header-test-			+= linux/blk-mq-rdma.h
-header-test-			+= linux/blk-mq.h
-header-test-			+= linux/blktrace_api.h
-header-test-			+= linux/blockgroup_lock.h
-header-test-			+= linux/bma150.h
-header-test-			+= linux/bpf_lirc.h
-header-test-			+= linux/bpf_types.h
-header-test-			+= linux/bsg-lib.h
-header-test-			+= linux/bsg.h
-header-test-			+= linux/btf.h
-header-test-			+= linux/btree-128.h
-header-test-			+= linux/btree-type.h
-header-test-$(CONFIG_CPU_BIG_ENDIAN) += linux/byteorder/big_endian.h
-header-test-			+= linux/byteorder/generic.h
-header-test-$(CONFIG_CPU_LITTLE_ENDIAN) += linux/byteorder/little_endian.h
-header-test-			+= linux/c2port.h
-header-test-			+= linux/can/dev/peak_canfd.h
-header-test-			+= linux/can/platform/cc770.h
-header-test-			+= linux/can/platform/sja1000.h
-header-test-			+= linux/ceph/ceph_features.h
-header-test-			+= linux/ceph/ceph_frag.h
-header-test-			+= linux/ceph/ceph_fs.h
-header-test-			+= linux/ceph/debugfs.h
-header-test-			+= linux/ceph/msgr.h
-header-test-			+= linux/ceph/rados.h
-header-test-			+= linux/cgroup_subsys.h
-header-test-			+= linux/clk/sunxi-ng.h
-header-test-			+= linux/clk/ti.h
-header-test-			+= linux/cn_proc.h
-header-test-			+= linux/coda_psdev.h
-header-test-			+= linux/compaction.h
-header-test-			+= linux/console_struct.h
-header-test-			+= linux/count_zeros.h
-header-test-			+= linux/cs5535.h
-header-test-			+= linux/cuda.h
-header-test-			+= linux/cyclades.h
-header-test-			+= linux/dcookies.h
-header-test-			+= linux/delayacct.h
-header-test-			+= linux/delayed_call.h
-header-test-			+= linux/device-mapper.h
-header-test-			+= linux/devpts_fs.h
-header-test-			+= linux/dio.h
-header-test-			+= linux/dirent.h
-header-test-			+= linux/dlm_plock.h
-header-test-			+= linux/dm-dirty-log.h
-header-test-			+= linux/dm-region-hash.h
-header-test-			+= linux/dma-debug.h
-header-test-			+= linux/dma/mmp-pdma.h
-header-test-			+= linux/dma/sprd-dma.h
-header-test-			+= linux/dns_resolver.h
-header-test-			+= linux/drbd_genl.h
-header-test-			+= linux/drbd_genl_api.h
-header-test-			+= linux/dw_apb_timer.h
-header-test-			+= linux/dynamic_debug.h
-header-test-			+= linux/dynamic_queue_limits.h
-header-test-			+= linux/ecryptfs.h
-header-test-			+= linux/edma.h
-header-test-			+= linux/eeprom_93cx6.h
-header-test-			+= linux/efs_vh.h
-header-test-			+= linux/elevator.h
-header-test-			+= linux/elfcore-compat.h
-header-test-			+= linux/error-injection.h
-header-test-			+= linux/errseq.h
-header-test-			+= linux/eventpoll.h
-header-test-			+= linux/ext2_fs.h
-header-test-			+= linux/f75375s.h
-header-test-			+= linux/falloc.h
-header-test-			+= linux/fault-inject.h
-header-test-			+= linux/fbcon.h
-header-test-			+= linux/firmware/intel/stratix10-svc-client.h
-header-test-			+= linux/firmware/meson/meson_sm.h
-header-test-			+= linux/firmware/trusted_foundations.h
-header-test-			+= linux/firmware/xlnx-zynqmp.h
-header-test-			+= linux/fixp-arith.h
-header-test-			+= linux/flat.h
-header-test-			+= linux/fs_types.h
-header-test-			+= linux/fs_uart_pd.h
-header-test-			+= linux/fsi-occ.h
-header-test-			+= linux/fsi-sbefifo.h
-header-test-			+= linux/fsl/bestcomm/ata.h
-header-test-			+= linux/fsl/bestcomm/bestcomm.h
-header-test-			+= linux/fsl/bestcomm/bestcomm_priv.h
-header-test-			+= linux/fsl/bestcomm/fec.h
-header-test-			+= linux/fsl/bestcomm/gen_bd.h
-header-test-			+= linux/fsl/bestcomm/sram.h
-header-test-			+= linux/fsl_hypervisor.h
-header-test-			+= linux/fsldma.h
-header-test-			+= linux/ftrace_irq.h
-header-test-			+= linux/gameport.h
-header-test-			+= linux/genl_magic_func.h
-header-test-			+= linux/genl_magic_struct.h
-header-test-			+= linux/gpio/aspeed.h
-header-test-			+= linux/gpio/gpio-reg.h
-header-test-			+= linux/hid-debug.h
-header-test-			+= linux/hiddev.h
-header-test-			+= linux/hippidevice.h
-header-test-			+= linux/hmm.h
-header-test-			+= linux/hp_sdc.h
-header-test-			+= linux/huge_mm.h
-header-test-			+= linux/hugetlb_cgroup.h
-header-test-			+= linux/hugetlb_inline.h
-header-test-			+= linux/hwmon-vid.h
-header-test-			+= linux/hyperv.h
-header-test-			+= linux/i2c-algo-pca.h
-header-test-			+= linux/i2c-algo-pcf.h
-header-test-			+= linux/i3c/ccc.h
-header-test-			+= linux/i3c/device.h
-header-test-			+= linux/i3c/master.h
-header-test-			+= linux/i8042.h
-header-test-			+= linux/ide.h
-header-test-			+= linux/idle_inject.h
-header-test-			+= linux/if_frad.h
-header-test-			+= linux/if_rmnet.h
-header-test-			+= linux/if_tap.h
-header-test-			+= linux/iio/accel/kxcjk_1013.h
-header-test-			+= linux/iio/adc/ad_sigma_delta.h
-header-test-			+= linux/iio/buffer-dma.h
-header-test-			+= linux/iio/buffer_impl.h
-header-test-			+= linux/iio/common/st_sensors.h
-header-test-			+= linux/iio/common/st_sensors_i2c.h
-header-test-			+= linux/iio/common/st_sensors_spi.h
-header-test-			+= linux/iio/dac/ad5421.h
-header-test-			+= linux/iio/dac/ad5504.h
-header-test-			+= linux/iio/dac/ad5791.h
-header-test-			+= linux/iio/dac/max517.h
-header-test-			+= linux/iio/dac/mcp4725.h
-header-test-			+= linux/iio/frequency/ad9523.h
-header-test-			+= linux/iio/frequency/adf4350.h
-header-test-			+= linux/iio/hw-consumer.h
-header-test-			+= linux/iio/imu/adis.h
-header-test-			+= linux/iio/sysfs.h
-header-test-			+= linux/iio/timer/stm32-timer-trigger.h
-header-test-			+= linux/iio/trigger.h
-header-test-			+= linux/iio/triggered_event.h
-header-test-			+= linux/imx-media.h
-header-test-			+= linux/inet_diag.h
-header-test-			+= linux/init_ohci1394_dma.h
-header-test-			+= linux/initrd.h
-header-test-			+= linux/input/adp5589.h
-header-test-			+= linux/input/bu21013.h
-header-test-			+= linux/input/cma3000.h
-header-test-			+= linux/input/kxtj9.h
-header-test-			+= linux/input/lm8333.h
-header-test-			+= linux/input/sparse-keymap.h
-header-test-			+= linux/input/touchscreen.h
-header-test-			+= linux/input/tps6507x-ts.h
-header-test-$(CONFIG_X86)	+= linux/intel-iommu.h
-header-test-			+= linux/intel-ish-client-if.h
-header-test-			+= linux/intel-pti.h
-header-test-			+= linux/intel-svm.h
-header-test-			+= linux/interconnect-provider.h
-header-test-			+= linux/ioc3.h
-header-test-$(CONFIG_BLOCK)	+= linux/iomap.h
-header-test-			+= linux/ipack.h
-header-test-			+= linux/irq_cpustat.h
-header-test-			+= linux/irq_poll.h
-header-test-			+= linux/irqchip/arm-gic-v3.h
-header-test-			+= linux/irqchip/arm-gic-v4.h
-header-test-			+= linux/irqchip/irq-madera.h
-header-test-			+= linux/irqchip/irq-sa11x0.h
-header-test-			+= linux/irqchip/mxs.h
-header-test-			+= linux/irqchip/versatile-fpga.h
-header-test-			+= linux/irqdesc.h
-header-test-			+= linux/irqflags.h
-header-test-			+= linux/iscsi_boot_sysfs.h
-header-test-			+= linux/isdn/capiutil.h
-header-test-			+= linux/isdn/hdlc.h
-header-test-			+= linux/isdn_ppp.h
-header-test-			+= linux/jbd2.h
-header-test-			+= linux/jump_label.h
-header-test-			+= linux/jump_label_ratelimit.h
-header-test-			+= linux/jz4740-adc.h
-header-test-			+= linux/kasan.h
-header-test-			+= linux/kcore.h
-header-test-			+= linux/kdev_t.h
-header-test-			+= linux/kernelcapi.h
-header-test-			+= linux/khugepaged.h
-header-test-			+= linux/kobj_map.h
-header-test-			+= linux/kobject_ns.h
-header-test-			+= linux/kvm_host.h
-header-test-			+= linux/kvm_irqfd.h
-header-test-			+= linux/kvm_para.h
-header-test-			+= linux/lantiq.h
-header-test-			+= linux/lapb.h
-header-test-			+= linux/latencytop.h
-header-test-			+= linux/led-lm3530.h
-header-test-			+= linux/leds-bd2802.h
-header-test-			+= linux/leds-lp3944.h
-header-test-			+= linux/leds-lp3952.h
-header-test-			+= linux/leds_pwm.h
-header-test-			+= linux/libata.h
-header-test-			+= linux/license.h
-header-test-			+= linux/lightnvm.h
-header-test-			+= linux/lis3lv02d.h
-header-test-			+= linux/list_bl.h
-header-test-			+= linux/list_lru.h
-header-test-			+= linux/list_nulls.h
-header-test-			+= linux/lockd/share.h
-header-test-			+= linux/lzo.h
-header-test-			+= linux/mailbox/zynqmp-ipi-message.h
-header-test-			+= linux/maple.h
-header-test-			+= linux/mbcache.h
-header-test-			+= linux/mbus.h
-header-test-			+= linux/mc146818rtc.h
-header-test-			+= linux/mc6821.h
-header-test-			+= linux/mdev.h
-header-test-			+= linux/mem_encrypt.h
-header-test-			+= linux/memfd.h
-header-test-			+= linux/mfd/88pm80x.h
-header-test-			+= linux/mfd/88pm860x.h
-header-test-			+= linux/mfd/abx500/ab8500-bm.h
-header-test-			+= linux/mfd/abx500/ab8500-gpadc.h
-header-test-			+= linux/mfd/adp5520.h
-header-test-			+= linux/mfd/arizona/pdata.h
-header-test-			+= linux/mfd/as3711.h
-header-test-			+= linux/mfd/as3722.h
-header-test-			+= linux/mfd/da903x.h
-header-test-			+= linux/mfd/da9055/pdata.h
-header-test-			+= linux/mfd/db8500-prcmu.h
-header-test-			+= linux/mfd/dbx500-prcmu.h
-header-test-			+= linux/mfd/dln2.h
-header-test-			+= linux/mfd/dm355evm_msp.h
-header-test-			+= linux/mfd/ds1wm.h
-header-test-			+= linux/mfd/ezx-pcap.h
-header-test-			+= linux/mfd/intel_msic.h
-header-test-			+= linux/mfd/janz.h
-header-test-			+= linux/mfd/kempld.h
-header-test-			+= linux/mfd/lm3533.h
-header-test-			+= linux/mfd/lp8788-isink.h
-header-test-			+= linux/mfd/lpc_ich.h
-header-test-			+= linux/mfd/max77693.h
-header-test-			+= linux/mfd/max8998-private.h
-header-test-			+= linux/mfd/menelaus.h
-header-test-			+= linux/mfd/mt6397/core.h
-header-test-			+= linux/mfd/palmas.h
-header-test-			+= linux/mfd/pcf50633/backlight.h
-header-test-			+= linux/mfd/rc5t583.h
-header-test-			+= linux/mfd/retu.h
-header-test-			+= linux/mfd/samsung/core.h
-header-test-			+= linux/mfd/si476x-platform.h
-header-test-			+= linux/mfd/si476x-reports.h
-header-test-			+= linux/mfd/sky81452.h
-header-test-			+= linux/mfd/smsc.h
-header-test-			+= linux/mfd/sta2x11-mfd.h
-header-test-			+= linux/mfd/stmfx.h
-header-test-			+= linux/mfd/tc3589x.h
-header-test-			+= linux/mfd/tc6387xb.h
-header-test-			+= linux/mfd/tc6393xb.h
-header-test-			+= linux/mfd/tps65090.h
-header-test-			+= linux/mfd/tps6586x.h
-header-test-			+= linux/mfd/tps65910.h
-header-test-			+= linux/mfd/tps80031.h
-header-test-			+= linux/mfd/ucb1x00.h
-header-test-			+= linux/mfd/viperboard.h
-header-test-			+= linux/mfd/wm831x/core.h
-header-test-			+= linux/mfd/wm831x/otp.h
-header-test-			+= linux/mfd/wm831x/pdata.h
-header-test-			+= linux/mfd/wm8994/core.h
-header-test-			+= linux/mfd/wm8994/pdata.h
-header-test-			+= linux/mlx4/doorbell.h
-header-test-			+= linux/mlx4/srq.h
-header-test-			+= linux/mlx5/doorbell.h
-header-test-			+= linux/mlx5/eq.h
-header-test-			+= linux/mlx5/fs_helpers.h
-header-test-			+= linux/mlx5/mlx5_ifc.h
-header-test-			+= linux/mlx5/mlx5_ifc_fpga.h
-header-test-			+= linux/mm-arch-hooks.h
-header-test-			+= linux/mm_inline.h
-header-test-			+= linux/mmu_context.h
-header-test-			+= linux/mpage.h
-header-test-			+= linux/mtd/bbm.h
-header-test-			+= linux/mtd/cfi.h
-header-test-			+= linux/mtd/doc2000.h
-header-test-			+= linux/mtd/flashchip.h
-header-test-			+= linux/mtd/ftl.h
-header-test-			+= linux/mtd/gen_probe.h
-header-test-			+= linux/mtd/jedec.h
-header-test-			+= linux/mtd/nand_bch.h
-header-test-			+= linux/mtd/nand_ecc.h
-header-test-			+= linux/mtd/ndfc.h
-header-test-			+= linux/mtd/onenand.h
-header-test-			+= linux/mtd/pismo.h
-header-test-			+= linux/mtd/plat-ram.h
-header-test-			+= linux/mtd/spi-nor.h
-header-test-			+= linux/mv643xx.h
-header-test-			+= linux/mv643xx_eth.h
-header-test-			+= linux/mvebu-pmsu.h
-header-test-			+= linux/mxm-wmi.h
-header-test-			+= linux/n_r3964.h
-header-test-			+= linux/ndctl.h
-header-test-			+= linux/nfs.h
-header-test-			+= linux/nfs_fs_i.h
-header-test-			+= linux/nfs_fs_sb.h
-header-test-			+= linux/nfs_page.h
-header-test-			+= linux/nfs_xdr.h
-header-test-			+= linux/nfsacl.h
-header-test-			+= linux/nl802154.h
-header-test-			+= linux/ns_common.h
-header-test-			+= linux/nsc_gpio.h
-header-test-			+= linux/ntb_transport.h
-header-test-			+= linux/nubus.h
-header-test-			+= linux/nvme-fc-driver.h
-header-test-			+= linux/nvme-fc.h
-header-test-			+= linux/nvme-rdma.h
-header-test-			+= linux/nvram.h
-header-test-			+= linux/objagg.h
-header-test-			+= linux/of_clk.h
-header-test-			+= linux/of_net.h
-header-test-			+= linux/of_pdt.h
-header-test-			+= linux/olpc-ec.h
-header-test-			+= linux/omap-dma.h
-header-test-			+= linux/omap-dmaengine.h
-header-test-			+= linux/omap-gpmc.h
-header-test-			+= linux/omap-iommu.h
-header-test-			+= linux/omap-mailbox.h
-header-test-			+= linux/once.h
-header-test-			+= linux/osq_lock.h
-header-test-			+= linux/overflow.h
-header-test-			+= linux/page-flags-layout.h
-header-test-			+= linux/page-isolation.h
-header-test-			+= linux/page_ext.h
-header-test-			+= linux/page_owner.h
-header-test-			+= linux/parport_pc.h
-header-test-			+= linux/parser.h
-header-test-			+= linux/pci-acpi.h
-header-test-			+= linux/pci-dma-compat.h
-header-test-			+= linux/pci_hotplug.h
-header-test-			+= linux/pda_power.h
-header-test-			+= linux/perf/arm_pmu.h
-header-test-			+= linux/perf_regs.h
-header-test-			+= linux/phy/omap_control_phy.h
-header-test-			+= linux/phy/tegra/xusb.h
-header-test-			+= linux/phy/ulpi_phy.h
-header-test-			+= linux/phy_fixed.h
-header-test-			+= linux/pipe_fs_i.h
-header-test-			+= linux/pktcdvd.h
-header-test-			+= linux/pl320-ipc.h
-header-test-			+= linux/pl353-smc.h
-header-test-			+= linux/platform_data/ad5449.h
-header-test-			+= linux/platform_data/ad5755.h
-header-test-			+= linux/platform_data/ad7266.h
-header-test-			+= linux/platform_data/ad7291.h
-header-test-			+= linux/platform_data/ad7298.h
-header-test-			+= linux/platform_data/ad7303.h
-header-test-			+= linux/platform_data/ad7791.h
-header-test-			+= linux/platform_data/ad7793.h
-header-test-			+= linux/platform_data/ad7887.h
-header-test-			+= linux/platform_data/adau17x1.h
-header-test-			+= linux/platform_data/adp8870.h
-header-test-			+= linux/platform_data/ads1015.h
-header-test-			+= linux/platform_data/ads7828.h
-header-test-			+= linux/platform_data/apds990x.h
-header-test-			+= linux/platform_data/arm-ux500-pm.h
-header-test-			+= linux/platform_data/asoc-s3c.h
-header-test-			+= linux/platform_data/at91_adc.h
-header-test-			+= linux/platform_data/ata-pxa.h
-header-test-			+= linux/platform_data/atmel.h
-header-test-			+= linux/platform_data/bh1770glc.h
-header-test-			+= linux/platform_data/brcmfmac.h
-header-test-			+= linux/platform_data/cros_ec_commands.h
-header-test-			+= linux/platform_data/clk-u300.h
-header-test-			+= linux/platform_data/cyttsp4.h
-header-test-			+= linux/platform_data/dma-coh901318.h
-header-test-			+= linux/platform_data/dma-imx-sdma.h
-header-test-			+= linux/platform_data/dma-mcf-edma.h
-header-test-			+= linux/platform_data/dma-s3c24xx.h
-header-test-			+= linux/platform_data/dmtimer-omap.h
-header-test-			+= linux/platform_data/dsa.h
-header-test-			+= linux/platform_data/edma.h
-header-test-			+= linux/platform_data/elm.h
-header-test-			+= linux/platform_data/emif_plat.h
-header-test-			+= linux/platform_data/fsa9480.h
-header-test-			+= linux/platform_data/g762.h
-header-test-			+= linux/platform_data/gpio-ath79.h
-header-test-			+= linux/platform_data/gpio-davinci.h
-header-test-			+= linux/platform_data/gpio-dwapb.h
-header-test-			+= linux/platform_data/gpio-htc-egpio.h
-header-test-			+= linux/platform_data/gpmc-omap.h
-header-test-			+= linux/platform_data/hsmmc-omap.h
-header-test-			+= linux/platform_data/hwmon-s3c.h
-header-test-			+= linux/platform_data/i2c-davinci.h
-header-test-			+= linux/platform_data/i2c-imx.h
-header-test-			+= linux/platform_data/i2c-mux-reg.h
-header-test-			+= linux/platform_data/i2c-ocores.h
-header-test-			+= linux/platform_data/i2c-xiic.h
-header-test-			+= linux/platform_data/intel-spi.h
-header-test-			+= linux/platform_data/invensense_mpu6050.h
-header-test-			+= linux/platform_data/irda-pxaficp.h
-header-test-			+= linux/platform_data/irda-sa11x0.h
-header-test-			+= linux/platform_data/itco_wdt.h
-header-test-			+= linux/platform_data/jz4740/jz4740_nand.h
-header-test-			+= linux/platform_data/keyboard-pxa930_rotary.h
-header-test-			+= linux/platform_data/keypad-omap.h
-header-test-			+= linux/platform_data/leds-lp55xx.h
-header-test-			+= linux/platform_data/leds-omap.h
-header-test-			+= linux/platform_data/lp855x.h
-header-test-			+= linux/platform_data/lp8727.h
-header-test-			+= linux/platform_data/max197.h
-header-test-			+= linux/platform_data/max3421-hcd.h
-header-test-			+= linux/platform_data/max732x.h
-header-test-			+= linux/platform_data/mcs.h
-header-test-			+= linux/platform_data/mdio-bcm-unimac.h
-header-test-			+= linux/platform_data/mdio-gpio.h
-header-test-			+= linux/platform_data/media/si4713.h
-header-test-			+= linux/platform_data/mlxreg.h
-header-test-			+= linux/platform_data/mmc-omap.h
-header-test-			+= linux/platform_data/mmc-sdhci-s3c.h
-header-test-			+= linux/platform_data/mmp_audio.h
-header-test-			+= linux/platform_data/mtd-orion_nand.h
-header-test-			+= linux/platform_data/mv88e6xxx.h
-header-test-			+= linux/platform_data/net-cw1200.h
-header-test-			+= linux/platform_data/omap-twl4030.h
-header-test-			+= linux/platform_data/omapdss.h
-header-test-			+= linux/platform_data/pcf857x.h
-header-test-			+= linux/platform_data/pixcir_i2c_ts.h
-header-test-			+= linux/platform_data/pwm_omap_dmtimer.h
-header-test-			+= linux/platform_data/pxa2xx_udc.h
-header-test-			+= linux/platform_data/pxa_sdhci.h
-header-test-			+= linux/platform_data/remoteproc-omap.h
-header-test-			+= linux/platform_data/sa11x0-serial.h
-header-test-			+= linux/platform_data/sc18is602.h
-header-test-			+= linux/platform_data/sdhci-pic32.h
-header-test-			+= linux/platform_data/serial-sccnxp.h
-header-test-			+= linux/platform_data/sht3x.h
-header-test-			+= linux/platform_data/shtc1.h
-header-test-			+= linux/platform_data/si5351.h
-header-test-			+= linux/platform_data/sky81452-backlight.h
-header-test-			+= linux/platform_data/spi-davinci.h
-header-test-			+= linux/platform_data/spi-ep93xx.h
-header-test-			+= linux/platform_data/spi-mt65xx.h
-header-test-			+= linux/platform_data/st_sensors_pdata.h
-header-test-			+= linux/platform_data/ti-sysc.h
-header-test-			+= linux/platform_data/timer-ixp4xx.h
-header-test-			+= linux/platform_data/touchscreen-s3c2410.h
-header-test-			+= linux/platform_data/tsc2007.h
-header-test-			+= linux/platform_data/tsl2772.h
-header-test-			+= linux/platform_data/uio_pruss.h
-header-test-			+= linux/platform_data/usb-davinci.h
-header-test-			+= linux/platform_data/usb-ehci-mxc.h
-header-test-			+= linux/platform_data/usb-ehci-orion.h
-header-test-			+= linux/platform_data/usb-mx2.h
-header-test-			+= linux/platform_data/usb-ohci-s3c2410.h
-header-test-			+= linux/platform_data/usb-omap.h
-header-test-			+= linux/platform_data/usb-s3c2410_udc.h
-header-test-			+= linux/platform_data/usb3503.h
-header-test-			+= linux/platform_data/ux500_wdt.h
-header-test-			+= linux/platform_data/video-clcd-versatile.h
-header-test-			+= linux/platform_data/video-imxfb.h
-header-test-			+= linux/platform_data/video-pxafb.h
-header-test-			+= linux/platform_data/video_s3c.h
-header-test-			+= linux/platform_data/voltage-omap.h
-header-test-			+= linux/platform_data/x86/apple.h
-header-test-			+= linux/platform_data/x86/clk-pmc-atom.h
-header-test-			+= linux/platform_data/x86/pmc_atom.h
-header-test-			+= linux/platform_data/xtalk-bridge.h
-header-test-			+= linux/pm2301_charger.h
-header-test-			+= linux/pm_wakeirq.h
-header-test-			+= linux/pm_wakeup.h
-header-test-			+= linux/pmbus.h
-header-test-			+= linux/pmu.h
-header-test-			+= linux/posix_acl.h
-header-test-			+= linux/posix_acl_xattr.h
-header-test-			+= linux/power/ab8500.h
-header-test-			+= linux/power/bq27xxx_battery.h
-header-test-			+= linux/power/generic-adc-battery.h
-header-test-			+= linux/power/jz4740-battery.h
-header-test-			+= linux/power/max17042_battery.h
-header-test-			+= linux/power/max8903_charger.h
-header-test-			+= linux/ppp-comp.h
-header-test-			+= linux/pps-gpio.h
-header-test-			+= linux/pr.h
-header-test-			+= linux/proc_ns.h
-header-test-			+= linux/processor.h
-header-test-			+= linux/psi.h
-header-test-			+= linux/psp-sev.h
-header-test-			+= linux/pstore.h
-header-test-			+= linux/ptr_ring.h
-header-test-			+= linux/ptrace.h
-header-test-			+= linux/qcom-geni-se.h
-header-test-			+= linux/qed/eth_common.h
-header-test-			+= linux/qed/fcoe_common.h
-header-test-			+= linux/qed/iscsi_common.h
-header-test-			+= linux/qed/iwarp_common.h
-header-test-			+= linux/qed/qed_eth_if.h
-header-test-			+= linux/qed/qed_fcoe_if.h
-header-test-			+= linux/qed/rdma_common.h
-header-test-			+= linux/qed/storage_common.h
-header-test-			+= linux/qed/tcp_common.h
-header-test-			+= linux/qnx6_fs.h
-header-test-			+= linux/quicklist.h
-header-test-			+= linux/ramfs.h
-header-test-			+= linux/range.h
-header-test-			+= linux/rcu_node_tree.h
-header-test-			+= linux/rculist_bl.h
-header-test-			+= linux/rculist_nulls.h
-header-test-			+= linux/rcutiny.h
-header-test-			+= linux/rcutree.h
-header-test-			+= linux/reboot-mode.h
-header-test-			+= linux/regulator/fixed.h
-header-test-			+= linux/regulator/gpio-regulator.h
-header-test-			+= linux/regulator/max8973-regulator.h
-header-test-			+= linux/regulator/of_regulator.h
-header-test-			+= linux/regulator/tps51632-regulator.h
-header-test-			+= linux/regulator/tps62360.h
-header-test-			+= linux/regulator/tps6507x.h
-header-test-			+= linux/regulator/userspace-consumer.h
-header-test-			+= linux/remoteproc/st_slim_rproc.h
-header-test-			+= linux/reset/socfpga.h
-header-test-			+= linux/reset/sunxi.h
-header-test-			+= linux/rtc/m48t59.h
-header-test-			+= linux/rtc/rtc-omap.h
-header-test-			+= linux/rtc/sirfsoc_rtciobrg.h
-header-test-			+= linux/rwlock.h
-header-test-			+= linux/rwlock_types.h
-header-test-			+= linux/scc.h
-header-test-			+= linux/sched/deadline.h
-header-test-			+= linux/sched/smt.h
-header-test-			+= linux/sched/sysctl.h
-header-test-			+= linux/sched_clock.h
-header-test-			+= linux/scpi_protocol.h
-header-test-			+= linux/scx200_gpio.h
-header-test-			+= linux/seccomp.h
-header-test-			+= linux/sed-opal.h
-header-test-			+= linux/seg6_iptunnel.h
-header-test-			+= linux/selection.h
-header-test-			+= linux/set_memory.h
-header-test-			+= linux/shrinker.h
-header-test-			+= linux/sirfsoc_dma.h
-header-test-			+= linux/skb_array.h
-header-test-			+= linux/slab_def.h
-header-test-			+= linux/slub_def.h
-header-test-			+= linux/sm501.h
-header-test-			+= linux/smc91x.h
-header-test-			+= linux/static_key.h
-header-test-			+= linux/soc/actions/owl-sps.h
-header-test-			+= linux/soc/amlogic/meson-canvas.h
-header-test-			+= linux/soc/brcmstb/brcmstb.h
-header-test-			+= linux/soc/ixp4xx/npe.h
-header-test-			+= linux/soc/mediatek/infracfg.h
-header-test-			+= linux/soc/qcom/smd-rpm.h
-header-test-			+= linux/soc/qcom/smem.h
-header-test-			+= linux/soc/qcom/smem_state.h
-header-test-			+= linux/soc/qcom/wcnss_ctrl.h
-header-test-			+= linux/soc/renesas/rcar-rst.h
-header-test-			+= linux/soc/samsung/exynos-pmu.h
-header-test-			+= linux/soc/sunxi/sunxi_sram.h
-header-test-			+= linux/soc/ti/ti-msgmgr.h
-header-test-			+= linux/soc/ti/ti_sci_inta_msi.h
-header-test-			+= linux/soc/ti/ti_sci_protocol.h
-header-test-			+= linux/soundwire/sdw.h
-header-test-			+= linux/soundwire/sdw_intel.h
-header-test-			+= linux/soundwire/sdw_type.h
-header-test-			+= linux/spi/ad7877.h
-header-test-			+= linux/spi/ads7846.h
-header-test-			+= linux/spi/at86rf230.h
-header-test-			+= linux/spi/ds1305.h
-header-test-			+= linux/spi/libertas_spi.h
-header-test-			+= linux/spi/lms283gf05.h
-header-test-			+= linux/spi/max7301.h
-header-test-			+= linux/spi/mcp23s08.h
-header-test-			+= linux/spi/rspi.h
-header-test-			+= linux/spi/s3c24xx.h
-header-test-			+= linux/spi/sh_msiof.h
-header-test-			+= linux/spi/spi-fsl-dspi.h
-header-test-			+= linux/spi/spi_bitbang.h
-header-test-			+= linux/spi/spi_gpio.h
-header-test-			+= linux/spi/xilinx_spi.h
-header-test-			+= linux/spinlock_api_smp.h
-header-test-			+= linux/spinlock_api_up.h
-header-test-			+= linux/spinlock_types.h
-header-test-			+= linux/splice.h
-header-test-			+= linux/sram.h
-header-test-			+= linux/srcutiny.h
-header-test-			+= linux/srcutree.h
-header-test-			+= linux/ssb/ssb_driver_chipcommon.h
-header-test-			+= linux/ssb/ssb_driver_extif.h
-header-test-			+= linux/ssb/ssb_driver_mips.h
-header-test-			+= linux/ssb/ssb_driver_pci.h
-header-test-			+= linux/ssbi.h
-header-test-			+= linux/stackdepot.h
-header-test-			+= linux/stmp3xxx_rtc_wdt.h
-header-test-			+= linux/string_helpers.h
-header-test-			+= linux/sungem_phy.h
-header-test-			+= linux/sunrpc/msg_prot.h
-header-test-			+= linux/sunrpc/rpc_pipe_fs.h
-header-test-			+= linux/sunrpc/xprtmultipath.h
-header-test-			+= linux/sunrpc/xprtsock.h
-header-test-			+= linux/sunxi-rsb.h
-header-test-			+= linux/svga.h
-header-test-			+= linux/sw842.h
-header-test-			+= linux/swapfile.h
-header-test-			+= linux/swapops.h
-header-test-			+= linux/swiotlb.h
-header-test-			+= linux/sysv_fs.h
-header-test-			+= linux/t10-pi.h
-header-test-			+= linux/task_io_accounting.h
-header-test-			+= linux/tick.h
-header-test-			+= linux/timb_dma.h
-header-test-			+= linux/timekeeping.h
-header-test-			+= linux/timekeeping32.h
-header-test-			+= linux/ts-nbus.h
-header-test-			+= linux/tsacct_kern.h
-header-test-			+= linux/tty_flip.h
-header-test-			+= linux/tty_ldisc.h
-header-test-			+= linux/ucb1400.h
-header-test-			+= linux/usb/association.h
-header-test-			+= linux/usb/cdc-wdm.h
-header-test-			+= linux/usb/cdc_ncm.h
-header-test-			+= linux/usb/ezusb.h
-header-test-			+= linux/usb/gadget_configfs.h
-header-test-			+= linux/usb/gpio_vbus.h
-header-test-			+= linux/usb/hcd.h
-header-test-			+= linux/usb/iowarrior.h
-header-test-			+= linux/usb/irda.h
-header-test-			+= linux/usb/isp116x.h
-header-test-			+= linux/usb/isp1362.h
-header-test-			+= linux/usb/musb.h
-header-test-			+= linux/usb/net2280.h
-header-test-			+= linux/usb/ohci_pdriver.h
-header-test-			+= linux/usb/otg-fsm.h
-header-test-			+= linux/usb/pd_ado.h
-header-test-			+= linux/usb/r8a66597.h
-header-test-			+= linux/usb/rndis_host.h
-header-test-			+= linux/usb/serial.h
-header-test-			+= linux/usb/sl811.h
-header-test-			+= linux/usb/storage.h
-header-test-			+= linux/usb/uas.h
-header-test-			+= linux/usb/usb338x.h
-header-test-			+= linux/usb/usbnet.h
-header-test-			+= linux/usb/wusb-wa.h
-header-test-			+= linux/usb/xhci-dbgp.h
-header-test-			+= linux/usb_usual.h
-header-test-			+= linux/user-return-notifier.h
-header-test-			+= linux/userfaultfd_k.h
-header-test-			+= linux/verification.h
-header-test-			+= linux/vgaarb.h
-header-test-			+= linux/via_core.h
-header-test-			+= linux/via_i2c.h
-header-test-			+= linux/virtio_byteorder.h
-header-test-			+= linux/virtio_ring.h
-header-test-			+= linux/visorbus.h
-header-test-			+= linux/vme.h
-header-test-			+= linux/vmstat.h
-header-test-			+= linux/vmw_vmci_api.h
-header-test-			+= linux/vmw_vmci_defs.h
-header-test-			+= linux/vringh.h
-header-test-			+= linux/vt_buffer.h
-header-test-			+= linux/zorro.h
-header-test-			+= linux/zpool.h
-header-test-			+= math-emu/double.h
-header-test-			+= math-emu/op-common.h
-header-test-			+= math-emu/quad.h
-header-test-			+= math-emu/single.h
-header-test-			+= math-emu/soft-fp.h
-header-test-			+= media/davinci/dm355_ccdc.h
-header-test-			+= media/davinci/dm644x_ccdc.h
-header-test-			+= media/davinci/isif.h
-header-test-			+= media/davinci/vpbe_osd.h
-header-test-			+= media/davinci/vpbe_types.h
-header-test-			+= media/davinci/vpif_types.h
-header-test-			+= media/demux.h
-header-test-			+= media/drv-intf/soc_mediabus.h
-header-test-			+= media/dvb_net.h
-header-test-			+= media/fwht-ctrls.h
-header-test-			+= media/i2c/ad9389b.h
-header-test-			+= media/i2c/adv7343.h
-header-test-			+= media/i2c/adv7511.h
-header-test-			+= media/i2c/adv7842.h
-header-test-			+= media/i2c/m5mols.h
-header-test-			+= media/i2c/mt9m032.h
-header-test-			+= media/i2c/mt9t112.h
-header-test-			+= media/i2c/mt9v032.h
-header-test-			+= media/i2c/ov2659.h
-header-test-			+= media/i2c/ov7670.h
-header-test-			+= media/i2c/rj54n1cb0c.h
-header-test-			+= media/i2c/saa6588.h
-header-test-			+= media/i2c/saa7115.h
-header-test-			+= media/i2c/sr030pc30.h
-header-test-			+= media/i2c/tc358743.h
-header-test-			+= media/i2c/tda1997x.h
-header-test-			+= media/i2c/ths7303.h
-header-test-			+= media/i2c/tvaudio.h
-header-test-			+= media/i2c/tvp514x.h
-header-test-			+= media/i2c/tvp7002.h
-header-test-			+= media/i2c/wm8775.h
-header-test-			+= media/imx.h
-header-test-			+= media/media-dev-allocator.h
-header-test-			+= media/mpeg2-ctrls.h
-header-test-			+= media/rcar-fcp.h
-header-test-			+= media/tuner-types.h
-header-test-			+= media/tveeprom.h
-header-test-			+= media/v4l2-flash-led-class.h
-header-test-			+= misc/altera.h
-header-test-			+= misc/cxl-base.h
-header-test-			+= misc/cxllib.h
-header-test-			+= net/9p/9p.h
-header-test-			+= net/9p/client.h
-header-test-			+= net/9p/transport.h
-header-test-			+= net/af_vsock.h
-header-test-			+= net/ax88796.h
-header-test-			+= net/bluetooth/hci.h
-header-test-			+= net/bluetooth/hci_core.h
-header-test-			+= net/bluetooth/hci_mon.h
-header-test-			+= net/bluetooth/hci_sock.h
-header-test-			+= net/bluetooth/l2cap.h
-header-test-			+= net/bluetooth/mgmt.h
-header-test-			+= net/bluetooth/rfcomm.h
-header-test-			+= net/bluetooth/sco.h
-header-test-			+= net/bond_options.h
-header-test-			+= net/caif/cfsrvl.h
-header-test-			+= net/codel_impl.h
-header-test-			+= net/codel_qdisc.h
-header-test-			+= net/compat.h
-header-test-			+= net/datalink.h
-header-test-			+= net/dcbevent.h
-header-test-			+= net/dcbnl.h
-header-test-			+= net/dn_dev.h
-header-test-			+= net/dn_fib.h
-header-test-			+= net/dn_neigh.h
-header-test-			+= net/dn_nsp.h
-header-test-			+= net/dn_route.h
-header-test-			+= net/erspan.h
-header-test-			+= net/esp.h
-header-test-			+= net/ethoc.h
-header-test-			+= net/firewire.h
-header-test-			+= net/flow_offload.h
-header-test-			+= net/fq.h
-header-test-			+= net/fq_impl.h
-header-test-			+= net/garp.h
-header-test-			+= net/gtp.h
-header-test-			+= net/gue.h
-header-test-			+= net/hwbm.h
-header-test-			+= net/ila.h
-header-test-			+= net/inet6_connection_sock.h
-header-test-			+= net/inet_common.h
-header-test-			+= net/inet_frag.h
-header-test-			+= net/ip6_route.h
-header-test-			+= net/ip_vs.h
-header-test-			+= net/ipcomp.h
-header-test-			+= net/ipconfig.h
-header-test-			+= net/iucv/af_iucv.h
-header-test-			+= net/iucv/iucv.h
-header-test-			+= net/lapb.h
-header-test-			+= net/llc_c_ac.h
-header-test-			+= net/llc_c_st.h
-header-test-			+= net/llc_s_ac.h
-header-test-			+= net/llc_s_ev.h
-header-test-			+= net/llc_s_st.h
-header-test-			+= net/mpls_iptunnel.h
-header-test-			+= net/mrp.h
-header-test-			+= net/ncsi.h
-header-test-			+= net/netevent.h
-header-test-			+= net/netns/can.h
-header-test-			+= net/netns/generic.h
-header-test-			+= net/netns/ieee802154_6lowpan.h
-header-test-			+= net/netns/ipv4.h
-header-test-			+= net/netns/ipv6.h
-header-test-			+= net/netns/mpls.h
-header-test-			+= net/netns/nftables.h
-header-test-			+= net/netns/sctp.h
-header-test-			+= net/netrom.h
-header-test-			+= net/p8022.h
-header-test-			+= net/phonet/pep.h
-header-test-			+= net/phonet/phonet.h
-header-test-			+= net/phonet/pn_dev.h
-header-test-			+= net/pptp.h
-header-test-			+= net/psample.h
-header-test-			+= net/psnap.h
-header-test-			+= net/regulatory.h
-header-test-			+= net/rose.h
-header-test-			+= net/sctp/auth.h
-header-test-			+= net/sctp/stream_interleave.h
-header-test-			+= net/sctp/stream_sched.h
-header-test-			+= net/sctp/tsnmap.h
-header-test-			+= net/sctp/ulpevent.h
-header-test-			+= net/sctp/ulpqueue.h
-header-test-			+= net/secure_seq.h
-header-test-			+= net/smc.h
-header-test-			+= net/stp.h
-header-test-			+= net/transp_v6.h
-header-test-			+= net/tun_proto.h
-header-test-			+= net/udplite.h
-header-test-			+= net/xdp.h
-header-test-			+= net/xdp_priv.h
-header-test-			+= pcmcia/cistpl.h
-header-test-			+= pcmcia/ds.h
-header-test-			+= rdma/tid_rdma_defs.h
-header-test-			+= scsi/fc/fc_encaps.h
-header-test-			+= scsi/fc/fc_fc2.h
-header-test-			+= scsi/fc/fc_fcoe.h
-header-test-			+= scsi/fc/fc_fip.h
-header-test-			+= scsi/fc_encode.h
-header-test-			+= scsi/fc_frame.h
-header-test-			+= scsi/iser.h
-header-test-			+= scsi/libfc.h
-header-test-			+= scsi/libfcoe.h
-header-test-			+= scsi/libsas.h
-header-test-			+= scsi/sas_ata.h
-header-test-			+= scsi/scsi_cmnd.h
-header-test-			+= scsi/scsi_dbg.h
-header-test-			+= scsi/scsi_device.h
-header-test-			+= scsi/scsi_dh.h
-header-test-			+= scsi/scsi_eh.h
-header-test-			+= scsi/scsi_host.h
-header-test-			+= scsi/scsi_ioctl.h
-header-test-			+= scsi/scsi_request.h
-header-test-			+= scsi/scsi_tcq.h
-header-test-			+= scsi/scsi_transport.h
-header-test-			+= scsi/scsi_transport_fc.h
-header-test-			+= scsi/scsi_transport_sas.h
-header-test-			+= scsi/scsi_transport_spi.h
-header-test-			+= scsi/scsi_transport_srp.h
-header-test-			+= scsi/scsicam.h
-header-test-			+= scsi/sg.h
-header-test-			+= soc/arc/aux.h
-header-test-			+= soc/arc/mcip.h
-header-test-			+= soc/arc/timers.h
-header-test-			+= soc/brcmstb/common.h
-header-test-			+= soc/fsl/bman.h
-header-test-			+= soc/fsl/qe/qe.h
-header-test-			+= soc/fsl/qe/qe_ic.h
-header-test-			+= soc/fsl/qe/qe_tdm.h
-header-test-			+= soc/fsl/qe/ucc.h
-header-test-			+= soc/fsl/qe/ucc_fast.h
-header-test-			+= soc/fsl/qe/ucc_slow.h
-header-test-			+= soc/fsl/qman.h
-header-test-			+= soc/nps/common.h
-header-test-$(CONFIG_ARC)	+= soc/nps/mtm.h
-header-test-			+= soc/qcom/cmd-db.h
-header-test-			+= soc/qcom/rpmh.h
-header-test-			+= soc/qcom/tcs.h
-header-test-			+= soc/tegra/ahb.h
-header-test-			+= soc/tegra/bpmp-abi.h
-header-test-			+= soc/tegra/common.h
-header-test-			+= soc/tegra/flowctrl.h
-header-test-			+= soc/tegra/fuse.h
-header-test-			+= soc/tegra/mc.h
-header-test-			+= sound/ac97/compat.h
-header-test-			+= sound/aci.h
-header-test-			+= sound/ad1843.h
-header-test-			+= sound/adau1373.h
-header-test-			+= sound/ak4113.h
-header-test-			+= sound/ak4114.h
-header-test-			+= sound/ak4117.h
-header-test-			+= sound/cs35l33.h
-header-test-			+= sound/cs35l34.h
-header-test-			+= sound/cs35l35.h
-header-test-			+= sound/cs35l36.h
-header-test-			+= sound/cs4271.h
-header-test-			+= sound/cs42l52.h
-header-test-			+= sound/cs8427.h
-header-test-			+= sound/da7218.h
-header-test-			+= sound/da7219-aad.h
-header-test-			+= sound/da7219.h
-header-test-			+= sound/da9055.h
-header-test-			+= sound/emu8000.h
-header-test-			+= sound/emux_synth.h
-header-test-			+= sound/hda_component.h
-header-test-			+= sound/hda_hwdep.h
-header-test-			+= sound/hda_i915.h
-header-test-			+= sound/hwdep.h
-header-test-			+= sound/i2c.h
-header-test-			+= sound/l3.h
-header-test-			+= sound/max98088.h
-header-test-			+= sound/max98095.h
-header-test-			+= sound/mixer_oss.h
-header-test-			+= sound/omap-hdmi-audio.h
-header-test-			+= sound/pcm_drm_eld.h
-header-test-			+= sound/pcm_iec958.h
-header-test-			+= sound/pcm_oss.h
-header-test-			+= sound/pxa2xx-lib.h
-header-test-			+= sound/rt286.h
-header-test-			+= sound/rt298.h
-header-test-			+= sound/rt5645.h
-header-test-			+= sound/rt5659.h
-header-test-			+= sound/rt5660.h
-header-test-			+= sound/rt5665.h
-header-test-			+= sound/rt5670.h
-header-test-			+= sound/s3c24xx_uda134x.h
-header-test-			+= sound/seq_device.h
-header-test-			+= sound/seq_kernel.h
-header-test-			+= sound/seq_midi_emul.h
-header-test-			+= sound/seq_oss.h
-header-test-			+= sound/soc-acpi-intel-match.h
-header-test-			+= sound/soc-dai.h
-header-test-			+= sound/soc-dapm.h
-header-test-			+= sound/soc-dpcm.h
-header-test-			+= sound/sof/control.h
-header-test-			+= sound/sof/dai-intel.h
-header-test-			+= sound/sof/dai.h
-header-test-			+= sound/sof/header.h
-header-test-			+= sound/sof/info.h
-header-test-			+= sound/sof/pm.h
-header-test-			+= sound/sof/stream.h
-header-test-			+= sound/sof/topology.h
-header-test-			+= sound/sof/trace.h
-header-test-			+= sound/sof/xtensa.h
-header-test-			+= sound/spear_spdif.h
-header-test-			+= sound/sta32x.h
-header-test-			+= sound/sta350.h
-header-test-			+= sound/tea6330t.h
-header-test-			+= sound/tlv320aic32x4.h
-header-test-			+= sound/tlv320dac33-plat.h
-header-test-			+= sound/uda134x.h
-header-test-			+= sound/wavefront.h
-header-test-			+= sound/wm8903.h
-header-test-			+= sound/wm8904.h
-header-test-			+= sound/wm8960.h
-header-test-			+= sound/wm8962.h
-header-test-			+= sound/wm8993.h
-header-test-			+= sound/wm8996.h
-header-test-			+= sound/wm9081.h
-header-test-			+= sound/wm9090.h
-header-test-			+= target/iscsi/iscsi_target_stat.h
-header-test-			+= trace/bpf_probe.h
-header-test-			+= trace/events/9p.h
-header-test-			+= trace/events/afs.h
-header-test-			+= trace/events/asoc.h
-header-test-			+= trace/events/bcache.h
-header-test-			+= trace/events/block.h
-header-test-			+= trace/events/cachefiles.h
-header-test-			+= trace/events/cgroup.h
-header-test-			+= trace/events/clk.h
-header-test-			+= trace/events/cma.h
-header-test-			+= trace/events/ext4.h
-header-test-			+= trace/events/f2fs.h
-header-test-			+= trace/events/fs_dax.h
-header-test-			+= trace/events/fscache.h
-header-test-			+= trace/events/fsi.h
-header-test-			+= trace/events/fsi_master_ast_cf.h
-header-test-			+= trace/events/fsi_master_gpio.h
-header-test-			+= trace/events/huge_memory.h
-header-test-			+= trace/events/ib_mad.h
-header-test-			+= trace/events/ib_umad.h
-header-test-			+= trace/events/iscsi.h
-header-test-			+= trace/events/jbd2.h
-header-test-			+= trace/events/kvm.h
-header-test-			+= trace/events/kyber.h
-header-test-			+= trace/events/libata.h
-header-test-			+= trace/events/mce.h
-header-test-			+= trace/events/mdio.h
-header-test-			+= trace/events/migrate.h
-header-test-			+= trace/events/mmflags.h
-header-test-			+= trace/events/nbd.h
-header-test-			+= trace/events/nilfs2.h
-header-test-			+= trace/events/pwc.h
-header-test-			+= trace/events/rdma.h
-header-test-			+= trace/events/rpcgss.h
-header-test-			+= trace/events/rpcrdma.h
-header-test-			+= trace/events/rxrpc.h
-header-test-			+= trace/events/scsi.h
-header-test-			+= trace/events/siox.h
-header-test-			+= trace/events/spi.h
-header-test-			+= trace/events/swiotlb.h
-header-test-			+= trace/events/syscalls.h
-header-test-			+= trace/events/target.h
-header-test-			+= trace/events/thermal_power_allocator.h
-header-test-			+= trace/events/timer.h
-header-test-			+= trace/events/wbt.h
-header-test-			+= trace/events/xen.h
-header-test-			+= trace/perf.h
-header-test-			+= trace/trace_events.h
-header-test-			+= uapi/drm/vmwgfx_drm.h
-header-test-			+= uapi/linux/a.out.h
-header-test-			+= uapi/linux/coda.h
-header-test-			+= uapi/linux/coda_psdev.h
-header-test-			+= uapi/linux/errqueue.h
-header-test-			+= uapi/linux/eventpoll.h
-header-test-			+= uapi/linux/hdlc/ioctl.h
-header-test-			+= uapi/linux/input.h
-header-test-			+= uapi/linux/kvm.h
-header-test-			+= uapi/linux/kvm_para.h
-header-test-			+= uapi/linux/lightnvm.h
-header-test-			+= uapi/linux/mic_common.h
-header-test-			+= uapi/linux/mman.h
-header-test-			+= uapi/linux/nilfs2_ondisk.h
-header-test-			+= uapi/linux/patchkey.h
-header-test-			+= uapi/linux/ptrace.h
-header-test-			+= uapi/linux/scc.h
-header-test-			+= uapi/linux/seg6_iptunnel.h
-header-test-			+= uapi/linux/smc_diag.h
-header-test-			+= uapi/linux/timex.h
-header-test-			+= uapi/linux/videodev2.h
-header-test-			+= uapi/scsi/scsi_bsg_fc.h
-header-test-			+= uapi/sound/asound.h
-header-test-			+= uapi/sound/sof/eq.h
-header-test-			+= uapi/sound/sof/fw.h
-header-test-			+= uapi/sound/sof/header.h
-header-test-			+= uapi/sound/sof/manifest.h
-header-test-			+= uapi/sound/sof/trace.h
-header-test-			+= uapi/xen/evtchn.h
-header-test-			+= uapi/xen/gntdev.h
-header-test-			+= uapi/xen/privcmd.h
-header-test-			+= vdso/vsyscall.h
-header-test-			+= video/broadsheetfb.h
-header-test-			+= video/cvisionppc.h
-header-test-			+= video/gbe.h
-header-test-			+= video/kyro.h
-header-test-			+= video/maxinefb.h
-header-test-			+= video/metronomefb.h
-header-test-			+= video/neomagic.h
-header-test-			+= video/of_display_timing.h
-header-test-			+= video/omapvrfb.h
-header-test-			+= video/s1d13xxxfb.h
-header-test-			+= video/sstfb.h
-header-test-			+= video/tgafb.h
-header-test-			+= video/udlfb.h
-header-test-			+= video/uvesafb.h
-header-test-			+= video/vga.h
-header-test-			+= video/w100fb.h
-header-test-			+= xen/acpi.h
-header-test-			+= xen/arm/hypercall.h
-header-test-			+= xen/arm/page-coherent.h
-header-test-			+= xen/arm/page.h
-header-test-			+= xen/balloon.h
-header-test-			+= xen/events.h
-header-test-			+= xen/features.h
-header-test-			+= xen/grant_table.h
-header-test-			+= xen/hvm.h
-header-test-			+= xen/interface/callback.h
-header-test-			+= xen/interface/event_channel.h
-header-test-			+= xen/interface/grant_table.h
-header-test-			+= xen/interface/hvm/dm_op.h
-header-test-			+= xen/interface/hvm/hvm_op.h
-header-test-			+= xen/interface/hvm/hvm_vcpu.h
-header-test-			+= xen/interface/hvm/params.h
-header-test-			+= xen/interface/hvm/start_info.h
-header-test-			+= xen/interface/io/9pfs.h
-header-test-			+= xen/interface/io/blkif.h
-header-test-			+= xen/interface/io/console.h
-header-test-			+= xen/interface/io/displif.h
-header-test-			+= xen/interface/io/fbif.h
-header-test-			+= xen/interface/io/kbdif.h
-header-test-			+= xen/interface/io/netif.h
-header-test-			+= xen/interface/io/pciif.h
-header-test-			+= xen/interface/io/protocols.h
-header-test-			+= xen/interface/io/pvcalls.h
-header-test-			+= xen/interface/io/ring.h
-header-test-			+= xen/interface/io/sndif.h
-header-test-			+= xen/interface/io/tpmif.h
-header-test-			+= xen/interface/io/vscsiif.h
-header-test-			+= xen/interface/io/xs_wire.h
-header-test-			+= xen/interface/memory.h
-header-test-			+= xen/interface/nmi.h
-header-test-			+= xen/interface/physdev.h
-header-test-			+= xen/interface/platform.h
-header-test-			+= xen/interface/sched.h
-header-test-			+= xen/interface/vcpu.h
-header-test-			+= xen/interface/version.h
-header-test-			+= xen/interface/xen-mca.h
-header-test-			+= xen/interface/xen.h
-header-test-			+= xen/interface/xenpmu.h
-header-test-			+= xen/mem-reservation.h
-header-test-			+= xen/page.h
-header-test-			+= xen/platform_pci.h
-header-test-			+= xen/swiotlb-xen.h
-header-test-			+= xen/xen-front-pgdir-shbuf.h
-header-test-			+= xen/xen-ops.h
-header-test-			+= xen/xen.h
-header-test-			+= xen/xenbus.h
-
-# Do not include directly
-header-test- += linux/compiler-clang.h
-header-test- += linux/compiler-gcc.h
-header-test- += linux/patchkey.h
-header-test- += linux/rwlock_api_smp.h
-header-test- += linux/spinlock_types_up.h
-header-test- += linux/spinlock_up.h
-header-test- += linux/wimax/debug.h
-header-test- += rdma/uverbs_named_ioctl.h
-
-# asm-generic/*.h is used by asm/*.h, and should not be included directly
-header-test- += asm-generic/% uapi/asm-generic/%
-
-# Timestamp files touched by Kconfig
-header-test- += config/%
-
-# Timestamp files touched by scripts/adjust_autoksyms.sh
-header-test- += ksym/%
-
-# You could compile-test these, but maybe not so useful...
-header-test- += dt-bindings/%
-
-# Do not test generated headers. Stale headers are often left over when you
-# traverse the git history without cleaning.
-header-test- += generated/%
-
-# The rest are compile-tested
-header-test-pattern-y += */*.h */*/*.h */*/*/*.h */*/*/*/*.h
diff --git a/init/Kconfig b/init/Kconfig
index b4daad2bac23..8d1667fc4415 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -104,29 +104,9 @@ config COMPILE_TEST
 	  here. If you are a user/distributor, say N here to exclude useless
 	  drivers to be distributed.
 
-config HEADER_TEST
-	bool "Compile test headers that should be standalone compilable"
-	help
-	  Compile test headers listed in header-test-y target to ensure they are
-	  self-contained, i.e. compilable as standalone units.
-
-	  If you are a developer or tester and want to ensure the requested
-	  headers are self-contained, say Y here. Otherwise, choose N.
-
-config KERNEL_HEADER_TEST
-	bool "Compile test kernel headers"
-	depends on HEADER_TEST
-	help
-	  Headers in include/ are used to build external moduls.
-	  Compile test them to ensure they are self-contained, i.e.
-	  compilable as standalone units.
-
-	  If you are a developer or tester and want to ensure the headers
-	  in include/ are self-contained, say Y here. Otherwise, choose N.
-
 config UAPI_HEADER_TEST
 	bool "Compile test UAPI headers"
-	depends on HEADER_TEST && HEADERS_INSTALL && CC_CAN_LINK
+	depends on HEADERS_INSTALL && CC_CAN_LINK
 	help
 	  Compile test headers exported to user-space to ensure they are
 	  self-contained, i.e. compilable as standalone units.
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index a9e47953ca53..24a33c01bbf7 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -283,15 +283,6 @@ quiet_cmd_cc_lst_c = MKLST   $@
 $(obj)/%.lst: $(src)/%.c FORCE
 	$(call if_changed_dep,cc_lst_c)
 
-# header test (header-test-y, header-test-m target)
-# ---------------------------------------------------------------------------
-
-quiet_cmd_cc_s_h = CC      $@
-      cmd_cc_s_h = $(CC) $(c_flags) -S -o $@ -x c /dev/null -include $<
-
-$(obj)/%.h.s: $(src)/%.h FORCE
-	$(call if_changed_dep,cc_s_h)
-
 # Compile assembler sources (.S)
 # ---------------------------------------------------------------------------
 
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 179d55af5852..3fa32f83b2d7 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -65,20 +65,6 @@ extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y))
 extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-))
 endif
 
-# Test self-contained headers
-
-# Wildcard searches in $(srctree)/$(src)/, but not in $(objtree)/$(obj)/.
-# Stale generated headers are often left over, so pattern matching should
-# be avoided. Please notice $(srctree)/$(src)/ and $(objtree)/$(obj) point
-# to the same location for in-tree building. So, header-test-pattern-y should
-# be used with care.
-header-test-y	+= $(filter-out $(header-test-), \
-		$(patsubst $(srctree)/$(src)/%, %, \
-		$(wildcard $(addprefix $(srctree)/$(src)/, \
-		$(header-test-pattern-y)))))
-
-extra-$(CONFIG_HEADER_TEST) += $(addsuffix .s, $(header-test-y) $(header-test-m))
-
 # Add subdir path
 
 extra-y		:= $(addprefix $(obj)/,$(extra-y))
diff --git a/usr/include/Makefile b/usr/include/Makefile
index 44965231bf79..a7c3e2f81680 100644
--- a/usr/include/Makefile
+++ b/usr/include/Makefile
@@ -92,9 +92,13 @@ endif
 # asm-generic/*.h is used by asm/*.h, and should not be included directly
 header-test- += asm-generic/%
 
-# The rest are compile-tested
-header-test-y += $(filter-out $(header-test-), \
-			$(patsubst $(obj)/%,%, $(wildcard \
-			$(addprefix $(obj)/, *.h */*.h */*/*.h */*/*/*.h))))
+extra-y := $(patsubst %.h,%.hdrtest, $(filter-out $(header-test-), \
+		$(patsubst $(obj)/%,%, $(shell find $(obj) -name '*.h'))))
+
+quiet_cmd_hdrtest = HDRTEST $<
+      cmd_hdrtest = $(CC) $(c_flags) -S -o /dev/null -x c /dev/null -include $<; touch $@
+
+$(obj)/%.hdrtest: $(obj)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
 
 clean-files += $(filter-out Makefile, $(notdir $(wildcard $(obj)/*)))
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] kbuild: move headers_check rule to usr/include/Makefile
  2019-11-07  7:14 [PATCH 1/2] kbuild: remove header compile test Masahiro Yamada
@ 2019-11-07  7:14 ` Masahiro Yamada
       [not found] ` <87a7982hwc.fsf@intel.com>
  1 sibling, 0 replies; 3+ messages in thread
From: Masahiro Yamada @ 2019-11-07  7:14 UTC (permalink / raw)
  To: linux-kbuild; +Cc: Linus Torvalds, linux-kernel, Jani Nikula, Masahiro Yamada

Currently, some sanity checks for uapi headers are done by
scripts/headers_check.pl, which is wired up to the 'headers_check'
target in the top Makefile.

It is true compiling headers has better test coverage, but there
are still several headers excluded from the compile test. I like
to keep headers_check.pl for a while, but we can delete a lot of
code by moving the build rule to usr/include/Makefile.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 Makefile                     | 11 +++--------
 lib/Kconfig.debug            | 11 -----------
 scripts/Makefile.headersinst | 18 ------------------
 usr/include/Makefile         |  9 ++++++---
 4 files changed, 9 insertions(+), 40 deletions(-)

diff --git a/Makefile b/Makefile
index 225884bd0d86..778f92e58020 100644
--- a/Makefile
+++ b/Makefile
@@ -1192,19 +1192,15 @@ headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
 	$(Q)$(MAKE) $(hdr-inst)=include/uapi
 	$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
 
+# Deprecated. It is no-op now.
 PHONY += headers_check
-headers_check: headers
-	$(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
-	$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi HDRCHECK=1
+headers_check:
+	@:
 
 ifdef CONFIG_HEADERS_INSTALL
 prepare: headers
 endif
 
-ifdef CONFIG_HEADERS_CHECK
-all: headers_check
-endif
-
 PHONY += scripts_unifdef
 scripts_unifdef: scripts_basic
 	$(Q)$(MAKE) $(build)=scripts scripts/unifdef
@@ -1472,7 +1468,6 @@ help:
 	@echo  '  versioncheck    - Sanity check on version.h usage'
 	@echo  '  includecheck    - Check for duplicate included header files'
 	@echo  '  export_report   - List the usages of all exported symbols'
-	@echo  '  headers_check   - Sanity check on exported headers'
 	@echo  '  headerdep       - Detect inclusion cycles in headers'
 	@echo  '  coccicheck      - Check with Coccinelle'
 	@echo  ''
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 93d97f9b0157..f61d834e02fe 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -299,17 +299,6 @@ config HEADERS_INSTALL
 	  user-space program samples. It is also needed by some features such
 	  as uapi header sanity checks.
 
-config HEADERS_CHECK
-	bool "Run sanity checks on uapi headers when building 'all'"
-	depends on HEADERS_INSTALL
-	help
-	  This option will run basic sanity checks on uapi headers when
-	  building the 'all' target, for example, ensure that they do not
-	  attempt to include files which were not exported, etc.
-
-	  If you're making modifications to header files which are
-	  relevant for userspace, say 'Y'.
-
 config OPTIMIZE_INLINING
 	def_bool y
 	help
diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst
index 1b405a7ed14f..708fbd08a2c5 100644
--- a/scripts/Makefile.headersinst
+++ b/scripts/Makefile.headersinst
@@ -56,9 +56,6 @@ new-dirs      := $(filter-out $(existing-dirs), $(wanted-dirs))
 $(if $(new-dirs), $(shell mkdir -p $(new-dirs)))
 
 # Rules
-
-ifndef HDRCHECK
-
 quiet_cmd_install = HDRINST $@
       cmd_install = $(CONFIG_SHELL) $(srctree)/scripts/headers_install.sh $< $@
 
@@ -81,21 +78,6 @@ existing-headers := $(filter $(old-headers), $(all-headers))
 
 -include $(foreach f,$(existing-headers),$(dir $(f)).$(notdir $(f)).cmd)
 
-else
-
-quiet_cmd_check = HDRCHK  $<
-      cmd_check = $(PERL) $(srctree)/scripts/headers_check.pl $(dst) $(SRCARCH) $<; touch $@
-
-check-files := $(addsuffix .chk, $(all-headers))
-
-$(check-files): $(dst)/%.chk : $(dst)/% $(srctree)/scripts/headers_check.pl
-	$(call cmd,check)
-
-__headers: $(check-files)
-	@:
-
-endif
-
 PHONY += FORCE
 FORCE:
 
diff --git a/usr/include/Makefile b/usr/include/Makefile
index a7c3e2f81680..604dfdcd6d3c 100644
--- a/usr/include/Makefile
+++ b/usr/include/Makefile
@@ -92,11 +92,14 @@ endif
 # asm-generic/*.h is used by asm/*.h, and should not be included directly
 header-test- += asm-generic/%
 
-extra-y := $(patsubst %.h,%.hdrtest, $(filter-out $(header-test-), \
-		$(patsubst $(obj)/%,%, $(shell find $(obj) -name '*.h'))))
+extra-y := $(patsubst $(obj)/%.h,%.hdrtest, $(shell find $(obj) -name '*.h'))
 
 quiet_cmd_hdrtest = HDRTEST $<
-      cmd_hdrtest = $(CC) $(c_flags) -S -o /dev/null -x c /dev/null -include $<; touch $@
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -S -o /dev/null -x c /dev/null \
+			$(if $(filter-out $(header-test-), $*.h), -include $<); \
+		$(PERL) $(srctree)/scripts/headers_check.pl $(obj) $(SRCARCH) $<; \
+		touch $@
 
 $(obj)/%.hdrtest: $(obj)/%.h FORCE
 	$(call if_changed_dep,hdrtest)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH 1/2] kbuild: remove header compile test
       [not found] ` <87a7982hwc.fsf@intel.com>
@ 2019-11-08  5:38   ` yamada.masahiro
  0 siblings, 0 replies; 3+ messages in thread
From: yamada.masahiro @ 2019-11-08  5:38 UTC (permalink / raw)
  To: jani.nikula, linux-kbuild; +Cc: linux-kernel, intel-gfx, torvalds

[-- Attachment #1: Type: text/plain, Size: 63205 bytes --]

Hi Jani,

> -----Original Message-----
> From: Jani Nikula <jani.nikula@intel.com>
> Sent: Thursday, November 07, 2019 5:46 PM
> To: Linus Torvalds <torvalds@linux-foundation.org>; Yamada, Masahiro/山田
> 真弘 <yamada.masahiro@socionext.com>; linux-kbuild@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org; intel-gfx@lists.freedesktop.org
> Subject: Re: [PATCH 1/2] kbuild: remove header compile test
> 
> On Thu, 07 Nov 2019, Masahiro Yamada <yamada.masahiro@socionext.com>
> wrote:
> > There are both positive and negative options about this feature.
> > At first, I thought it was a good idea, but actually Linus stated a
> > negative opinion (https://lkml.org/lkml/2019/9/29/227). I admit it
> > is ugly and annoying.
> 
> Linus, we used to have a homebrew local version of this in i915 because
> we have loads of include files, they are a mess with a decade of
> organigally grown cruft, and it has been helpful in ensuring we don't
> break stuff while we refactor and disentangle the whole mess. The
> implementation in kbuild is far superior to what we can do in driver
> Makefiles.

Could check the attached three patches?

i915 is the only driver passionate about the header self-contained'ness.
It would not be horrible to implement a own build rule in i915 Makefile.

0003 decreases the amount of code.

0001 and 0002 are trivial and can go in independently.
( I just send them to intel-gfx ML)

Thanks.

Masahiro Yamada



> Could we please leave the feature be, and let drivers and subsystems use
> it as they see fit, instead of nuking it from kbuild altogether? Just
> drop the automatic checking of include/. And perhaps change the
> implementation to use dot prefixed filenames?
> 
> Note that in i915 we enabled the whole thing only in our own CI and
> build test config, disabled by default and depends on !COMPILE_TEST to
> hide it from the rest of the world. But it was useful to *us*.
> 
> 
> BR,
> Jani.
> 
> 
> >
> > The baseline I'd like to keep is the compile-test of uapi headers.
> > (Otherwise, kernel developers have no way to ensure the correctness
> > of the exported headers.)
> >
> > I will maintain a small build rule in usr/include/Makefile.
> > Remove the other header test functionality.
> >
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > ---
> >
> >  Documentation/kbuild/makefiles.rst |   17 -
> >  Makefile                           |    1 -
> >  drivers/gpu/drm/i915/Kconfig.debug |    1 -
> >  include/Kbuild                     | 1185 ----------------------------
> >  init/Kconfig                       |   22 +-
> >  scripts/Makefile.build             |    9 -
> >  scripts/Makefile.lib               |   14 -
> >  usr/include/Makefile               |   12 +-
> >  8 files changed, 9 insertions(+), 1252 deletions(-)
> >  delete mode 100644 include/Kbuild
> >
> > diff --git a/Documentation/kbuild/makefiles.rst
> b/Documentation/kbuild/makefiles.rst
> > index b89c88168d6a..b9b50553bfc5 100644
> > --- a/Documentation/kbuild/makefiles.rst
> > +++ b/Documentation/kbuild/makefiles.rst
> > @@ -1115,23 +1115,6 @@ When kbuild executes, the following steps are
> followed (roughly):
> >  	In this example, extra-y is used to list object files that
> >  	shall be built, but shall not be linked as part of built-in.a.
> >
> > -    header-test-y
> > -
> > -	header-test-y specifies headers (`*.h`) in the current directory that
> > -	should be compile tested to ensure they are self-contained,
> > -	i.e. compilable as standalone units. If CONFIG_HEADER_TEST is
> enabled,
> > -	this builds them as part of extra-y.
> > -
> > -    header-test-pattern-y
> > -
> > -	This works as a weaker version of header-test-y, and accepts wildcard
> > -	patterns. The typical usage is::
> > -
> > -		header-test-pattern-y += *.h
> > -
> > -	This specifies all the files that matches to `*.h` in the current
> > -	directory, but the files in 'header-test-' are excluded.
> > -
> >  6.7 Commands useful for building a boot image
> >  ---------------------------------------------
> >
> > diff --git a/Makefile b/Makefile
> > index b37d0e8fc61d..225884bd0d86 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -618,7 +618,6 @@ ifeq ($(KBUILD_EXTMOD),)
> >  init-y		:= init/
> >  drivers-y	:= drivers/ sound/
> >  drivers-$(CONFIG_SAMPLES) += samples/
> > -drivers-$(CONFIG_KERNEL_HEADER_TEST) += include/
> >  net-y		:= net/
> >  libs-y		:= lib/
> >  core-y		:= usr/
> > diff --git a/drivers/gpu/drm/i915/Kconfig.debug
> b/drivers/gpu/drm/i915/Kconfig.debug
> > index 00786a142ff0..41c8e39a73ba 100644
> > --- a/drivers/gpu/drm/i915/Kconfig.debug
> > +++ b/drivers/gpu/drm/i915/Kconfig.debug
> > @@ -7,7 +7,6 @@ config DRM_I915_WERROR
> >          # We use the dependency on !COMPILE_TEST to not be enabled in
> >          # allmodconfig or allyesconfig configurations
> >          depends on !COMPILE_TEST
> > -	select HEADER_TEST
> >          default n
> >          help
> >            Add -Werror to the build flags for (and only for) i915.ko.
> > diff --git a/include/Kbuild b/include/Kbuild
> > deleted file mode 100644
> > index ffba79483cc5..000000000000
> > --- a/include/Kbuild
> > +++ /dev/null
> > @@ -1,1185 +0,0 @@
> > -# SPDX-License-Identifier: GPL-2.0-only
> > -
> > -# Add header-test-$(CONFIG_...) guard to headers that are only compiled
> > -# for particular architectures.
> > -#
> > -# Headers listed in header-test- are excluded from the test coverage.
> > -# Many headers are excluded for now because they fail to build. Please
> > -# consider to fix headers first before adding new ones to the blacklist.
> > -#
> > -# Sorted alphabetically.
> > -header-test-			+= acpi/acbuffer.h
> > -header-test-			+= acpi/acpi.h
> > -header-test-			+= acpi/acpi_bus.h
> > -header-test-			+= acpi/acpi_drivers.h
> > -header-test-			+= acpi/acpi_io.h
> > -header-test-			+= acpi/acpi_lpat.h
> > -header-test-			+= acpi/acpiosxf.h
> > -header-test-			+= acpi/acpixf.h
> > -header-test-			+= acpi/acrestyp.h
> > -header-test-			+= acpi/actbl.h
> > -header-test-			+= acpi/actbl1.h
> > -header-test-			+= acpi/actbl2.h
> > -header-test-			+= acpi/actbl3.h
> > -header-test-			+= acpi/actypes.h
> > -header-test-			+= acpi/battery.h
> > -header-test-			+= acpi/cppc_acpi.h
> > -header-test-			+= acpi/nfit.h
> > -header-test-			+= acpi/platform/acenv.h
> > -header-test-			+= acpi/platform/acenvex.h
> > -header-test-			+= acpi/platform/acintel.h
> > -header-test-			+= acpi/platform/aclinux.h
> > -header-test-			+= acpi/platform/aclinuxex.h
> > -header-test-			+= acpi/processor.h
> > -header-test-$(CONFIG_X86)	+= clocksource/hyperv_timer.h
> > -header-test-			+= clocksource/timer-sp804.h
> > -header-test-			+= crypto/cast_common.h
> > -header-test-			+= crypto/internal/cryptouser.h
> > -header-test-			+= crypto/pkcs7.h
> > -header-test-			+= crypto/poly1305.h
> > -header-test-			+= crypto/sha3.h
> > -header-test-			+= drm/ati_pcigart.h
> > -header-test-			+= drm/bridge/dw_hdmi.h
> > -header-test-			+= drm/bridge/dw_mipi_dsi.h
> > -header-test-			+= drm/drm_audio_component.h
> > -header-test-			+= drm/drm_auth.h
> > -header-test-			+= drm/drm_debugfs.h
> > -header-test-			+= drm/drm_debugfs_crc.h
> > -header-test-			+= drm/drm_displayid.h
> > -header-test-			+= drm/drm_encoder_slave.h
> > -header-test-			+= drm/drm_fb_cma_helper.h
> > -header-test-			+= drm/drm_fb_helper.h
> > -header-test-			+= drm/drm_fixed.h
> > -header-test-			+= drm/drm_format_helper.h
> > -header-test-			+= drm/drm_lease.h
> > -header-test-			+= drm/drm_legacy.h
> > -header-test-			+= drm/drm_panel.h
> > -header-test-			+= drm/drm_plane_helper.h
> > -header-test-			+= drm/drm_rect.h
> > -header-test-			+= drm/i915_component.h
> > -header-test-			+= drm/intel-gtt.h
> > -header-test-			+= drm/tinydrm/tinydrm-helpers.h
> > -header-test-			+= drm/ttm/ttm_debug.h
> > -header-test-			+= keys/asymmetric-parser.h
> > -header-test-			+= keys/asymmetric-subtype.h
> > -header-test-			+= keys/asymmetric-type.h
> > -header-test-			+= keys/big_key-type.h
> > -header-test-			+= keys/request_key_auth-type.h
> > -header-test-			+= keys/trusted.h
> > -header-test-			+= kvm/arm_arch_timer.h
> > -header-test-			+= kvm/arm_pmu.h
> > -header-test-$(CONFIG_ARM)	+= kvm/arm_psci.h
> > -header-test-$(CONFIG_ARM64)	+= kvm/arm_psci.h
> > -header-test-			+= kvm/arm_vgic.h
> > -header-test-			+= linux/8250_pci.h
> > -header-test-			+= linux/a.out.h
> > -header-test-			+= linux/adxl.h
> > -header-test-			+= linux/agpgart.h
> > -header-test-			+= linux/alcor_pci.h
> > -header-test-			+= linux/amba/clcd.h
> > -header-test-			+= linux/amba/pl080.h
> > -header-test-			+= linux/amd-iommu.h
> > -header-test-$(CONFIG_ARM)	+= linux/arm-cci.h
> > -header-test-$(CONFIG_ARM64)	+= linux/arm-cci.h
> > -header-test-			+= linux/arm_sdei.h
> > -header-test-			+= linux/asn1_decoder.h
> > -header-test-			+= linux/ata_platform.h
> > -header-test-			+= linux/ath9k_platform.h
> > -header-test-			+= linux/atm_tcp.h
> > -header-test-			+= linux/atomic-fallback.h
> > -header-test-			+= linux/avf/virtchnl.h
> > -header-test-			+= linux/bcm47xx_sprom.h
> > -header-test-			+= linux/bcma/bcma_driver_gmac_cmn.h
> > -header-test-			+= linux/bcma/bcma_driver_mips.h
> > -header-test-			+= linux/bcma/bcma_driver_pci.h
> > -header-test-			+= linux/bcma/bcma_driver_pcie2.h
> > -header-test-			+= linux/bit_spinlock.h
> > -header-test-			+= linux/blk-mq-rdma.h
> > -header-test-			+= linux/blk-mq.h
> > -header-test-			+= linux/blktrace_api.h
> > -header-test-			+= linux/blockgroup_lock.h
> > -header-test-			+= linux/bma150.h
> > -header-test-			+= linux/bpf_lirc.h
> > -header-test-			+= linux/bpf_types.h
> > -header-test-			+= linux/bsg-lib.h
> > -header-test-			+= linux/bsg.h
> > -header-test-			+= linux/btf.h
> > -header-test-			+= linux/btree-128.h
> > -header-test-			+= linux/btree-type.h
> > -header-test-$(CONFIG_CPU_BIG_ENDIAN) +=
> linux/byteorder/big_endian.h
> > -header-test-			+= linux/byteorder/generic.h
> > -header-test-$(CONFIG_CPU_LITTLE_ENDIAN) +=
> linux/byteorder/little_endian.h
> > -header-test-			+= linux/c2port.h
> > -header-test-			+= linux/can/dev/peak_canfd.h
> > -header-test-			+= linux/can/platform/cc770.h
> > -header-test-			+= linux/can/platform/sja1000.h
> > -header-test-			+= linux/ceph/ceph_features.h
> > -header-test-			+= linux/ceph/ceph_frag.h
> > -header-test-			+= linux/ceph/ceph_fs.h
> > -header-test-			+= linux/ceph/debugfs.h
> > -header-test-			+= linux/ceph/msgr.h
> > -header-test-			+= linux/ceph/rados.h
> > -header-test-			+= linux/cgroup_subsys.h
> > -header-test-			+= linux/clk/sunxi-ng.h
> > -header-test-			+= linux/clk/ti.h
> > -header-test-			+= linux/cn_proc.h
> > -header-test-			+= linux/coda_psdev.h
> > -header-test-			+= linux/compaction.h
> > -header-test-			+= linux/console_struct.h
> > -header-test-			+= linux/count_zeros.h
> > -header-test-			+= linux/cs5535.h
> > -header-test-			+= linux/cuda.h
> > -header-test-			+= linux/cyclades.h
> > -header-test-			+= linux/dcookies.h
> > -header-test-			+= linux/delayacct.h
> > -header-test-			+= linux/delayed_call.h
> > -header-test-			+= linux/device-mapper.h
> > -header-test-			+= linux/devpts_fs.h
> > -header-test-			+= linux/dio.h
> > -header-test-			+= linux/dirent.h
> > -header-test-			+= linux/dlm_plock.h
> > -header-test-			+= linux/dm-dirty-log.h
> > -header-test-			+= linux/dm-region-hash.h
> > -header-test-			+= linux/dma-debug.h
> > -header-test-			+= linux/dma/mmp-pdma.h
> > -header-test-			+= linux/dma/sprd-dma.h
> > -header-test-			+= linux/dns_resolver.h
> > -header-test-			+= linux/drbd_genl.h
> > -header-test-			+= linux/drbd_genl_api.h
> > -header-test-			+= linux/dw_apb_timer.h
> > -header-test-			+= linux/dynamic_debug.h
> > -header-test-			+= linux/dynamic_queue_limits.h
> > -header-test-			+= linux/ecryptfs.h
> > -header-test-			+= linux/edma.h
> > -header-test-			+= linux/eeprom_93cx6.h
> > -header-test-			+= linux/efs_vh.h
> > -header-test-			+= linux/elevator.h
> > -header-test-			+= linux/elfcore-compat.h
> > -header-test-			+= linux/error-injection.h
> > -header-test-			+= linux/errseq.h
> > -header-test-			+= linux/eventpoll.h
> > -header-test-			+= linux/ext2_fs.h
> > -header-test-			+= linux/f75375s.h
> > -header-test-			+= linux/falloc.h
> > -header-test-			+= linux/fault-inject.h
> > -header-test-			+= linux/fbcon.h
> > -header-test-			+=
> linux/firmware/intel/stratix10-svc-client.h
> > -header-test-			+= linux/firmware/meson/meson_sm.h
> > -header-test-			+= linux/firmware/trusted_foundations.h
> > -header-test-			+= linux/firmware/xlnx-zynqmp.h
> > -header-test-			+= linux/fixp-arith.h
> > -header-test-			+= linux/flat.h
> > -header-test-			+= linux/fs_types.h
> > -header-test-			+= linux/fs_uart_pd.h
> > -header-test-			+= linux/fsi-occ.h
> > -header-test-			+= linux/fsi-sbefifo.h
> > -header-test-			+= linux/fsl/bestcomm/ata.h
> > -header-test-			+= linux/fsl/bestcomm/bestcomm.h
> > -header-test-			+= linux/fsl/bestcomm/bestcomm_priv.h
> > -header-test-			+= linux/fsl/bestcomm/fec.h
> > -header-test-			+= linux/fsl/bestcomm/gen_bd.h
> > -header-test-			+= linux/fsl/bestcomm/sram.h
> > -header-test-			+= linux/fsl_hypervisor.h
> > -header-test-			+= linux/fsldma.h
> > -header-test-			+= linux/ftrace_irq.h
> > -header-test-			+= linux/gameport.h
> > -header-test-			+= linux/genl_magic_func.h
> > -header-test-			+= linux/genl_magic_struct.h
> > -header-test-			+= linux/gpio/aspeed.h
> > -header-test-			+= linux/gpio/gpio-reg.h
> > -header-test-			+= linux/hid-debug.h
> > -header-test-			+= linux/hiddev.h
> > -header-test-			+= linux/hippidevice.h
> > -header-test-			+= linux/hmm.h
> > -header-test-			+= linux/hp_sdc.h
> > -header-test-			+= linux/huge_mm.h
> > -header-test-			+= linux/hugetlb_cgroup.h
> > -header-test-			+= linux/hugetlb_inline.h
> > -header-test-			+= linux/hwmon-vid.h
> > -header-test-			+= linux/hyperv.h
> > -header-test-			+= linux/i2c-algo-pca.h
> > -header-test-			+= linux/i2c-algo-pcf.h
> > -header-test-			+= linux/i3c/ccc.h
> > -header-test-			+= linux/i3c/device.h
> > -header-test-			+= linux/i3c/master.h
> > -header-test-			+= linux/i8042.h
> > -header-test-			+= linux/ide.h
> > -header-test-			+= linux/idle_inject.h
> > -header-test-			+= linux/if_frad.h
> > -header-test-			+= linux/if_rmnet.h
> > -header-test-			+= linux/if_tap.h
> > -header-test-			+= linux/iio/accel/kxcjk_1013.h
> > -header-test-			+= linux/iio/adc/ad_sigma_delta.h
> > -header-test-			+= linux/iio/buffer-dma.h
> > -header-test-			+= linux/iio/buffer_impl.h
> > -header-test-			+= linux/iio/common/st_sensors.h
> > -header-test-			+= linux/iio/common/st_sensors_i2c.h
> > -header-test-			+= linux/iio/common/st_sensors_spi.h
> > -header-test-			+= linux/iio/dac/ad5421.h
> > -header-test-			+= linux/iio/dac/ad5504.h
> > -header-test-			+= linux/iio/dac/ad5791.h
> > -header-test-			+= linux/iio/dac/max517.h
> > -header-test-			+= linux/iio/dac/mcp4725.h
> > -header-test-			+= linux/iio/frequency/ad9523.h
> > -header-test-			+= linux/iio/frequency/adf4350.h
> > -header-test-			+= linux/iio/hw-consumer.h
> > -header-test-			+= linux/iio/imu/adis.h
> > -header-test-			+= linux/iio/sysfs.h
> > -header-test-			+= linux/iio/timer/stm32-timer-trigger.h
> > -header-test-			+= linux/iio/trigger.h
> > -header-test-			+= linux/iio/triggered_event.h
> > -header-test-			+= linux/imx-media.h
> > -header-test-			+= linux/inet_diag.h
> > -header-test-			+= linux/init_ohci1394_dma.h
> > -header-test-			+= linux/initrd.h
> > -header-test-			+= linux/input/adp5589.h
> > -header-test-			+= linux/input/bu21013.h
> > -header-test-			+= linux/input/cma3000.h
> > -header-test-			+= linux/input/kxtj9.h
> > -header-test-			+= linux/input/lm8333.h
> > -header-test-			+= linux/input/sparse-keymap.h
> > -header-test-			+= linux/input/touchscreen.h
> > -header-test-			+= linux/input/tps6507x-ts.h
> > -header-test-$(CONFIG_X86)	+= linux/intel-iommu.h
> > -header-test-			+= linux/intel-ish-client-if.h
> > -header-test-			+= linux/intel-pti.h
> > -header-test-			+= linux/intel-svm.h
> > -header-test-			+= linux/interconnect-provider.h
> > -header-test-			+= linux/ioc3.h
> > -header-test-$(CONFIG_BLOCK)	+= linux/iomap.h
> > -header-test-			+= linux/ipack.h
> > -header-test-			+= linux/irq_cpustat.h
> > -header-test-			+= linux/irq_poll.h
> > -header-test-			+= linux/irqchip/arm-gic-v3.h
> > -header-test-			+= linux/irqchip/arm-gic-v4.h
> > -header-test-			+= linux/irqchip/irq-madera.h
> > -header-test-			+= linux/irqchip/irq-sa11x0.h
> > -header-test-			+= linux/irqchip/mxs.h
> > -header-test-			+= linux/irqchip/versatile-fpga.h
> > -header-test-			+= linux/irqdesc.h
> > -header-test-			+= linux/irqflags.h
> > -header-test-			+= linux/iscsi_boot_sysfs.h
> > -header-test-			+= linux/isdn/capiutil.h
> > -header-test-			+= linux/isdn/hdlc.h
> > -header-test-			+= linux/isdn_ppp.h
> > -header-test-			+= linux/jbd2.h
> > -header-test-			+= linux/jump_label.h
> > -header-test-			+= linux/jump_label_ratelimit.h
> > -header-test-			+= linux/jz4740-adc.h
> > -header-test-			+= linux/kasan.h
> > -header-test-			+= linux/kcore.h
> > -header-test-			+= linux/kdev_t.h
> > -header-test-			+= linux/kernelcapi.h
> > -header-test-			+= linux/khugepaged.h
> > -header-test-			+= linux/kobj_map.h
> > -header-test-			+= linux/kobject_ns.h
> > -header-test-			+= linux/kvm_host.h
> > -header-test-			+= linux/kvm_irqfd.h
> > -header-test-			+= linux/kvm_para.h
> > -header-test-			+= linux/lantiq.h
> > -header-test-			+= linux/lapb.h
> > -header-test-			+= linux/latencytop.h
> > -header-test-			+= linux/led-lm3530.h
> > -header-test-			+= linux/leds-bd2802.h
> > -header-test-			+= linux/leds-lp3944.h
> > -header-test-			+= linux/leds-lp3952.h
> > -header-test-			+= linux/leds_pwm.h
> > -header-test-			+= linux/libata.h
> > -header-test-			+= linux/license.h
> > -header-test-			+= linux/lightnvm.h
> > -header-test-			+= linux/lis3lv02d.h
> > -header-test-			+= linux/list_bl.h
> > -header-test-			+= linux/list_lru.h
> > -header-test-			+= linux/list_nulls.h
> > -header-test-			+= linux/lockd/share.h
> > -header-test-			+= linux/lzo.h
> > -header-test-			+= linux/mailbox/zynqmp-ipi-message.h
> > -header-test-			+= linux/maple.h
> > -header-test-			+= linux/mbcache.h
> > -header-test-			+= linux/mbus.h
> > -header-test-			+= linux/mc146818rtc.h
> > -header-test-			+= linux/mc6821.h
> > -header-test-			+= linux/mdev.h
> > -header-test-			+= linux/mem_encrypt.h
> > -header-test-			+= linux/memfd.h
> > -header-test-			+= linux/mfd/88pm80x.h
> > -header-test-			+= linux/mfd/88pm860x.h
> > -header-test-			+= linux/mfd/abx500/ab8500-bm.h
> > -header-test-			+= linux/mfd/abx500/ab8500-gpadc.h
> > -header-test-			+= linux/mfd/adp5520.h
> > -header-test-			+= linux/mfd/arizona/pdata.h
> > -header-test-			+= linux/mfd/as3711.h
> > -header-test-			+= linux/mfd/as3722.h
> > -header-test-			+= linux/mfd/da903x.h
> > -header-test-			+= linux/mfd/da9055/pdata.h
> > -header-test-			+= linux/mfd/db8500-prcmu.h
> > -header-test-			+= linux/mfd/dbx500-prcmu.h
> > -header-test-			+= linux/mfd/dln2.h
> > -header-test-			+= linux/mfd/dm355evm_msp.h
> > -header-test-			+= linux/mfd/ds1wm.h
> > -header-test-			+= linux/mfd/ezx-pcap.h
> > -header-test-			+= linux/mfd/intel_msic.h
> > -header-test-			+= linux/mfd/janz.h
> > -header-test-			+= linux/mfd/kempld.h
> > -header-test-			+= linux/mfd/lm3533.h
> > -header-test-			+= linux/mfd/lp8788-isink.h
> > -header-test-			+= linux/mfd/lpc_ich.h
> > -header-test-			+= linux/mfd/max77693.h
> > -header-test-			+= linux/mfd/max8998-private.h
> > -header-test-			+= linux/mfd/menelaus.h
> > -header-test-			+= linux/mfd/mt6397/core.h
> > -header-test-			+= linux/mfd/palmas.h
> > -header-test-			+= linux/mfd/pcf50633/backlight.h
> > -header-test-			+= linux/mfd/rc5t583.h
> > -header-test-			+= linux/mfd/retu.h
> > -header-test-			+= linux/mfd/samsung/core.h
> > -header-test-			+= linux/mfd/si476x-platform.h
> > -header-test-			+= linux/mfd/si476x-reports.h
> > -header-test-			+= linux/mfd/sky81452.h
> > -header-test-			+= linux/mfd/smsc.h
> > -header-test-			+= linux/mfd/sta2x11-mfd.h
> > -header-test-			+= linux/mfd/stmfx.h
> > -header-test-			+= linux/mfd/tc3589x.h
> > -header-test-			+= linux/mfd/tc6387xb.h
> > -header-test-			+= linux/mfd/tc6393xb.h
> > -header-test-			+= linux/mfd/tps65090.h
> > -header-test-			+= linux/mfd/tps6586x.h
> > -header-test-			+= linux/mfd/tps65910.h
> > -header-test-			+= linux/mfd/tps80031.h
> > -header-test-			+= linux/mfd/ucb1x00.h
> > -header-test-			+= linux/mfd/viperboard.h
> > -header-test-			+= linux/mfd/wm831x/core.h
> > -header-test-			+= linux/mfd/wm831x/otp.h
> > -header-test-			+= linux/mfd/wm831x/pdata.h
> > -header-test-			+= linux/mfd/wm8994/core.h
> > -header-test-			+= linux/mfd/wm8994/pdata.h
> > -header-test-			+= linux/mlx4/doorbell.h
> > -header-test-			+= linux/mlx4/srq.h
> > -header-test-			+= linux/mlx5/doorbell.h
> > -header-test-			+= linux/mlx5/eq.h
> > -header-test-			+= linux/mlx5/fs_helpers.h
> > -header-test-			+= linux/mlx5/mlx5_ifc.h
> > -header-test-			+= linux/mlx5/mlx5_ifc_fpga.h
> > -header-test-			+= linux/mm-arch-hooks.h
> > -header-test-			+= linux/mm_inline.h
> > -header-test-			+= linux/mmu_context.h
> > -header-test-			+= linux/mpage.h
> > -header-test-			+= linux/mtd/bbm.h
> > -header-test-			+= linux/mtd/cfi.h
> > -header-test-			+= linux/mtd/doc2000.h
> > -header-test-			+= linux/mtd/flashchip.h
> > -header-test-			+= linux/mtd/ftl.h
> > -header-test-			+= linux/mtd/gen_probe.h
> > -header-test-			+= linux/mtd/jedec.h
> > -header-test-			+= linux/mtd/nand_bch.h
> > -header-test-			+= linux/mtd/nand_ecc.h
> > -header-test-			+= linux/mtd/ndfc.h
> > -header-test-			+= linux/mtd/onenand.h
> > -header-test-			+= linux/mtd/pismo.h
> > -header-test-			+= linux/mtd/plat-ram.h
> > -header-test-			+= linux/mtd/spi-nor.h
> > -header-test-			+= linux/mv643xx.h
> > -header-test-			+= linux/mv643xx_eth.h
> > -header-test-			+= linux/mvebu-pmsu.h
> > -header-test-			+= linux/mxm-wmi.h
> > -header-test-			+= linux/n_r3964.h
> > -header-test-			+= linux/ndctl.h
> > -header-test-			+= linux/nfs.h
> > -header-test-			+= linux/nfs_fs_i.h
> > -header-test-			+= linux/nfs_fs_sb.h
> > -header-test-			+= linux/nfs_page.h
> > -header-test-			+= linux/nfs_xdr.h
> > -header-test-			+= linux/nfsacl.h
> > -header-test-			+= linux/nl802154.h
> > -header-test-			+= linux/ns_common.h
> > -header-test-			+= linux/nsc_gpio.h
> > -header-test-			+= linux/ntb_transport.h
> > -header-test-			+= linux/nubus.h
> > -header-test-			+= linux/nvme-fc-driver.h
> > -header-test-			+= linux/nvme-fc.h
> > -header-test-			+= linux/nvme-rdma.h
> > -header-test-			+= linux/nvram.h
> > -header-test-			+= linux/objagg.h
> > -header-test-			+= linux/of_clk.h
> > -header-test-			+= linux/of_net.h
> > -header-test-			+= linux/of_pdt.h
> > -header-test-			+= linux/olpc-ec.h
> > -header-test-			+= linux/omap-dma.h
> > -header-test-			+= linux/omap-dmaengine.h
> > -header-test-			+= linux/omap-gpmc.h
> > -header-test-			+= linux/omap-iommu.h
> > -header-test-			+= linux/omap-mailbox.h
> > -header-test-			+= linux/once.h
> > -header-test-			+= linux/osq_lock.h
> > -header-test-			+= linux/overflow.h
> > -header-test-			+= linux/page-flags-layout.h
> > -header-test-			+= linux/page-isolation.h
> > -header-test-			+= linux/page_ext.h
> > -header-test-			+= linux/page_owner.h
> > -header-test-			+= linux/parport_pc.h
> > -header-test-			+= linux/parser.h
> > -header-test-			+= linux/pci-acpi.h
> > -header-test-			+= linux/pci-dma-compat.h
> > -header-test-			+= linux/pci_hotplug.h
> > -header-test-			+= linux/pda_power.h
> > -header-test-			+= linux/perf/arm_pmu.h
> > -header-test-			+= linux/perf_regs.h
> > -header-test-			+= linux/phy/omap_control_phy.h
> > -header-test-			+= linux/phy/tegra/xusb.h
> > -header-test-			+= linux/phy/ulpi_phy.h
> > -header-test-			+= linux/phy_fixed.h
> > -header-test-			+= linux/pipe_fs_i.h
> > -header-test-			+= linux/pktcdvd.h
> > -header-test-			+= linux/pl320-ipc.h
> > -header-test-			+= linux/pl353-smc.h
> > -header-test-			+= linux/platform_data/ad5449.h
> > -header-test-			+= linux/platform_data/ad5755.h
> > -header-test-			+= linux/platform_data/ad7266.h
> > -header-test-			+= linux/platform_data/ad7291.h
> > -header-test-			+= linux/platform_data/ad7298.h
> > -header-test-			+= linux/platform_data/ad7303.h
> > -header-test-			+= linux/platform_data/ad7791.h
> > -header-test-			+= linux/platform_data/ad7793.h
> > -header-test-			+= linux/platform_data/ad7887.h
> > -header-test-			+= linux/platform_data/adau17x1.h
> > -header-test-			+= linux/platform_data/adp8870.h
> > -header-test-			+= linux/platform_data/ads1015.h
> > -header-test-			+= linux/platform_data/ads7828.h
> > -header-test-			+= linux/platform_data/apds990x.h
> > -header-test-			+= linux/platform_data/arm-ux500-pm.h
> > -header-test-			+= linux/platform_data/asoc-s3c.h
> > -header-test-			+= linux/platform_data/at91_adc.h
> > -header-test-			+= linux/platform_data/ata-pxa.h
> > -header-test-			+= linux/platform_data/atmel.h
> > -header-test-			+= linux/platform_data/bh1770glc.h
> > -header-test-			+= linux/platform_data/brcmfmac.h
> > -header-test-			+=
> linux/platform_data/cros_ec_commands.h
> > -header-test-			+= linux/platform_data/clk-u300.h
> > -header-test-			+= linux/platform_data/cyttsp4.h
> > -header-test-			+= linux/platform_data/dma-coh901318.h
> > -header-test-			+= linux/platform_data/dma-imx-sdma.h
> > -header-test-			+= linux/platform_data/dma-mcf-edma.h
> > -header-test-			+= linux/platform_data/dma-s3c24xx.h
> > -header-test-			+= linux/platform_data/dmtimer-omap.h
> > -header-test-			+= linux/platform_data/dsa.h
> > -header-test-			+= linux/platform_data/edma.h
> > -header-test-			+= linux/platform_data/elm.h
> > -header-test-			+= linux/platform_data/emif_plat.h
> > -header-test-			+= linux/platform_data/fsa9480.h
> > -header-test-			+= linux/platform_data/g762.h
> > -header-test-			+= linux/platform_data/gpio-ath79.h
> > -header-test-			+= linux/platform_data/gpio-davinci.h
> > -header-test-			+= linux/platform_data/gpio-dwapb.h
> > -header-test-			+= linux/platform_data/gpio-htc-egpio.h
> > -header-test-			+= linux/platform_data/gpmc-omap.h
> > -header-test-			+= linux/platform_data/hsmmc-omap.h
> > -header-test-			+= linux/platform_data/hwmon-s3c.h
> > -header-test-			+= linux/platform_data/i2c-davinci.h
> > -header-test-			+= linux/platform_data/i2c-imx.h
> > -header-test-			+= linux/platform_data/i2c-mux-reg.h
> > -header-test-			+= linux/platform_data/i2c-ocores.h
> > -header-test-			+= linux/platform_data/i2c-xiic.h
> > -header-test-			+= linux/platform_data/intel-spi.h
> > -header-test-			+=
> linux/platform_data/invensense_mpu6050.h
> > -header-test-			+= linux/platform_data/irda-pxaficp.h
> > -header-test-			+= linux/platform_data/irda-sa11x0.h
> > -header-test-			+= linux/platform_data/itco_wdt.h
> > -header-test-			+=
> linux/platform_data/jz4740/jz4740_nand.h
> > -header-test-			+=
> linux/platform_data/keyboard-pxa930_rotary.h
> > -header-test-			+= linux/platform_data/keypad-omap.h
> > -header-test-			+= linux/platform_data/leds-lp55xx.h
> > -header-test-			+= linux/platform_data/leds-omap.h
> > -header-test-			+= linux/platform_data/lp855x.h
> > -header-test-			+= linux/platform_data/lp8727.h
> > -header-test-			+= linux/platform_data/max197.h
> > -header-test-			+= linux/platform_data/max3421-hcd.h
> > -header-test-			+= linux/platform_data/max732x.h
> > -header-test-			+= linux/platform_data/mcs.h
> > -header-test-			+=
> linux/platform_data/mdio-bcm-unimac.h
> > -header-test-			+= linux/platform_data/mdio-gpio.h
> > -header-test-			+= linux/platform_data/media/si4713.h
> > -header-test-			+= linux/platform_data/mlxreg.h
> > -header-test-			+= linux/platform_data/mmc-omap.h
> > -header-test-			+= linux/platform_data/mmc-sdhci-s3c.h
> > -header-test-			+= linux/platform_data/mmp_audio.h
> > -header-test-			+= linux/platform_data/mtd-orion_nand.h
> > -header-test-			+= linux/platform_data/mv88e6xxx.h
> > -header-test-			+= linux/platform_data/net-cw1200.h
> > -header-test-			+= linux/platform_data/omap-twl4030.h
> > -header-test-			+= linux/platform_data/omapdss.h
> > -header-test-			+= linux/platform_data/pcf857x.h
> > -header-test-			+= linux/platform_data/pixcir_i2c_ts.h
> > -header-test-			+=
> linux/platform_data/pwm_omap_dmtimer.h
> > -header-test-			+= linux/platform_data/pxa2xx_udc.h
> > -header-test-			+= linux/platform_data/pxa_sdhci.h
> > -header-test-			+= linux/platform_data/remoteproc-omap.h
> > -header-test-			+= linux/platform_data/sa11x0-serial.h
> > -header-test-			+= linux/platform_data/sc18is602.h
> > -header-test-			+= linux/platform_data/sdhci-pic32.h
> > -header-test-			+= linux/platform_data/serial-sccnxp.h
> > -header-test-			+= linux/platform_data/sht3x.h
> > -header-test-			+= linux/platform_data/shtc1.h
> > -header-test-			+= linux/platform_data/si5351.h
> > -header-test-			+=
> linux/platform_data/sky81452-backlight.h
> > -header-test-			+= linux/platform_data/spi-davinci.h
> > -header-test-			+= linux/platform_data/spi-ep93xx.h
> > -header-test-			+= linux/platform_data/spi-mt65xx.h
> > -header-test-			+= linux/platform_data/st_sensors_pdata.h
> > -header-test-			+= linux/platform_data/ti-sysc.h
> > -header-test-			+= linux/platform_data/timer-ixp4xx.h
> > -header-test-			+=
> linux/platform_data/touchscreen-s3c2410.h
> > -header-test-			+= linux/platform_data/tsc2007.h
> > -header-test-			+= linux/platform_data/tsl2772.h
> > -header-test-			+= linux/platform_data/uio_pruss.h
> > -header-test-			+= linux/platform_data/usb-davinci.h
> > -header-test-			+= linux/platform_data/usb-ehci-mxc.h
> > -header-test-			+= linux/platform_data/usb-ehci-orion.h
> > -header-test-			+= linux/platform_data/usb-mx2.h
> > -header-test-			+= linux/platform_data/usb-ohci-s3c2410.h
> > -header-test-			+= linux/platform_data/usb-omap.h
> > -header-test-			+= linux/platform_data/usb-s3c2410_udc.h
> > -header-test-			+= linux/platform_data/usb3503.h
> > -header-test-			+= linux/platform_data/ux500_wdt.h
> > -header-test-			+=
> linux/platform_data/video-clcd-versatile.h
> > -header-test-			+= linux/platform_data/video-imxfb.h
> > -header-test-			+= linux/platform_data/video-pxafb.h
> > -header-test-			+= linux/platform_data/video_s3c.h
> > -header-test-			+= linux/platform_data/voltage-omap.h
> > -header-test-			+= linux/platform_data/x86/apple.h
> > -header-test-			+=
> linux/platform_data/x86/clk-pmc-atom.h
> > -header-test-			+= linux/platform_data/x86/pmc_atom.h
> > -header-test-			+= linux/platform_data/xtalk-bridge.h
> > -header-test-			+= linux/pm2301_charger.h
> > -header-test-			+= linux/pm_wakeirq.h
> > -header-test-			+= linux/pm_wakeup.h
> > -header-test-			+= linux/pmbus.h
> > -header-test-			+= linux/pmu.h
> > -header-test-			+= linux/posix_acl.h
> > -header-test-			+= linux/posix_acl_xattr.h
> > -header-test-			+= linux/power/ab8500.h
> > -header-test-			+= linux/power/bq27xxx_battery.h
> > -header-test-			+= linux/power/generic-adc-battery.h
> > -header-test-			+= linux/power/jz4740-battery.h
> > -header-test-			+= linux/power/max17042_battery.h
> > -header-test-			+= linux/power/max8903_charger.h
> > -header-test-			+= linux/ppp-comp.h
> > -header-test-			+= linux/pps-gpio.h
> > -header-test-			+= linux/pr.h
> > -header-test-			+= linux/proc_ns.h
> > -header-test-			+= linux/processor.h
> > -header-test-			+= linux/psi.h
> > -header-test-			+= linux/psp-sev.h
> > -header-test-			+= linux/pstore.h
> > -header-test-			+= linux/ptr_ring.h
> > -header-test-			+= linux/ptrace.h
> > -header-test-			+= linux/qcom-geni-se.h
> > -header-test-			+= linux/qed/eth_common.h
> > -header-test-			+= linux/qed/fcoe_common.h
> > -header-test-			+= linux/qed/iscsi_common.h
> > -header-test-			+= linux/qed/iwarp_common.h
> > -header-test-			+= linux/qed/qed_eth_if.h
> > -header-test-			+= linux/qed/qed_fcoe_if.h
> > -header-test-			+= linux/qed/rdma_common.h
> > -header-test-			+= linux/qed/storage_common.h
> > -header-test-			+= linux/qed/tcp_common.h
> > -header-test-			+= linux/qnx6_fs.h
> > -header-test-			+= linux/quicklist.h
> > -header-test-			+= linux/ramfs.h
> > -header-test-			+= linux/range.h
> > -header-test-			+= linux/rcu_node_tree.h
> > -header-test-			+= linux/rculist_bl.h
> > -header-test-			+= linux/rculist_nulls.h
> > -header-test-			+= linux/rcutiny.h
> > -header-test-			+= linux/rcutree.h
> > -header-test-			+= linux/reboot-mode.h
> > -header-test-			+= linux/regulator/fixed.h
> > -header-test-			+= linux/regulator/gpio-regulator.h
> > -header-test-			+= linux/regulator/max8973-regulator.h
> > -header-test-			+= linux/regulator/of_regulator.h
> > -header-test-			+= linux/regulator/tps51632-regulator.h
> > -header-test-			+= linux/regulator/tps62360.h
> > -header-test-			+= linux/regulator/tps6507x.h
> > -header-test-			+= linux/regulator/userspace-consumer.h
> > -header-test-			+= linux/remoteproc/st_slim_rproc.h
> > -header-test-			+= linux/reset/socfpga.h
> > -header-test-			+= linux/reset/sunxi.h
> > -header-test-			+= linux/rtc/m48t59.h
> > -header-test-			+= linux/rtc/rtc-omap.h
> > -header-test-			+= linux/rtc/sirfsoc_rtciobrg.h
> > -header-test-			+= linux/rwlock.h
> > -header-test-			+= linux/rwlock_types.h
> > -header-test-			+= linux/scc.h
> > -header-test-			+= linux/sched/deadline.h
> > -header-test-			+= linux/sched/smt.h
> > -header-test-			+= linux/sched/sysctl.h
> > -header-test-			+= linux/sched_clock.h
> > -header-test-			+= linux/scpi_protocol.h
> > -header-test-			+= linux/scx200_gpio.h
> > -header-test-			+= linux/seccomp.h
> > -header-test-			+= linux/sed-opal.h
> > -header-test-			+= linux/seg6_iptunnel.h
> > -header-test-			+= linux/selection.h
> > -header-test-			+= linux/set_memory.h
> > -header-test-			+= linux/shrinker.h
> > -header-test-			+= linux/sirfsoc_dma.h
> > -header-test-			+= linux/skb_array.h
> > -header-test-			+= linux/slab_def.h
> > -header-test-			+= linux/slub_def.h
> > -header-test-			+= linux/sm501.h
> > -header-test-			+= linux/smc91x.h
> > -header-test-			+= linux/static_key.h
> > -header-test-			+= linux/soc/actions/owl-sps.h
> > -header-test-			+= linux/soc/amlogic/meson-canvas.h
> > -header-test-			+= linux/soc/brcmstb/brcmstb.h
> > -header-test-			+= linux/soc/ixp4xx/npe.h
> > -header-test-			+= linux/soc/mediatek/infracfg.h
> > -header-test-			+= linux/soc/qcom/smd-rpm.h
> > -header-test-			+= linux/soc/qcom/smem.h
> > -header-test-			+= linux/soc/qcom/smem_state.h
> > -header-test-			+= linux/soc/qcom/wcnss_ctrl.h
> > -header-test-			+= linux/soc/renesas/rcar-rst.h
> > -header-test-			+= linux/soc/samsung/exynos-pmu.h
> > -header-test-			+= linux/soc/sunxi/sunxi_sram.h
> > -header-test-			+= linux/soc/ti/ti-msgmgr.h
> > -header-test-			+= linux/soc/ti/ti_sci_inta_msi.h
> > -header-test-			+= linux/soc/ti/ti_sci_protocol.h
> > -header-test-			+= linux/soundwire/sdw.h
> > -header-test-			+= linux/soundwire/sdw_intel.h
> > -header-test-			+= linux/soundwire/sdw_type.h
> > -header-test-			+= linux/spi/ad7877.h
> > -header-test-			+= linux/spi/ads7846.h
> > -header-test-			+= linux/spi/at86rf230.h
> > -header-test-			+= linux/spi/ds1305.h
> > -header-test-			+= linux/spi/libertas_spi.h
> > -header-test-			+= linux/spi/lms283gf05.h
> > -header-test-			+= linux/spi/max7301.h
> > -header-test-			+= linux/spi/mcp23s08.h
> > -header-test-			+= linux/spi/rspi.h
> > -header-test-			+= linux/spi/s3c24xx.h
> > -header-test-			+= linux/spi/sh_msiof.h
> > -header-test-			+= linux/spi/spi-fsl-dspi.h
> > -header-test-			+= linux/spi/spi_bitbang.h
> > -header-test-			+= linux/spi/spi_gpio.h
> > -header-test-			+= linux/spi/xilinx_spi.h
> > -header-test-			+= linux/spinlock_api_smp.h
> > -header-test-			+= linux/spinlock_api_up.h
> > -header-test-			+= linux/spinlock_types.h
> > -header-test-			+= linux/splice.h
> > -header-test-			+= linux/sram.h
> > -header-test-			+= linux/srcutiny.h
> > -header-test-			+= linux/srcutree.h
> > -header-test-			+= linux/ssb/ssb_driver_chipcommon.h
> > -header-test-			+= linux/ssb/ssb_driver_extif.h
> > -header-test-			+= linux/ssb/ssb_driver_mips.h
> > -header-test-			+= linux/ssb/ssb_driver_pci.h
> > -header-test-			+= linux/ssbi.h
> > -header-test-			+= linux/stackdepot.h
> > -header-test-			+= linux/stmp3xxx_rtc_wdt.h
> > -header-test-			+= linux/string_helpers.h
> > -header-test-			+= linux/sungem_phy.h
> > -header-test-			+= linux/sunrpc/msg_prot.h
> > -header-test-			+= linux/sunrpc/rpc_pipe_fs.h
> > -header-test-			+= linux/sunrpc/xprtmultipath.h
> > -header-test-			+= linux/sunrpc/xprtsock.h
> > -header-test-			+= linux/sunxi-rsb.h
> > -header-test-			+= linux/svga.h
> > -header-test-			+= linux/sw842.h
> > -header-test-			+= linux/swapfile.h
> > -header-test-			+= linux/swapops.h
> > -header-test-			+= linux/swiotlb.h
> > -header-test-			+= linux/sysv_fs.h
> > -header-test-			+= linux/t10-pi.h
> > -header-test-			+= linux/task_io_accounting.h
> > -header-test-			+= linux/tick.h
> > -header-test-			+= linux/timb_dma.h
> > -header-test-			+= linux/timekeeping.h
> > -header-test-			+= linux/timekeeping32.h
> > -header-test-			+= linux/ts-nbus.h
> > -header-test-			+= linux/tsacct_kern.h
> > -header-test-			+= linux/tty_flip.h
> > -header-test-			+= linux/tty_ldisc.h
> > -header-test-			+= linux/ucb1400.h
> > -header-test-			+= linux/usb/association.h
> > -header-test-			+= linux/usb/cdc-wdm.h
> > -header-test-			+= linux/usb/cdc_ncm.h
> > -header-test-			+= linux/usb/ezusb.h
> > -header-test-			+= linux/usb/gadget_configfs.h
> > -header-test-			+= linux/usb/gpio_vbus.h
> > -header-test-			+= linux/usb/hcd.h
> > -header-test-			+= linux/usb/iowarrior.h
> > -header-test-			+= linux/usb/irda.h
> > -header-test-			+= linux/usb/isp116x.h
> > -header-test-			+= linux/usb/isp1362.h
> > -header-test-			+= linux/usb/musb.h
> > -header-test-			+= linux/usb/net2280.h
> > -header-test-			+= linux/usb/ohci_pdriver.h
> > -header-test-			+= linux/usb/otg-fsm.h
> > -header-test-			+= linux/usb/pd_ado.h
> > -header-test-			+= linux/usb/r8a66597.h
> > -header-test-			+= linux/usb/rndis_host.h
> > -header-test-			+= linux/usb/serial.h
> > -header-test-			+= linux/usb/sl811.h
> > -header-test-			+= linux/usb/storage.h
> > -header-test-			+= linux/usb/uas.h
> > -header-test-			+= linux/usb/usb338x.h
> > -header-test-			+= linux/usb/usbnet.h
> > -header-test-			+= linux/usb/wusb-wa.h
> > -header-test-			+= linux/usb/xhci-dbgp.h
> > -header-test-			+= linux/usb_usual.h
> > -header-test-			+= linux/user-return-notifier.h
> > -header-test-			+= linux/userfaultfd_k.h
> > -header-test-			+= linux/verification.h
> > -header-test-			+= linux/vgaarb.h
> > -header-test-			+= linux/via_core.h
> > -header-test-			+= linux/via_i2c.h
> > -header-test-			+= linux/virtio_byteorder.h
> > -header-test-			+= linux/virtio_ring.h
> > -header-test-			+= linux/visorbus.h
> > -header-test-			+= linux/vme.h
> > -header-test-			+= linux/vmstat.h
> > -header-test-			+= linux/vmw_vmci_api.h
> > -header-test-			+= linux/vmw_vmci_defs.h
> > -header-test-			+= linux/vringh.h
> > -header-test-			+= linux/vt_buffer.h
> > -header-test-			+= linux/zorro.h
> > -header-test-			+= linux/zpool.h
> > -header-test-			+= math-emu/double.h
> > -header-test-			+= math-emu/op-common.h
> > -header-test-			+= math-emu/quad.h
> > -header-test-			+= math-emu/single.h
> > -header-test-			+= math-emu/soft-fp.h
> > -header-test-			+= media/davinci/dm355_ccdc.h
> > -header-test-			+= media/davinci/dm644x_ccdc.h
> > -header-test-			+= media/davinci/isif.h
> > -header-test-			+= media/davinci/vpbe_osd.h
> > -header-test-			+= media/davinci/vpbe_types.h
> > -header-test-			+= media/davinci/vpif_types.h
> > -header-test-			+= media/demux.h
> > -header-test-			+= media/drv-intf/soc_mediabus.h
> > -header-test-			+= media/dvb_net.h
> > -header-test-			+= media/fwht-ctrls.h
> > -header-test-			+= media/i2c/ad9389b.h
> > -header-test-			+= media/i2c/adv7343.h
> > -header-test-			+= media/i2c/adv7511.h
> > -header-test-			+= media/i2c/adv7842.h
> > -header-test-			+= media/i2c/m5mols.h
> > -header-test-			+= media/i2c/mt9m032.h
> > -header-test-			+= media/i2c/mt9t112.h
> > -header-test-			+= media/i2c/mt9v032.h
> > -header-test-			+= media/i2c/ov2659.h
> > -header-test-			+= media/i2c/ov7670.h
> > -header-test-			+= media/i2c/rj54n1cb0c.h
> > -header-test-			+= media/i2c/saa6588.h
> > -header-test-			+= media/i2c/saa7115.h
> > -header-test-			+= media/i2c/sr030pc30.h
> > -header-test-			+= media/i2c/tc358743.h
> > -header-test-			+= media/i2c/tda1997x.h
> > -header-test-			+= media/i2c/ths7303.h
> > -header-test-			+= media/i2c/tvaudio.h
> > -header-test-			+= media/i2c/tvp514x.h
> > -header-test-			+= media/i2c/tvp7002.h
> > -header-test-			+= media/i2c/wm8775.h
> > -header-test-			+= media/imx.h
> > -header-test-			+= media/media-dev-allocator.h
> > -header-test-			+= media/mpeg2-ctrls.h
> > -header-test-			+= media/rcar-fcp.h
> > -header-test-			+= media/tuner-types.h
> > -header-test-			+= media/tveeprom.h
> > -header-test-			+= media/v4l2-flash-led-class.h
> > -header-test-			+= misc/altera.h
> > -header-test-			+= misc/cxl-base.h
> > -header-test-			+= misc/cxllib.h
> > -header-test-			+= net/9p/9p.h
> > -header-test-			+= net/9p/client.h
> > -header-test-			+= net/9p/transport.h
> > -header-test-			+= net/af_vsock.h
> > -header-test-			+= net/ax88796.h
> > -header-test-			+= net/bluetooth/hci.h
> > -header-test-			+= net/bluetooth/hci_core.h
> > -header-test-			+= net/bluetooth/hci_mon.h
> > -header-test-			+= net/bluetooth/hci_sock.h
> > -header-test-			+= net/bluetooth/l2cap.h
> > -header-test-			+= net/bluetooth/mgmt.h
> > -header-test-			+= net/bluetooth/rfcomm.h
> > -header-test-			+= net/bluetooth/sco.h
> > -header-test-			+= net/bond_options.h
> > -header-test-			+= net/caif/cfsrvl.h
> > -header-test-			+= net/codel_impl.h
> > -header-test-			+= net/codel_qdisc.h
> > -header-test-			+= net/compat.h
> > -header-test-			+= net/datalink.h
> > -header-test-			+= net/dcbevent.h
> > -header-test-			+= net/dcbnl.h
> > -header-test-			+= net/dn_dev.h
> > -header-test-			+= net/dn_fib.h
> > -header-test-			+= net/dn_neigh.h
> > -header-test-			+= net/dn_nsp.h
> > -header-test-			+= net/dn_route.h
> > -header-test-			+= net/erspan.h
> > -header-test-			+= net/esp.h
> > -header-test-			+= net/ethoc.h
> > -header-test-			+= net/firewire.h
> > -header-test-			+= net/flow_offload.h
> > -header-test-			+= net/fq.h
> > -header-test-			+= net/fq_impl.h
> > -header-test-			+= net/garp.h
> > -header-test-			+= net/gtp.h
> > -header-test-			+= net/gue.h
> > -header-test-			+= net/hwbm.h
> > -header-test-			+= net/ila.h
> > -header-test-			+= net/inet6_connection_sock.h
> > -header-test-			+= net/inet_common.h
> > -header-test-			+= net/inet_frag.h
> > -header-test-			+= net/ip6_route.h
> > -header-test-			+= net/ip_vs.h
> > -header-test-			+= net/ipcomp.h
> > -header-test-			+= net/ipconfig.h
> > -header-test-			+= net/iucv/af_iucv.h
> > -header-test-			+= net/iucv/iucv.h
> > -header-test-			+= net/lapb.h
> > -header-test-			+= net/llc_c_ac.h
> > -header-test-			+= net/llc_c_st.h
> > -header-test-			+= net/llc_s_ac.h
> > -header-test-			+= net/llc_s_ev.h
> > -header-test-			+= net/llc_s_st.h
> > -header-test-			+= net/mpls_iptunnel.h
> > -header-test-			+= net/mrp.h
> > -header-test-			+= net/ncsi.h
> > -header-test-			+= net/netevent.h
> > -header-test-			+= net/netns/can.h
> > -header-test-			+= net/netns/generic.h
> > -header-test-			+= net/netns/ieee802154_6lowpan.h
> > -header-test-			+= net/netns/ipv4.h
> > -header-test-			+= net/netns/ipv6.h
> > -header-test-			+= net/netns/mpls.h
> > -header-test-			+= net/netns/nftables.h
> > -header-test-			+= net/netns/sctp.h
> > -header-test-			+= net/netrom.h
> > -header-test-			+= net/p8022.h
> > -header-test-			+= net/phonet/pep.h
> > -header-test-			+= net/phonet/phonet.h
> > -header-test-			+= net/phonet/pn_dev.h
> > -header-test-			+= net/pptp.h
> > -header-test-			+= net/psample.h
> > -header-test-			+= net/psnap.h
> > -header-test-			+= net/regulatory.h
> > -header-test-			+= net/rose.h
> > -header-test-			+= net/sctp/auth.h
> > -header-test-			+= net/sctp/stream_interleave.h
> > -header-test-			+= net/sctp/stream_sched.h
> > -header-test-			+= net/sctp/tsnmap.h
> > -header-test-			+= net/sctp/ulpevent.h
> > -header-test-			+= net/sctp/ulpqueue.h
> > -header-test-			+= net/secure_seq.h
> > -header-test-			+= net/smc.h
> > -header-test-			+= net/stp.h
> > -header-test-			+= net/transp_v6.h
> > -header-test-			+= net/tun_proto.h
> > -header-test-			+= net/udplite.h
> > -header-test-			+= net/xdp.h
> > -header-test-			+= net/xdp_priv.h
> > -header-test-			+= pcmcia/cistpl.h
> > -header-test-			+= pcmcia/ds.h
> > -header-test-			+= rdma/tid_rdma_defs.h
> > -header-test-			+= scsi/fc/fc_encaps.h
> > -header-test-			+= scsi/fc/fc_fc2.h
> > -header-test-			+= scsi/fc/fc_fcoe.h
> > -header-test-			+= scsi/fc/fc_fip.h
> > -header-test-			+= scsi/fc_encode.h
> > -header-test-			+= scsi/fc_frame.h
> > -header-test-			+= scsi/iser.h
> > -header-test-			+= scsi/libfc.h
> > -header-test-			+= scsi/libfcoe.h
> > -header-test-			+= scsi/libsas.h
> > -header-test-			+= scsi/sas_ata.h
> > -header-test-			+= scsi/scsi_cmnd.h
> > -header-test-			+= scsi/scsi_dbg.h
> > -header-test-			+= scsi/scsi_device.h
> > -header-test-			+= scsi/scsi_dh.h
> > -header-test-			+= scsi/scsi_eh.h
> > -header-test-			+= scsi/scsi_host.h
> > -header-test-			+= scsi/scsi_ioctl.h
> > -header-test-			+= scsi/scsi_request.h
> > -header-test-			+= scsi/scsi_tcq.h
> > -header-test-			+= scsi/scsi_transport.h
> > -header-test-			+= scsi/scsi_transport_fc.h
> > -header-test-			+= scsi/scsi_transport_sas.h
> > -header-test-			+= scsi/scsi_transport_spi.h
> > -header-test-			+= scsi/scsi_transport_srp.h
> > -header-test-			+= scsi/scsicam.h
> > -header-test-			+= scsi/sg.h
> > -header-test-			+= soc/arc/aux.h
> > -header-test-			+= soc/arc/mcip.h
> > -header-test-			+= soc/arc/timers.h
> > -header-test-			+= soc/brcmstb/common.h
> > -header-test-			+= soc/fsl/bman.h
> > -header-test-			+= soc/fsl/qe/qe.h
> > -header-test-			+= soc/fsl/qe/qe_ic.h
> > -header-test-			+= soc/fsl/qe/qe_tdm.h
> > -header-test-			+= soc/fsl/qe/ucc.h
> > -header-test-			+= soc/fsl/qe/ucc_fast.h
> > -header-test-			+= soc/fsl/qe/ucc_slow.h
> > -header-test-			+= soc/fsl/qman.h
> > -header-test-			+= soc/nps/common.h
> > -header-test-$(CONFIG_ARC)	+= soc/nps/mtm.h
> > -header-test-			+= soc/qcom/cmd-db.h
> > -header-test-			+= soc/qcom/rpmh.h
> > -header-test-			+= soc/qcom/tcs.h
> > -header-test-			+= soc/tegra/ahb.h
> > -header-test-			+= soc/tegra/bpmp-abi.h
> > -header-test-			+= soc/tegra/common.h
> > -header-test-			+= soc/tegra/flowctrl.h
> > -header-test-			+= soc/tegra/fuse.h
> > -header-test-			+= soc/tegra/mc.h
> > -header-test-			+= sound/ac97/compat.h
> > -header-test-			+= sound/aci.h
> > -header-test-			+= sound/ad1843.h
> > -header-test-			+= sound/adau1373.h
> > -header-test-			+= sound/ak4113.h
> > -header-test-			+= sound/ak4114.h
> > -header-test-			+= sound/ak4117.h
> > -header-test-			+= sound/cs35l33.h
> > -header-test-			+= sound/cs35l34.h
> > -header-test-			+= sound/cs35l35.h
> > -header-test-			+= sound/cs35l36.h
> > -header-test-			+= sound/cs4271.h
> > -header-test-			+= sound/cs42l52.h
> > -header-test-			+= sound/cs8427.h
> > -header-test-			+= sound/da7218.h
> > -header-test-			+= sound/da7219-aad.h
> > -header-test-			+= sound/da7219.h
> > -header-test-			+= sound/da9055.h
> > -header-test-			+= sound/emu8000.h
> > -header-test-			+= sound/emux_synth.h
> > -header-test-			+= sound/hda_component.h
> > -header-test-			+= sound/hda_hwdep.h
> > -header-test-			+= sound/hda_i915.h
> > -header-test-			+= sound/hwdep.h
> > -header-test-			+= sound/i2c.h
> > -header-test-			+= sound/l3.h
> > -header-test-			+= sound/max98088.h
> > -header-test-			+= sound/max98095.h
> > -header-test-			+= sound/mixer_oss.h
> > -header-test-			+= sound/omap-hdmi-audio.h
> > -header-test-			+= sound/pcm_drm_eld.h
> > -header-test-			+= sound/pcm_iec958.h
> > -header-test-			+= sound/pcm_oss.h
> > -header-test-			+= sound/pxa2xx-lib.h
> > -header-test-			+= sound/rt286.h
> > -header-test-			+= sound/rt298.h
> > -header-test-			+= sound/rt5645.h
> > -header-test-			+= sound/rt5659.h
> > -header-test-			+= sound/rt5660.h
> > -header-test-			+= sound/rt5665.h
> > -header-test-			+= sound/rt5670.h
> > -header-test-			+= sound/s3c24xx_uda134x.h
> > -header-test-			+= sound/seq_device.h
> > -header-test-			+= sound/seq_kernel.h
> > -header-test-			+= sound/seq_midi_emul.h
> > -header-test-			+= sound/seq_oss.h
> > -header-test-			+= sound/soc-acpi-intel-match.h
> > -header-test-			+= sound/soc-dai.h
> > -header-test-			+= sound/soc-dapm.h
> > -header-test-			+= sound/soc-dpcm.h
> > -header-test-			+= sound/sof/control.h
> > -header-test-			+= sound/sof/dai-intel.h
> > -header-test-			+= sound/sof/dai.h
> > -header-test-			+= sound/sof/header.h
> > -header-test-			+= sound/sof/info.h
> > -header-test-			+= sound/sof/pm.h
> > -header-test-			+= sound/sof/stream.h
> > -header-test-			+= sound/sof/topology.h
> > -header-test-			+= sound/sof/trace.h
> > -header-test-			+= sound/sof/xtensa.h
> > -header-test-			+= sound/spear_spdif.h
> > -header-test-			+= sound/sta32x.h
> > -header-test-			+= sound/sta350.h
> > -header-test-			+= sound/tea6330t.h
> > -header-test-			+= sound/tlv320aic32x4.h
> > -header-test-			+= sound/tlv320dac33-plat.h
> > -header-test-			+= sound/uda134x.h
> > -header-test-			+= sound/wavefront.h
> > -header-test-			+= sound/wm8903.h
> > -header-test-			+= sound/wm8904.h
> > -header-test-			+= sound/wm8960.h
> > -header-test-			+= sound/wm8962.h
> > -header-test-			+= sound/wm8993.h
> > -header-test-			+= sound/wm8996.h
> > -header-test-			+= sound/wm9081.h
> > -header-test-			+= sound/wm9090.h
> > -header-test-			+= target/iscsi/iscsi_target_stat.h
> > -header-test-			+= trace/bpf_probe.h
> > -header-test-			+= trace/events/9p.h
> > -header-test-			+= trace/events/afs.h
> > -header-test-			+= trace/events/asoc.h
> > -header-test-			+= trace/events/bcache.h
> > -header-test-			+= trace/events/block.h
> > -header-test-			+= trace/events/cachefiles.h
> > -header-test-			+= trace/events/cgroup.h
> > -header-test-			+= trace/events/clk.h
> > -header-test-			+= trace/events/cma.h
> > -header-test-			+= trace/events/ext4.h
> > -header-test-			+= trace/events/f2fs.h
> > -header-test-			+= trace/events/fs_dax.h
> > -header-test-			+= trace/events/fscache.h
> > -header-test-			+= trace/events/fsi.h
> > -header-test-			+= trace/events/fsi_master_ast_cf.h
> > -header-test-			+= trace/events/fsi_master_gpio.h
> > -header-test-			+= trace/events/huge_memory.h
> > -header-test-			+= trace/events/ib_mad.h
> > -header-test-			+= trace/events/ib_umad.h
> > -header-test-			+= trace/events/iscsi.h
> > -header-test-			+= trace/events/jbd2.h
> > -header-test-			+= trace/events/kvm.h
> > -header-test-			+= trace/events/kyber.h
> > -header-test-			+= trace/events/libata.h
> > -header-test-			+= trace/events/mce.h
> > -header-test-			+= trace/events/mdio.h
> > -header-test-			+= trace/events/migrate.h
> > -header-test-			+= trace/events/mmflags.h
> > -header-test-			+= trace/events/nbd.h
> > -header-test-			+= trace/events/nilfs2.h
> > -header-test-			+= trace/events/pwc.h
> > -header-test-			+= trace/events/rdma.h
> > -header-test-			+= trace/events/rpcgss.h
> > -header-test-			+= trace/events/rpcrdma.h
> > -header-test-			+= trace/events/rxrpc.h
> > -header-test-			+= trace/events/scsi.h
> > -header-test-			+= trace/events/siox.h
> > -header-test-			+= trace/events/spi.h
> > -header-test-			+= trace/events/swiotlb.h
> > -header-test-			+= trace/events/syscalls.h
> > -header-test-			+= trace/events/target.h
> > -header-test-			+= trace/events/thermal_power_allocator.h
> > -header-test-			+= trace/events/timer.h
> > -header-test-			+= trace/events/wbt.h
> > -header-test-			+= trace/events/xen.h
> > -header-test-			+= trace/perf.h
> > -header-test-			+= trace/trace_events.h
> > -header-test-			+= uapi/drm/vmwgfx_drm.h
> > -header-test-			+= uapi/linux/a.out.h
> > -header-test-			+= uapi/linux/coda.h
> > -header-test-			+= uapi/linux/coda_psdev.h
> > -header-test-			+= uapi/linux/errqueue.h
> > -header-test-			+= uapi/linux/eventpoll.h
> > -header-test-			+= uapi/linux/hdlc/ioctl.h
> > -header-test-			+= uapi/linux/input.h
> > -header-test-			+= uapi/linux/kvm.h
> > -header-test-			+= uapi/linux/kvm_para.h
> > -header-test-			+= uapi/linux/lightnvm.h
> > -header-test-			+= uapi/linux/mic_common.h
> > -header-test-			+= uapi/linux/mman.h
> > -header-test-			+= uapi/linux/nilfs2_ondisk.h
> > -header-test-			+= uapi/linux/patchkey.h
> > -header-test-			+= uapi/linux/ptrace.h
> > -header-test-			+= uapi/linux/scc.h
> > -header-test-			+= uapi/linux/seg6_iptunnel.h
> > -header-test-			+= uapi/linux/smc_diag.h
> > -header-test-			+= uapi/linux/timex.h
> > -header-test-			+= uapi/linux/videodev2.h
> > -header-test-			+= uapi/scsi/scsi_bsg_fc.h
> > -header-test-			+= uapi/sound/asound.h
> > -header-test-			+= uapi/sound/sof/eq.h
> > -header-test-			+= uapi/sound/sof/fw.h
> > -header-test-			+= uapi/sound/sof/header.h
> > -header-test-			+= uapi/sound/sof/manifest.h
> > -header-test-			+= uapi/sound/sof/trace.h
> > -header-test-			+= uapi/xen/evtchn.h
> > -header-test-			+= uapi/xen/gntdev.h
> > -header-test-			+= uapi/xen/privcmd.h
> > -header-test-			+= vdso/vsyscall.h
> > -header-test-			+= video/broadsheetfb.h
> > -header-test-			+= video/cvisionppc.h
> > -header-test-			+= video/gbe.h
> > -header-test-			+= video/kyro.h
> > -header-test-			+= video/maxinefb.h
> > -header-test-			+= video/metronomefb.h
> > -header-test-			+= video/neomagic.h
> > -header-test-			+= video/of_display_timing.h
> > -header-test-			+= video/omapvrfb.h
> > -header-test-			+= video/s1d13xxxfb.h
> > -header-test-			+= video/sstfb.h
> > -header-test-			+= video/tgafb.h
> > -header-test-			+= video/udlfb.h
> > -header-test-			+= video/uvesafb.h
> > -header-test-			+= video/vga.h
> > -header-test-			+= video/w100fb.h
> > -header-test-			+= xen/acpi.h
> > -header-test-			+= xen/arm/hypercall.h
> > -header-test-			+= xen/arm/page-coherent.h
> > -header-test-			+= xen/arm/page.h
> > -header-test-			+= xen/balloon.h
> > -header-test-			+= xen/events.h
> > -header-test-			+= xen/features.h
> > -header-test-			+= xen/grant_table.h
> > -header-test-			+= xen/hvm.h
> > -header-test-			+= xen/interface/callback.h
> > -header-test-			+= xen/interface/event_channel.h
> > -header-test-			+= xen/interface/grant_table.h
> > -header-test-			+= xen/interface/hvm/dm_op.h
> > -header-test-			+= xen/interface/hvm/hvm_op.h
> > -header-test-			+= xen/interface/hvm/hvm_vcpu.h
> > -header-test-			+= xen/interface/hvm/params.h
> > -header-test-			+= xen/interface/hvm/start_info.h
> > -header-test-			+= xen/interface/io/9pfs.h
> > -header-test-			+= xen/interface/io/blkif.h
> > -header-test-			+= xen/interface/io/console.h
> > -header-test-			+= xen/interface/io/displif.h
> > -header-test-			+= xen/interface/io/fbif.h
> > -header-test-			+= xen/interface/io/kbdif.h
> > -header-test-			+= xen/interface/io/netif.h
> > -header-test-			+= xen/interface/io/pciif.h
> > -header-test-			+= xen/interface/io/protocols.h
> > -header-test-			+= xen/interface/io/pvcalls.h
> > -header-test-			+= xen/interface/io/ring.h
> > -header-test-			+= xen/interface/io/sndif.h
> > -header-test-			+= xen/interface/io/tpmif.h
> > -header-test-			+= xen/interface/io/vscsiif.h
> > -header-test-			+= xen/interface/io/xs_wire.h
> > -header-test-			+= xen/interface/memory.h
> > -header-test-			+= xen/interface/nmi.h
> > -header-test-			+= xen/interface/physdev.h
> > -header-test-			+= xen/interface/platform.h
> > -header-test-			+= xen/interface/sched.h
> > -header-test-			+= xen/interface/vcpu.h
> > -header-test-			+= xen/interface/version.h
> > -header-test-			+= xen/interface/xen-mca.h
> > -header-test-			+= xen/interface/xen.h
> > -header-test-			+= xen/interface/xenpmu.h
> > -header-test-			+= xen/mem-reservation.h
> > -header-test-			+= xen/page.h
> > -header-test-			+= xen/platform_pci.h
> > -header-test-			+= xen/swiotlb-xen.h
> > -header-test-			+= xen/xen-front-pgdir-shbuf.h
> > -header-test-			+= xen/xen-ops.h
> > -header-test-			+= xen/xen.h
> > -header-test-			+= xen/xenbus.h
> > -
> > -# Do not include directly
> > -header-test- += linux/compiler-clang.h
> > -header-test- += linux/compiler-gcc.h
> > -header-test- += linux/patchkey.h
> > -header-test- += linux/rwlock_api_smp.h
> > -header-test- += linux/spinlock_types_up.h
> > -header-test- += linux/spinlock_up.h
> > -header-test- += linux/wimax/debug.h
> > -header-test- += rdma/uverbs_named_ioctl.h
> > -
> > -# asm-generic/*.h is used by asm/*.h, and should not be included directly
> > -header-test- += asm-generic/% uapi/asm-generic/%
> > -
> > -# Timestamp files touched by Kconfig
> > -header-test- += config/%
> > -
> > -# Timestamp files touched by scripts/adjust_autoksyms.sh
> > -header-test- += ksym/%
> > -
> > -# You could compile-test these, but maybe not so useful...
> > -header-test- += dt-bindings/%
> > -
> > -# Do not test generated headers. Stale headers are often left over when you
> > -# traverse the git history without cleaning.
> > -header-test- += generated/%
> > -
> > -# The rest are compile-tested
> > -header-test-pattern-y += */*.h */*/*.h */*/*/*.h */*/*/*/*.h
> > diff --git a/init/Kconfig b/init/Kconfig
> > index b4daad2bac23..8d1667fc4415 100644
> > --- a/init/Kconfig
> > +++ b/init/Kconfig
> > @@ -104,29 +104,9 @@ config COMPILE_TEST
> >  	  here. If you are a user/distributor, say N here to exclude useless
> >  	  drivers to be distributed.
> >
> > -config HEADER_TEST
> > -	bool "Compile test headers that should be standalone compilable"
> > -	help
> > -	  Compile test headers listed in header-test-y target to ensure they are
> > -	  self-contained, i.e. compilable as standalone units.
> > -
> > -	  If you are a developer or tester and want to ensure the requested
> > -	  headers are self-contained, say Y here. Otherwise, choose N.
> > -
> > -config KERNEL_HEADER_TEST
> > -	bool "Compile test kernel headers"
> > -	depends on HEADER_TEST
> > -	help
> > -	  Headers in include/ are used to build external moduls.
> > -	  Compile test them to ensure they are self-contained, i.e.
> > -	  compilable as standalone units.
> > -
> > -	  If you are a developer or tester and want to ensure the headers
> > -	  in include/ are self-contained, say Y here. Otherwise, choose N.
> > -
> >  config UAPI_HEADER_TEST
> >  	bool "Compile test UAPI headers"
> > -	depends on HEADER_TEST && HEADERS_INSTALL &&
> CC_CAN_LINK
> > +	depends on HEADERS_INSTALL && CC_CAN_LINK
> >  	help
> >  	  Compile test headers exported to user-space to ensure they are
> >  	  self-contained, i.e. compilable as standalone units.
> > diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> > index a9e47953ca53..24a33c01bbf7 100644
> > --- a/scripts/Makefile.build
> > +++ b/scripts/Makefile.build
> > @@ -283,15 +283,6 @@ quiet_cmd_cc_lst_c = MKLST   $@
> >  $(obj)/%.lst: $(src)/%.c FORCE
> >  	$(call if_changed_dep,cc_lst_c)
> >
> > -# header test (header-test-y, header-test-m target)
> > -#
> ---------------------------------------------------------------------------
> > -
> > -quiet_cmd_cc_s_h = CC      $@
> > -      cmd_cc_s_h = $(CC) $(c_flags) -S -o $@ -x c /dev/null -include $<
> > -
> > -$(obj)/%.h.s: $(src)/%.h FORCE
> > -	$(call if_changed_dep,cc_s_h)
> > -
> >  # Compile assembler sources (.S)
> >  #
> ---------------------------------------------------------------------------
> >
> > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> > index 179d55af5852..3fa32f83b2d7 100644
> > --- a/scripts/Makefile.lib
> > +++ b/scripts/Makefile.lib
> > @@ -65,20 +65,6 @@ extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y))
> >  extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml,
> $(dtb-))
> >  endif
> >
> > -# Test self-contained headers
> > -
> > -# Wildcard searches in $(srctree)/$(src)/, but not in $(objtree)/$(obj)/.
> > -# Stale generated headers are often left over, so pattern matching should
> > -# be avoided. Please notice $(srctree)/$(src)/ and $(objtree)/$(obj) point
> > -# to the same location for in-tree building. So, header-test-pattern-y should
> > -# be used with care.
> > -header-test-y	+= $(filter-out $(header-test-), \
> > -		$(patsubst $(srctree)/$(src)/%, %, \
> > -		$(wildcard $(addprefix $(srctree)/$(src)/, \
> > -		$(header-test-pattern-y)))))
> > -
> > -extra-$(CONFIG_HEADER_TEST) += $(addsuffix .s, $(header-test-y)
> $(header-test-m))
> > -
> >  # Add subdir path
> >
> >  extra-y		:= $(addprefix $(obj)/,$(extra-y))
> > diff --git a/usr/include/Makefile b/usr/include/Makefile
> > index 44965231bf79..a7c3e2f81680 100644
> > --- a/usr/include/Makefile
> > +++ b/usr/include/Makefile
> > @@ -92,9 +92,13 @@ endif
> >  # asm-generic/*.h is used by asm/*.h, and should not be included directly
> >  header-test- += asm-generic/%
> >
> > -# The rest are compile-tested
> > -header-test-y += $(filter-out $(header-test-), \
> > -			$(patsubst $(obj)/%,%, $(wildcard \
> > -			$(addprefix $(obj)/, *.h */*.h */*/*.h */*/*/*.h))))
> > +extra-y := $(patsubst %.h,%.hdrtest, $(filter-out $(header-test-), \
> > +		$(patsubst $(obj)/%,%, $(shell find $(obj) -name '*.h'))))
> > +
> > +quiet_cmd_hdrtest = HDRTEST $<
> > +      cmd_hdrtest = $(CC) $(c_flags) -S -o /dev/null -x c /dev/null
> -include $<; touch $@
> > +
> > +$(obj)/%.hdrtest: $(obj)/%.h FORCE
> > +	$(call if_changed_dep,hdrtest)
> >
> >  clean-files += $(filter-out Makefile, $(notdir $(wildcard $(obj)/*)))
> 
> --
> Jani Nikula, Intel Open Source Graphics Center

[-- Attachment #2: 0002-drm-i915-make-more-headers-self-contained.patch --]
[-- Type: application/octet-stream, Size: 8694 bytes --]

From 949d26143ddbe77b8204477e3969abe0843add8b Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Fri, 8 Nov 2019 13:34:51 +0900
Subject: [PATCH 2/3] drm/i915: make more headers self-contained

The headers in the gem/selftests/, gt/selftests, gvt/, selftests/
directories have never been compile-tested, but it would be possible
to make them self-contained.

This commit only addresses missing <linux/types.h> and forward
struct declarations.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
 drivers/gpu/drm/i915/gem/selftests/mock_context.h | 3 +++
 drivers/gpu/drm/i915/gt/selftests/mock_timeline.h | 2 ++
 drivers/gpu/drm/i915/gvt/cmd_parser.h             | 4 ++++
 drivers/gpu/drm/i915/gvt/display.h                | 5 +++++
 drivers/gpu/drm/i915/gvt/edid.h                   | 4 ++++
 drivers/gpu/drm/i915/gvt/execlist.h               | 2 ++
 drivers/gpu/drm/i915/gvt/fb_decoder.h             | 2 ++
 drivers/gpu/drm/i915/gvt/hypercall.h              | 4 ++++
 drivers/gpu/drm/i915/gvt/interrupt.h              | 3 +++
 drivers/gpu/drm/i915/gvt/mmio.h                   | 2 ++
 drivers/gpu/drm/i915/gvt/page_track.h             | 3 +++
 drivers/gpu/drm/i915/gvt/sched_policy.h           | 3 +++
 drivers/gpu/drm/i915/selftests/mock_drm.h         | 2 ++
 drivers/gpu/drm/i915/selftests/mock_gtt.h         | 3 +++
 drivers/gpu/drm/i915/selftests/mock_region.h      | 5 +++++
 drivers/gpu/drm/i915/selftests/mock_uncore.h      | 3 +++
 16 files changed, 50 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_context.h b/drivers/gpu/drm/i915/gem/selftests/mock_context.h
index 0b926653914f..45de09ec28d1 100644
--- a/drivers/gpu/drm/i915/gem/selftests/mock_context.h
+++ b/drivers/gpu/drm/i915/gem/selftests/mock_context.h
@@ -7,6 +7,9 @@
 #ifndef __MOCK_CONTEXT_H
 #define __MOCK_CONTEXT_H
 
+struct drm_file;
+struct drm_i915_private;
+
 void mock_init_contexts(struct drm_i915_private *i915);
 
 struct i915_gem_context *
diff --git a/drivers/gpu/drm/i915/gt/selftests/mock_timeline.h b/drivers/gpu/drm/i915/gt/selftests/mock_timeline.h
index 689efc66c908..d2bcc3df6183 100644
--- a/drivers/gpu/drm/i915/gt/selftests/mock_timeline.h
+++ b/drivers/gpu/drm/i915/gt/selftests/mock_timeline.h
@@ -7,6 +7,8 @@
 #ifndef __MOCK_TIMELINE__
 #define __MOCK_TIMELINE__
 
+#include <linux/types.h>
+
 struct intel_timeline;
 
 void mock_timeline_init(struct intel_timeline *timeline, u64 context);
diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.h b/drivers/gpu/drm/i915/gvt/cmd_parser.h
index 286703643002..ab25d151932a 100644
--- a/drivers/gpu/drm/i915/gvt/cmd_parser.h
+++ b/drivers/gpu/drm/i915/gvt/cmd_parser.h
@@ -38,6 +38,10 @@
 
 #define GVT_CMD_HASH_BITS 7
 
+struct intel_gvt;
+struct intel_shadow_wa_ctx;
+struct intel_vgpu_workload;
+
 void intel_gvt_clean_cmd_parser(struct intel_gvt *gvt);
 
 int intel_gvt_init_cmd_parser(struct intel_gvt *gvt);
diff --git a/drivers/gpu/drm/i915/gvt/display.h b/drivers/gpu/drm/i915/gvt/display.h
index a87f33e6a23c..b59b34046e1e 100644
--- a/drivers/gpu/drm/i915/gvt/display.h
+++ b/drivers/gpu/drm/i915/gvt/display.h
@@ -35,6 +35,11 @@
 #ifndef _GVT_DISPLAY_H_
 #define _GVT_DISPLAY_H_
 
+#include <linux/types.h>
+
+struct intel_gvt;
+struct intel_vgpu;
+
 #define SBI_REG_MAX	20
 #define DPCD_SIZE	0x700
 
diff --git a/drivers/gpu/drm/i915/gvt/edid.h b/drivers/gpu/drm/i915/gvt/edid.h
index f6dfc8b795ec..dfe0cbc6aad8 100644
--- a/drivers/gpu/drm/i915/gvt/edid.h
+++ b/drivers/gpu/drm/i915/gvt/edid.h
@@ -35,6 +35,10 @@
 #ifndef _GVT_EDID_H_
 #define _GVT_EDID_H_
 
+#include <linux/types.h>
+
+struct intel_vgpu;
+
 #define EDID_SIZE		128
 #define EDID_ADDR		0x50 /* Linux hvm EDID addr */
 
diff --git a/drivers/gpu/drm/i915/gvt/execlist.h b/drivers/gpu/drm/i915/gvt/execlist.h
index 5ccc2c695848..5c0c1fd30c83 100644
--- a/drivers/gpu/drm/i915/gvt/execlist.h
+++ b/drivers/gpu/drm/i915/gvt/execlist.h
@@ -35,6 +35,8 @@
 #ifndef _GVT_EXECLIST_H_
 #define _GVT_EXECLIST_H_
 
+#include <linux/types.h>
+
 struct execlist_ctx_descriptor_format {
 	union {
 		u32 ldw;
diff --git a/drivers/gpu/drm/i915/gvt/fb_decoder.h b/drivers/gpu/drm/i915/gvt/fb_decoder.h
index 60c155085029..67b6ede9e707 100644
--- a/drivers/gpu/drm/i915/gvt/fb_decoder.h
+++ b/drivers/gpu/drm/i915/gvt/fb_decoder.h
@@ -36,6 +36,8 @@
 #ifndef _GVT_FB_DECODER_H_
 #define _GVT_FB_DECODER_H_
 
+#include <linux/types.h>
+
 #define _PLANE_CTL_FORMAT_SHIFT		24
 #define _PLANE_CTL_TILED_SHIFT		10
 #define _PIPE_V_SRCSZ_SHIFT		0
diff --git a/drivers/gpu/drm/i915/gvt/hypercall.h b/drivers/gpu/drm/i915/gvt/hypercall.h
index 4862fb12778e..9599c0a762b2 100644
--- a/drivers/gpu/drm/i915/gvt/hypercall.h
+++ b/drivers/gpu/drm/i915/gvt/hypercall.h
@@ -33,6 +33,10 @@
 #ifndef _GVT_HYPERCALL_H_
 #define _GVT_HYPERCALL_H_
 
+#include <linux/types.h>
+
+struct device;
+
 enum hypervisor_type {
 	INTEL_GVT_HYPERVISOR_XEN = 0,
 	INTEL_GVT_HYPERVISOR_KVM,
diff --git a/drivers/gpu/drm/i915/gvt/interrupt.h b/drivers/gpu/drm/i915/gvt/interrupt.h
index 5313fb1b33e1..fcd663811d37 100644
--- a/drivers/gpu/drm/i915/gvt/interrupt.h
+++ b/drivers/gpu/drm/i915/gvt/interrupt.h
@@ -32,6 +32,8 @@
 #ifndef _GVT_INTERRUPT_H_
 #define _GVT_INTERRUPT_H_
 
+#include <linux/types.h>
+
 enum intel_gvt_event_type {
 	RCS_MI_USER_INTERRUPT = 0,
 	RCS_DEBUG,
@@ -135,6 +137,7 @@ enum intel_gvt_event_type {
 
 struct intel_gvt_irq;
 struct intel_gvt;
+struct intel_vgpu;
 
 typedef void (*gvt_event_virt_handler_t)(struct intel_gvt_irq *irq,
 	enum intel_gvt_event_type event, struct intel_vgpu *vgpu);
diff --git a/drivers/gpu/drm/i915/gvt/mmio.h b/drivers/gpu/drm/i915/gvt/mmio.h
index 5874f1cb4306..2e68f4b02c94 100644
--- a/drivers/gpu/drm/i915/gvt/mmio.h
+++ b/drivers/gpu/drm/i915/gvt/mmio.h
@@ -36,6 +36,8 @@
 #ifndef _GVT_MMIO_H_
 #define _GVT_MMIO_H_
 
+#include <linux/types.h>
+
 struct intel_gvt;
 struct intel_vgpu;
 
diff --git a/drivers/gpu/drm/i915/gvt/page_track.h b/drivers/gpu/drm/i915/gvt/page_track.h
index fa607a71c3c0..f6eb7135583c 100644
--- a/drivers/gpu/drm/i915/gvt/page_track.h
+++ b/drivers/gpu/drm/i915/gvt/page_track.h
@@ -25,6 +25,9 @@
 #ifndef _GVT_PAGE_TRACK_H_
 #define _GVT_PAGE_TRACK_H_
 
+#include <linux/types.h>
+
+struct intel_vgpu;
 struct intel_vgpu_page_track;
 
 typedef int (*gvt_page_track_handler_t)(
diff --git a/drivers/gpu/drm/i915/gvt/sched_policy.h b/drivers/gpu/drm/i915/gvt/sched_policy.h
index 7b59e3e88b8b..3dacdad5f529 100644
--- a/drivers/gpu/drm/i915/gvt/sched_policy.h
+++ b/drivers/gpu/drm/i915/gvt/sched_policy.h
@@ -34,6 +34,9 @@
 #ifndef __GVT_SCHED_POLICY__
 #define __GVT_SCHED_POLICY__
 
+struct intel_gvt;
+struct intel_vgpu;
+
 struct intel_gvt_sched_policy_ops {
 	int (*init)(struct intel_gvt *gvt);
 	void (*clean)(struct intel_gvt *gvt);
diff --git a/drivers/gpu/drm/i915/selftests/mock_drm.h b/drivers/gpu/drm/i915/selftests/mock_drm.h
index b39beee9f8f6..5f2aba843fa8 100644
--- a/drivers/gpu/drm/i915/selftests/mock_drm.h
+++ b/drivers/gpu/drm/i915/selftests/mock_drm.h
@@ -25,6 +25,8 @@
 #ifndef __MOCK_DRM_H
 #define __MOCK_DRM_H
 
+struct drm_i915_private;
+
 struct drm_file *mock_file(struct drm_i915_private *i915);
 void mock_file_free(struct drm_i915_private *i915, struct drm_file *file);
 
diff --git a/drivers/gpu/drm/i915/selftests/mock_gtt.h b/drivers/gpu/drm/i915/selftests/mock_gtt.h
index 3387393286de..e3f224f43beb 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gtt.h
+++ b/drivers/gpu/drm/i915/selftests/mock_gtt.h
@@ -25,6 +25,9 @@
 #ifndef __MOCK_GTT_H
 #define __MOCK_GTT_H
 
+struct drm_i915_private;
+struct i915_ggtt;
+
 void mock_init_ggtt(struct drm_i915_private *i915, struct i915_ggtt *ggtt);
 void mock_fini_ggtt(struct i915_ggtt *ggtt);
 
diff --git a/drivers/gpu/drm/i915/selftests/mock_region.h b/drivers/gpu/drm/i915/selftests/mock_region.h
index 24608089d833..329bf74dfaca 100644
--- a/drivers/gpu/drm/i915/selftests/mock_region.h
+++ b/drivers/gpu/drm/i915/selftests/mock_region.h
@@ -6,6 +6,11 @@
 #ifndef __MOCK_REGION_H
 #define __MOCK_REGION_H
 
+#include <linux/types.h>
+
+struct drm_i915_private;
+struct intel_memory_region;
+
 struct intel_memory_region *
 mock_region_create(struct drm_i915_private *i915,
 		   resource_size_t start,
diff --git a/drivers/gpu/drm/i915/selftests/mock_uncore.h b/drivers/gpu/drm/i915/selftests/mock_uncore.h
index 8a2cc553f466..7acf1ef4d488 100644
--- a/drivers/gpu/drm/i915/selftests/mock_uncore.h
+++ b/drivers/gpu/drm/i915/selftests/mock_uncore.h
@@ -25,6 +25,9 @@
 #ifndef __MOCK_UNCORE_H
 #define __MOCK_UNCORE_H
 
+struct drm_i915_private;
+struct intel_uncore;
+
 void mock_uncore_init(struct intel_uncore *uncore,
 		      struct drm_i915_private *i915);
 
-- 
2.17.1


[-- Attachment #3: 0003-drm-i915-reimplement-header-test-feature.patch --]
[-- Type: application/octet-stream, Size: 5651 bytes --]

From d1680a19643f36f36fbaa6b3933b9bd2d58b0551 Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Fri, 8 Nov 2019 11:48:44 +0900
Subject: [PATCH 3/3] drm/i915: reimplement header test feature

I implemented a small build rule in drivers/gpu/drm/i915/Makefile
without relying on the special header-test-y syntax.

I excluded some headers from the test coverage. I hope somebody
intrested can take a closer look at them.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
 drivers/gpu/drm/i915/Makefile         | 37 +++++++++++++++++++++------
 drivers/gpu/drm/i915/display/Makefile |  6 -----
 drivers/gpu/drm/i915/gem/Makefile     |  5 ----
 drivers/gpu/drm/i915/gt/Makefile      |  5 ----
 drivers/gpu/drm/i915/gt/uc/Makefile   |  5 ----
 drivers/gpu/drm/i915/oa/Makefile      |  7 -----
 6 files changed, 29 insertions(+), 36 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/display/Makefile
 delete mode 100644 drivers/gpu/drm/i915/gem/Makefile
 delete mode 100644 drivers/gpu/drm/i915/gt/Makefile
 delete mode 100644 drivers/gpu/drm/i915/gt/uc/Makefile
 delete mode 100644 drivers/gpu/drm/i915/oa/Makefile

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 90dcf09f52cc..a582434546ad 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -31,9 +31,6 @@ CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
 subdir-ccflags-y += \
 	$(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
 
-# Extra header tests
-header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
-
 subdir-ccflags-y += -I$(srctree)/$(src)
 
 # Please keep these build lists sorted!
@@ -73,7 +70,6 @@ i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o display/intel_pipe_crc.o
 i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
 
 # "Graphics Technology" (aka we talk to the gpu)
-obj-y += gt/
 gt-y += \
 	gt/intel_breadcrumbs.o \
 	gt/intel_context.o \
@@ -108,7 +104,6 @@ gt-y += \
 i915-y += $(gt-y)
 
 # GEM (Graphics Execution Management) code
-obj-y += gem/
 gem-y += \
 	gem/i915_gem_busy.o \
 	gem/i915_gem_clflush.o \
@@ -154,7 +149,6 @@ i915-y += \
 	  intel_wopcm.o
 
 # general-purpose microcontroller (GuC) support
-obj-y += gt/uc/
 i915-y += gt/uc/intel_uc.o \
 	  gt/uc/intel_uc_fw.o \
 	  gt/uc/intel_guc.o \
@@ -167,7 +161,6 @@ i915-y += gt/uc/intel_uc.o \
 	  gt/uc/intel_huc_fw.o
 
 # modesetting core code
-obj-y += display/
 i915-y += \
 	display/intel_atomic.o \
 	display/intel_atomic_plane.o \
@@ -232,7 +225,6 @@ i915-y += \
 	display/vlv_dsi_pll.o
 
 # perf code
-obj-y += oa/
 i915-y += \
 	oa/i915_oa_hsw.o \
 	oa/i915_oa_bdw.o \
@@ -272,3 +264,32 @@ endif
 
 obj-$(CONFIG_DRM_I915) += i915.o
 obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
+
+# header test
+
+# exclude some broken headers from the test coverage
+no-header-test := \
+	display/intel_vbt_defs.h \
+	gem/selftests/huge_gem_object.h \
+	gem/selftests/mock_gem_object.h \
+	gvt/execlist.h \
+	gvt/fb_decoder.h \
+	gvt/gtt.h \
+	gvt/gvt.h \
+	gvt/interrupt.h \
+	gvt/mmio_context.h \
+	gvt/mpt.h \
+	gvt/scheduler.h \
+	selftests/i915_live_selftests.h \
+	selftests/i915_mock_selftests.h \
+	selftests/igt_live_test.h
+
+extra-$(CONFIG_DRM_I915_WERROR) += \
+	$(patsubst %.h,%.hdrtest, $(filter-out $(no-header-test), \
+		$(shell cd $(srctree)/$(src) && find * -name '*.h')))
+
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = $(CC) $(c_flags) -S -o /dev/null -x c /dev/null -include $<; touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
diff --git a/drivers/gpu/drm/i915/display/Makefile b/drivers/gpu/drm/i915/display/Makefile
deleted file mode 100644
index 173c305d7866..000000000000
--- a/drivers/gpu/drm/i915/display/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# For building individual subdir files on the command line
-subdir-ccflags-y += -I$(srctree)/$(src)/..
-
-# Extra header tests
-header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
-header-test- := intel_vbt_defs.h
diff --git a/drivers/gpu/drm/i915/gem/Makefile b/drivers/gpu/drm/i915/gem/Makefile
deleted file mode 100644
index 7e73aa587967..000000000000
--- a/drivers/gpu/drm/i915/gem/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# For building individual subdir files on the command line
-subdir-ccflags-y += -I$(srctree)/$(src)/..
-
-# Extra header tests
-header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
diff --git a/drivers/gpu/drm/i915/gt/Makefile b/drivers/gpu/drm/i915/gt/Makefile
deleted file mode 100644
index 7e73aa587967..000000000000
--- a/drivers/gpu/drm/i915/gt/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# For building individual subdir files on the command line
-subdir-ccflags-y += -I$(srctree)/$(src)/..
-
-# Extra header tests
-header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
diff --git a/drivers/gpu/drm/i915/gt/uc/Makefile b/drivers/gpu/drm/i915/gt/uc/Makefile
deleted file mode 100644
index bec94d434cb6..000000000000
--- a/drivers/gpu/drm/i915/gt/uc/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# For building individual subdir files on the command line
-subdir-ccflags-y += -I$(srctree)/$(src)/../..
-
-# Extra header tests
-header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
diff --git a/drivers/gpu/drm/i915/oa/Makefile b/drivers/gpu/drm/i915/oa/Makefile
deleted file mode 100644
index df028e2b0d64..000000000000
--- a/drivers/gpu/drm/i915/oa/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: MIT
-
-# For building individual subdir files on the command line
-subdir-ccflags-y += -I$(srctree)/$(src)/..
-
-# Extra header tests
-header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
-- 
2.17.1


[-- Attachment #4: 0001-drm-i915-change-to_mock-to-an-inline-function.patch --]
[-- Type: application/octet-stream, Size: 996 bytes --]

From f1077a5143747dfc61539a8a222274d935e9f3fe Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Fri, 8 Nov 2019 13:33:19 +0900
Subject: [PATCH 1/3] drm/i915: change to_mock() to an inline function

Since this function is defined in a header file, it should be
'static inline' instead of 'static'.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
 drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h
index f0f8bbd82dfc..22818bbb139d 100644
--- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h
+++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h
@@ -14,7 +14,7 @@ struct mock_dmabuf {
 	struct page *pages[];
 };
 
-static struct mock_dmabuf *to_mock(struct dma_buf *buf)
+static inline struct mock_dmabuf *to_mock(struct dma_buf *buf)
 {
 	return buf->priv;
 }
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-11-08  5:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-07  7:14 [PATCH 1/2] kbuild: remove header compile test Masahiro Yamada
2019-11-07  7:14 ` [PATCH 2/2] kbuild: move headers_check rule to usr/include/Makefile Masahiro Yamada
     [not found] ` <87a7982hwc.fsf@intel.com>
2019-11-08  5:38   ` [PATCH 1/2] kbuild: remove header compile test yamada.masahiro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).