From nobody Sun May 11 04:47:09 2025
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25C26238D22;
	Wed,  2 Apr 2025 12:47:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
 arc=none smtp.client-ip=198.175.65.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743598040; cv=none;
 b=Jyls25yaAruf+4PKgWLVjkTMTqsWSWc0Hvd87d02Ew0XffKvStI9+sJuABjIiln9OvYw/yrZxZRtV/0qb3hF+D4SHhXihI0EEKG8RFNXNLxu5DW87UjDHCPejmaxN4Clcu6OeIbAI3PPxJZJRZGxVkzdrnzC2M6XOHVpJKewKjY=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743598040; c=relaxed/simple;
	bh=qr8iSipiHo5jJvKJa3s9CyvhdjrZ/xOgb2s6Bw8S+1o=;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
	 MIME-Version;
 b=tFsHiFPlh71qYJWCUAHbPqsNlqmb+4gi4F+ad88TAAmlvUG+IsECZQtMB46XPFaeZag3zB0hYoeLZM2QcsJEaVs55bKqXD6o5EQDigx8FN4I/Z4X21aWqSGQ5YWKEB95BKvPjfF7i4OXE/NFHC14U3vjHAOgkt5NKTyRoOvb3pA=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com;
 spf=pass smtp.mailfrom=intel.com;
 dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b=SMO21pg5; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org;
 spf=pass smtp.mailfrom=intel.com
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b="SMO21pg5"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1743598038; x=1775134038;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qr8iSipiHo5jJvKJa3s9CyvhdjrZ/xOgb2s6Bw8S+1o=;
  b=SMO21pg5zMIVxYw/oppWSPOibbti+EUSHBv6rnNUvgTgow8cvPUIHgT9
   P5U11WbBZOG+7UHcMo5HbTbOH5jKW6ZXQXp/UiT7ctv0rAQTGZxfRpJLE
   5qlkf8lz1ImLyWP+Vqk+udnUeki5X/S2RKkfSeuqAofyYqnejvEEAL9Nl
   i7jBGEneQRwvN/QjwRenK4B95HrcBKZm5CE3pDSmx4McSeHDuJAGVFlrx
   KUlLFCMvDCRttGBw4io7MBTOTGe6dpGgIuFYqj26h0Pw3rCzpJ324Kc9n
   L8Qn0ctejFoAkzf62ihBbagJKGDqSuZRSEOV2x/dkf0eZDQOehZPgKbT6
   A==;
X-CSE-ConnectionGUID: jI3g9CHMTi6p+h1OOYFWpw==
X-CSE-MsgGUID: D2gTN3riTsSAXt5EknHPVA==
X-IronPort-AV: E=McAfee;i="6700,10204,11392"; a="55953447"
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="55953447"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
  by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:18 -0700
X-CSE-ConnectionGUID: 2r3kwEmGRyGIsnfD+R/QXw==
X-CSE-MsgGUID: mmuF0WxgSoi5ifwFAya80g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="127180597"
Received: from bergbenj-mobl1.ger.corp.intel.com (HELO localhost)
 ([10.245.246.73])
  by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:14 -0700
From: Jani Nikula <jani.nikula@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Cc: jani.nikula@intel.com,
	Jason Gunthorpe <jgg@nvidia.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	David Airlie <airlied@gmail.com>,
	Simona Vetter <simona.vetter@ffwll.ch>,
	linux-kbuild@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org
Subject: [PATCH v2 1/4] kbuild: add generic header check facility
Date: Wed,  2 Apr 2025 15:46:53 +0300
Message-Id: <20250402124656.629226-2-jani.nikula@intel.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250402124656.629226-1-jani.nikula@intel.com>
References: <20250402124656.629226-1-jani.nikula@intel.com>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Resurrect a generic header check facility. Check that the headers are
self-contained, have header guards, and (if enabled separately) pass
kernel-doc. Run header checks on .h files listed in header-check-y or
header-check-m, relative to $(src).

Hide header check artifacts under a .header-check subdirectory at the
top level of the build output directory.

Add the facility behind CONFIG_HEADER_CHECK_DISABLE, reversed to keep
the feature disabled for allmodconfig and allyesconfig builds. Also add
a proxy CONFIG_HEADER_CHECK option to simplify dependencies on the
facility. The kernel-doc check requires CONFIG_HEADER_CHECK_KERNEL_DOC.

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

---

