[igt-dev] [PATCH i-g-t] lib/i915: Add i915_drm_local.h

Ashutosh Dixit ashutosh.dixit at intel.com
Wed Jul 28 05:17:00 UTC 2021


It is necessary on occasion to add uapi declarations to IGT before they
appear in imported kernel uapi headers. This is typically done at present
using LOCAL declarations (or #ifndef's) which are dispersed across multiple
source and header files. Such declarations sometimes linger on in the code
for months or years till someone thinks of cleaning them up.

As opposed to this, provide a central location (in i915_drm_local.h) for
such early uapi declarations in IGT. These declarations will be added to
i915_drm_local.h exactly as they are expected to appear in the kernel uapi
headers, i.e. without the LOCAL_ or local_ prefix. They can be cleaned up
when the uapi headers are sync'd or they can live on (if they don't
conflict with the kernel headers) but at least they will be in a single
place and more visible. At least that is the hope.

Cc: Petri Latvala <petri.latvala at intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
---
 lib/i915/i915_drm_local.h | 27 +++++++++++++++++++++++++++
 lib/igt_gt.h              |  1 +
 2 files changed, 28 insertions(+)
 create mode 100644 lib/i915/i915_drm_local.h

diff --git a/lib/i915/i915_drm_local.h b/lib/i915/i915_drm_local.h
new file mode 100644
index 00000000000..dd646aedf49
--- /dev/null
+++ b/lib/i915/i915_drm_local.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2021 Intel Corporation
+ */
+#ifndef _I915_DRM_LOCAL_H_
+#define _I915_DRM_LOCAL_H_
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/*
+ * It is necessary on occasion to add uapi declarations to IGT before they
+ * appear in imported kernel uapi headers. This header is provided for this
+ * purpose.
+
+ * Early uapi declarations should be added here exactly as they are
+ * expected to appear in the kernel uapi headers, i.e. without the LOCAL_
+ * or local_ prefix and without any #ifndef's. Attempt should be made to
+ * clean these up when kernel uapi headers are sync'd.
+ */
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* _I915_DRM_LOCAL_H_ */
diff --git a/lib/igt_gt.h b/lib/igt_gt.h
index 2ea360cc48a..d87fae2d39c 100644
--- a/lib/igt_gt.h
+++ b/lib/igt_gt.h
@@ -28,6 +28,7 @@
 #include "igt_dummyload.h"
 #include "igt_core.h"
 
+#include "i915/i915_drm_local.h"
 #include "i915_drm.h"
 
 void igt_require_hang_ring(int fd, int ring);
-- 
2.31.1



More information about the igt-dev mailing list