Cc: linux-kbuild@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
---
 init/Kconfig           | 25 +++++++++++++++++++++++++
 scripts/Makefile.build | 13 +++++++++++++
 scripts/Makefile.lib   |  7 +++++++
 3 files changed, 45 insertions(+)

diff --git a/init/Kconfig b/init/Kconfig
index 681f38ee68db..2678a5ba7b93 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -217,6 +217,31 @@ config UAPI_HEADER_TEST
 	  If you are a developer or tester and want to ensure the exported
 	  headers are self-contained, say Y here. Otherwise, choose N.
=20
+# Reversed option to disable on allyesconfig/allmodconfig builds
+config HEADER_CHECK_DISABLE
+	bool "Disable extra build-time header checks"
+	default y
+	help
+	  Disable extra build-time header checks. The checks may be
+	  overzealous. They may slow down or fail the build altogether. They may
+	  create excessive dependency files in the tree. They should not be
+	  enabled for regular builds, and thus they are disabled by default.
+
+# Proxy config to allow simple "depends on HEADER_CHECK"
+config HEADER_CHECK
+	bool
+	depends on EXPERT && HEADER_CHECK_DISABLE=3Dn
+	default !HEADER_CHECK_DISABLE
+
+config HEADER_CHECK_KERNEL_DOC
+	bool "Run kernel-doc as part of header checks"
+	depends on HEADER_CHECK
+	default n
+	help
+	  Run kernel-doc as part of header checks. In addition to compiling,
+	  also check kernel-doc comments. With CONFIG_WERROR=3Dy, kernel-doc
+	  warnings are treated as errors.
+
 config LOCALVERSION
 	string "Local version - append to kernel release"
 	help
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 56be83024851..f963b2356b0e 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -223,6 +223,19 @@ quiet_cmd_cc_lst_c =3D MKLST   $@
 $(obj)/%.lst: $(obj)/%.c FORCE
 	$(call if_changed_dep,cc_lst_c)
=20
+# Compile C headers (.h) for header check
+# ------------------------------------------------------------------------=
---
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_header_check =3D HDRCHK  $(patsubst $(srctree)/%,%,$<)
+      cmd_header_check =3D \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(if $(CONFIG_HEADER_CHECK_KERNEL_DOC),$(srctree)/scripts/kernel-doc -no=
ne $(if $(CONFIG_WERROR),-Werror) $<,true); \
+		touch $@
+
+.header-check/$(obj)/%.header-check: $(src)/%.h FORCE
+	$(call if_changed_dep,header_check)
+
 # Compile Rust sources (.rs)
 # ------------------------------------------------------------------------=
---
=20
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 57620b439a1f..272a1b42292e 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -89,6 +89,13 @@ multi-obj-m	:=3D $(addprefix $(obj)/, $(multi-obj-m))
 subdir-ym	:=3D $(addprefix $(obj)/,$(subdir-ym))
 endif
=20
+# Header checks
+# header-check-y/m contain .h files to be checked, relative to $(src)
+
+header-check-y	:=3D $(addprefix .header-check/$(obj)/,$(patsubst %.h,%.hea=
der-check,$(header-check-y) $(header-check-m)))
+
+always-$(CONFIG_HEADER_CHECK) +=3D $(header-check-y)
+
 # Finds the multi-part object the current object will be linked into.
 # If the object belongs to two or more multi-part objects, list them all.
 modname-multi =3D $(sort $(foreach m,$(multi-obj-ym),\
--=20
2.39.5
From nobody Sun May 11 04:47:09 2025
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1D1423AE7C;
	Wed,  2 Apr 2025 12:47:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
 arc=none smtp.client-ip=198.175.65.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743598046; cv=none;
 b=PXiGxocH5m5lGB2c/bfr53ZrhFJHc1PdOmUYa7tNnwB483e7nXzM82xr74v0k4otQiEjHqDK+mf7rOc1430gX5y/SAcMdGF8J0hdh/zqvofFa2metYrhKjbYbNT4NSxkioPLzb4IihikCiPJAdWg0msr0Ixmbf7uFK4PS8nBXzA=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743598046; c=relaxed/simple;
	bh=7kBGJe/b/YJonwEAB/pAg4Y102PYNZxoPCYFTwNHLo0=;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
	 MIME-Version;
 b=jFgqiuhUu71DOTN5kc/TtJJwKx96sRkI1NLgOEt5roA/+52radAOd7VdpHF87Fplw5t6rklHdBP0BZmrok6r00AxketqWzIPApxLF/HKm3C2XdMMrIF8OezaPSSvBenQSTrL3dqCYXEZ7ol8pgyyInbCHiLoLjTeVB3cL6jnn+A=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com;
 spf=pass smtp.mailfrom=intel.com;
 dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b=INWVAHr2; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org;
 spf=pass smtp.mailfrom=intel.com
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b="INWVAHr2"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1743598045; x=1775134045;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7kBGJe/b/YJonwEAB/pAg4Y102PYNZxoPCYFTwNHLo0=;
  b=INWVAHr2uWIoQNgne0nAIHtMqgNp1sq/BiVF5dUm8Jo2t2vjy7eEAVaH
   CKhkDvYHlZgYZwmKRXcB8o/1J5Gw3vDUE80yCLky/HFJ2RpPaxITmRtWr
   h/c8A5tt+X/+prkDVoF+aocf5/pDF5aXkWADu8UBclPrX2S0nQmJz96XU
   isdh/9OMYyEpqRSex38hphvNnvDLr+V9vZ+oyXLqA0Ld2HP3suSlWr0Cn
   u9PC/pC8AFKRCGwin8lNmS/P5nsCP5R95u0VbqYfbG38h3VORXth07JLi
   aztLwj7zK85domIhlkel33FHx584W7jXuMhYjE0F+hVfwtH3rZSqJoVX7
   g==;
X-CSE-ConnectionGUID: TofBpnvtRkOe23/UQMX98Q==
X-CSE-MsgGUID: an2RyJrCQySGnUikn5YE9w==
X-IronPort-AV: E=McAfee;i="6700,10204,11392"; a="55953463"
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="55953463"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
  by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:25 -0700
X-CSE-ConnectionGUID: +zVGJ6EMTLWImVrf0u5jjw==
X-CSE-MsgGUID: mvzKh6FUQhGJp6x2yeLDWQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="127180616"
Received: from bergbenj-mobl1.ger.corp.intel.com (HELO localhost)
 ([10.245.246.73])
  by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:20 -0700
From: Jani Nikula <jani.nikula@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Cc: jani.nikula@intel.com,
	Jason Gunthorpe <jgg@nvidia.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	David Airlie <airlied@gmail.com>,
	Simona Vetter <simona.vetter@ffwll.ch>,
	linux-kbuild@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org
Subject: [PATCH v2 2/4] drm: switch to generic header check facility
Date: Wed,  2 Apr 2025 15:46:54 +0300
Message-Id: <20250402124656.629226-3-jani.nikula@intel.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250402124656.629226-1-jani.nikula@intel.com>
References: <20250402124656.629226-1-jani.nikula@intel.com>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Switch to the generic header check facility, and sunset the copy-pasted
local version.

Keep CONFIG_DRM_HEADER_TEST around for fine-grained control of what gets
checked. To be unified later.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Closes: https://lore.kernel.org/r/CAHk-=3DwjMrqzuUmH-mFbR_46EWEFS=3DbB=3DJ7=
h9ABMVy56Vi81PKQ@mail.gmail.com
Fixes: 62ae45687e43 ("drm: ensure drm headers are self-contained and pass k=
ernel-doc")
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

---

Cc: linux-kbuild@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/Kconfig  |  2 +-
 drivers/gpu/drm/Makefile | 15 +--------------
 include/drm/Makefile     | 15 +--------------
 3 files changed, 3 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2cba2b6ebe1c..10189d0ec30d 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -505,7 +505,7 @@ config DRM_WERROR
=20
 config DRM_HEADER_TEST
 	bool "Ensure DRM headers are self-contained and pass kernel-doc"
-	depends on DRM && EXPERT && BROKEN
+	depends on DRM && HEADER_CHECK
 	default n
 	help
 	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index ed54a546bbe2..fb2642d46f29 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -225,19 +225,6 @@ obj-$(CONFIG_DRM_LOONGSON) +=3D loongson/
 obj-$(CONFIG_DRM_POWERVR) +=3D imagination/
=20
 # Ensure drm headers are self-contained and pass kernel-doc
-hdrtest-files :=3D \
+header-check-$(CONFIG_DRM_HEADER_TEST) +=3D \
 	$(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \
 	$(shell cd $(src) && find display lib -name '*.h')
-
-always-$(CONFIG_DRM_HEADER_TEST) +=3D \
-	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
-
-# Include the header twice to detect missing include guard.
-quiet_cmd_hdrtest =3D HDRTEST $(patsubst %.hdrtest,%.h,$@)
-      cmd_hdrtest =3D \
-		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
-		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WE=
RROR),-Werror) $<; \
-		touch $@
-
-$(obj)/%.hdrtest: $(src)/%.h FORCE
-	$(call if_changed_dep,hdrtest)
diff --git a/include/drm/Makefile b/include/drm/Makefile
index a7bd15d2803e..ed0567a7956a 100644
--- a/include/drm/Makefile
+++ b/include/drm/Makefile
@@ -1,18 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
=20
 # Ensure drm headers are self-contained and pass kernel-doc
-hdrtest-files :=3D \
+header-check-$(CONFIG_DRM_HEADER_TEST) +=3D \
 	$(shell cd $(src) && find * -name '*.h' 2>/dev/null)
-
-always-$(CONFIG_DRM_HEADER_TEST) +=3D \
-	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
-
-# Include the header twice to detect missing include guard.
-quiet_cmd_hdrtest =3D HDRTEST $(patsubst %.hdrtest,%.h,$@)
-      cmd_hdrtest =3D \
-		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
-		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WE=
RROR),-Werror) $<; \
-		touch $@
-
-$(obj)/%.hdrtest: $(src)/%.h FORCE
-	$(call if_changed_dep,hdrtest)
--=20
2.39.5
From nobody Sun May 11 04:47:09 2025
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3177123A998;
	Wed,  2 Apr 2025 12:47:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
 arc=none smtp.client-ip=198.175.65.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743598052; cv=none;
 b=Ko2ePd4SNi65SIE5eIInmULhdA9oKhS81+Lie2gjHVr8zl/KoWZF9wpvppIwxkWFBlCXsqNYf4nlVF8oQXcexM6F1cwaVy2gt0vsjNolxAswMGwCOdSamP/mV9B4HFLJ8Qk/mEgl0TWO9zuYY1QN9RFenX/hjk+nmU6csxnjWd8=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743598052; c=relaxed/simple;
	bh=d5VI9ZLfR6Us/gAEzp8GzzGH2ksRebnMw1CHva4QmGk=;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
	 MIME-Version;
 b=OcfPQLc4BHiiVyG6CRB63MaBr8CKKIphVSvHfWRUJrTmAlmUypwrrs73S/r66MYcT/XJTlXWElb/UFPNhJdP/Gv+StxpTju9Hxg2nmKnyrJUvUw9QFXrP7yhM21/nzNZGslObkv8fQuQIfmOzJTmep59AV9uEFW6p1pw4rovyek=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com;
 spf=pass smtp.mailfrom=intel.com;
 dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b=ERBPKo3h; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org;
 spf=pass smtp.mailfrom=intel.com
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b="ERBPKo3h"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1743598051; x=1775134051;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=d5VI9ZLfR6Us/gAEzp8GzzGH2ksRebnMw1CHva4QmGk=;
  b=ERBPKo3hbzVTUQR1/Ib5G8XwRObUbyEzEFkmwqar7S/bQfUz9Mc8Z/AJ
   eIf0Q212/4H9F0pBQuJfw7/Zvz2KxVfKWiYV2hZkZdS0KlMG7T3+QipO+
   QKU7IEAW98c5L8YOZPr2pFR71QYDfaJ2bZ0u9TvLU7rst8D63GbT8csbD
   Dppy7SHContsc4ic8Gr0nJWC1Qr2wanYL5pzwhS0cYt8T4JDlmY4T0THP
   7kl34M2WO66m1FFrcH8LuC4UJPus2h8DDrupVHDQf0+dd5zCObcEjBvrq
   SwS2XF099uUZEBjTpziVSyMRqAdDkm1FfviJn15xwVE6axMfKEEibffiA
   A==;
X-CSE-ConnectionGUID: f/qNVtGPQX+ReeQO119l6g==
X-CSE-MsgGUID: sl7u7g9BRlWE9XqvGx1RtQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11392"; a="55953481"
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="55953481"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
  by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:31 -0700
X-CSE-ConnectionGUID: Qm6j3l87QeyOmk7HqQrGjw==
X-CSE-MsgGUID: /PtvqrrtQXqWU0aknNHXtw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="127180654"
Received: from bergbenj-mobl1.ger.corp.intel.com (HELO localhost)
 ([10.245.246.73])
  by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:27 -0700
From: Jani Nikula <jani.nikula@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Cc: jani.nikula@intel.com,
	Jason Gunthorpe <jgg@nvidia.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	David Airlie <airlied@gmail.com>,
	Simona Vetter <simona.vetter@ffwll.ch>,
	linux-kbuild@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org
Subject: [PATCH v2 3/4] drm/i915: switch to generic header check facility
Date: Wed,  2 Apr 2025 15:46:55 +0300
Message-Id: <20250402124656.629226-4-jani.nikula@intel.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250402124656.629226-1-jani.nikula@intel.com>
References: <20250402124656.629226-1-jani.nikula@intel.com>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Switch to the generic header check facility, and sunset the copy-pasted
local version.

Keep the header checks gated on CONFIG_DRM_I915_WERROR as before. To be
unified later.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Closes: https://lore.kernel.org/r/CAHk-=3DwjMrqzuUmH-mFbR_46EWEFS=3DbB=3DJ7=
h9ABMVy56Vi81PKQ@mail.gmail.com
Fixes: c6d4a099a240 ("drm/i915: reimplement header test feature")
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

---

Cc: linux-kbuild@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/i915/Makefile | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index ed05b131ed3a..dca187e58bda 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -411,19 +411,9 @@ ifdef CONFIG_DRM_I915_WERROR
     cmd_checkdoc =3D $(srctree)/scripts/kernel-doc -none -Werror $<
 endif
=20
-# header test
-
 # exclude some broken headers from the test coverage
 no-header-test :=3D \
 	display/intel_vbt_defs.h
=20
-always-$(CONFIG_DRM_I915_WERROR) +=3D \
-	$(patsubst %.h,%.hdrtest, $(filter-out $(no-header-test), \
-		$(shell cd $(src) && find * -name '*.h')))
-
-quiet_cmd_hdrtest =3D HDRTEST $(patsubst %.hdrtest,%.h,$@)
-      cmd_hdrtest =3D $(CC) $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o=
 /dev/null -x c /dev/null -include $<; \
-		$(srctree)/scripts/kernel-doc -none -Werror $<; touch $@
-
-$(obj)/%.hdrtest: $(src)/%.h FORCE
-	$(call if_changed_dep,hdrtest)
+header-check-$(CONFIG_DRM_I915_WERROR) +=3D \
+	$(filter-out $(no-header-test),$(shell cd $(src) && find * -name '*.h'))
--=20
2.39.5
From nobody Sun May 11 04:47:09 2025
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id AA14F23BD02;
	Wed,  2 Apr 2025 12:47:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
 arc=none smtp.client-ip=198.175.65.13
ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743598060; cv=none;
 b=GMJrCRuqNL9F5HLEcocZJ9a2cHEdL4aHPN/UHR2ILTjgKgBSTEPARuYZwH8yxybzgYchA7kUCKpJ7bj6L5e7Azu0VRGHYQKB5nSm73wdw518nKnTeK8pto+UV/XtyJeWF7v++DIA/EGqgw/8CweCip3yH7efyE8MCzrt7GgTjjs=
ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743598060; c=relaxed/simple;
	bh=MNKJsSRnjJAwRVHrkPsVIyVWKLfaiUr0E2NtE6MVLzE=;
	h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
	 MIME-Version:Content-Type;
 b=DzUMO0wRrGI9U9PahABZvzPL0TKdMWTses5QJX3tWBykDNF/GMq1x55DGHY9JyTaSNBciRsjTk/QBej6eH5myFEaOOvM7NPMSgpQ6gayRq632eqUa7d4npLIaSESL5NtNLbAEOwgw/ZSt9KqG956Ecc6aet+M8/NcxMFlxHEwEw=
ARC-Authentication-Results: i=1; smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com;
 spf=pass smtp.mailfrom=intel.com;
 dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b=AsgEZQbn; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org;
 dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org;
 spf=pass smtp.mailfrom=intel.com
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com
 header.b="AsgEZQbn"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1743598059; x=1775134059;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=MNKJsSRnjJAwRVHrkPsVIyVWKLfaiUr0E2NtE6MVLzE=;
  b=AsgEZQbnPgcO7n+PYL96hPmRulcW5fhrVEfQhvJ7ukVVQc32WAW3u0Sz
   b1iWWElX1ptMepet1xShLsDhUsC0cKBG4NwKUSvoobIPLT97WYgIHcKb8
   rqHoLB0n55VbpOTbeXAo2DPQW5x90KtvlN/lPxkmPog1aR63/COggniy8
   vvFgoORVOUKKXXybcH7sBi36Ohy00KfyKRVUZZZe1DY7yO15HLrZVs+El
   vJM2Uz1cUuSdNk0S9GpGBJ85eYaLzzf8c1t2e0unn3unvY5Zr8jecxlJy
   nsD3tHX4opAMO28/6jzbr+yjxdIElC4JPfhKrkmGd0Y8xp18RGJ/XctyB
   A==;
X-CSE-ConnectionGUID: h5FMsm6iQO+JLHgJUwElHQ==
X-CSE-MsgGUID: 0pi1R9VeTqq4EvnT8Q+PEg==
X-IronPort-AV: E=McAfee;i="6700,10204,11392"; a="55953497"
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="55953497"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
  by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:38 -0700
X-CSE-ConnectionGUID: L5jQPIugQJyHySXuhhDJCg==
X-CSE-MsgGUID: 4g2ibqrQSCqmz7pBywSHdQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,182,1739865600";
   d="scan'208";a="127180661"
Received: from bergbenj-mobl1.ger.corp.intel.com (HELO localhost)
 ([10.245.246.73])
  by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Apr 2025 05:47:34 -0700
From: Jani Nikula <jani.nikula@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Cc: jani.nikula@intel.com,
	Jason Gunthorpe <jgg@nvidia.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	David Airlie <airlied@gmail.com>,
	Simona Vetter <simona.vetter@ffwll.ch>,
	linux-kbuild@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org
Subject: [PATCH v2 4/4] drm/xe: switch to generic header check facility
Date: Wed,  2 Apr 2025 15:46:56 +0300
Message-Id: <20250402124656.629226-5-jani.nikula@intel.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250402124656.629226-1-jani.nikula@intel.com>
References: <20250402124656.629226-1-jani.nikula@intel.com>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Switch to the generic header check facility, and sunset the copy-pasted
local version.

Keep the header checks gated on CONFIG_DRM_XE_WERROR as before. To be
unified later.

While at it, fix a header missing header guards that was not caught by
the local version.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Closes: https://lore.kernel.org/r/CAHk-=3DwjMrqzuUmH-mFbR_46EWEFS=3DbB=3DJ7=
h9ABMVy56Vi81PKQ@mail.gmail.com
Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

---

Cc: linux-kbuild@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
---
 drivers/gpu/drm/xe/Makefile       | 10 ++--------
 drivers/gpu/drm/xe/xe_pcode_api.h |  4 ++++
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 9699b08585f7..2a1854024c84 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -326,14 +326,8 @@ ifneq ($(CONFIG_DRM_XE_DISPLAY),y)
 	hdrtest_find_args +=3D -not -path display/\* -not -path compat-i915-heade=
rs/\* -not -path xe_display.h
 endif
=20
-always-$(CONFIG_DRM_XE_WERROR) +=3D \
-	$(patsubst %.h,%.hdrtest, $(shell cd $(src) && find * -name '*.h' $(hdrte=
st_find_args)))
-
-quiet_cmd_hdrtest =3D HDRTEST $(patsubst %.hdrtest,%.h,$@)
-      cmd_hdrtest =3D $(CC) -DHDRTEST $(filter-out $(CFLAGS_GCOV), $(c_fla=
gs)) -S -o /dev/null -x c /dev/null -include $<; touch $@
-
-$(obj)/%.hdrtest: $(src)/%.h FORCE
-	$(call if_changed_dep,hdrtest)
+header-check-$(CONFIG_DRM_XE_WERROR) +=3D \
+	$(shell cd $(src) && find * -name '*.h' $(hdrtest_find_args))
=20
 uses_generated_oob :=3D $(addprefix $(obj)/, $(xe-y))
 $(uses_generated_oob): $(obj)/generated/xe_wa_oob.h
diff --git a/drivers/gpu/drm/xe/xe_pcode_api.h b/drivers/gpu/drm/xe/xe_pcod=
e_api.h
index 2bae9afdbd35..4fd58b3c0d9a 100644
--- a/drivers/gpu/drm/xe/xe_pcode_api.h
+++ b/drivers/gpu/drm/xe/xe_pcode_api.h
@@ -3,6 +3,9 @@
  * Copyright =C2=A9 2022 Intel Corporation
  */
=20
+#ifndef _XE_PCODE_API_H_
+#define _XE_PCODE_API_H_
+
 /* Internal to xe_pcode */
=20
 #include "regs/xe_reg_defs.h"
@@ -68,3 +71,4 @@ struct pcode_err_decode {
 	const char *str;
 };
=20
+#endif
--=20
2.39.5