[Intel-gfx] [PATCH] drm: Fix plane type uabi breakage
Daniel Vetter
daniel.vetter at ffwll.ch
Fri Sep 23 06:35:25 UTC 2016
Turns out assuming that only stuff in uabi is uabi is a bit naive, and
we have a bunch of properties for which the enum values are placed in
random headers. A proper fix would be to split out uapi include
headers, but meanwhile sprinkle at least some warning over them.
Fixes: 532b36712ddf ("drm/doc: Polish for drm_plane.[hc]")
Cc: Archit Taneja <architt at codeaurora.org>
Cc: Sean Paul <seanpaul at chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
include/drm/drm_blend.h | 3 +++
include/drm/drm_plane.h | 19 +++++++++++--------
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/include/drm/drm_blend.h b/include/drm/drm_blend.h
index 868f0364e939..36baa175de99 100644
--- a/include/drm/drm_blend.h
+++ b/include/drm/drm_blend.h
@@ -33,6 +33,9 @@ struct drm_atomic_state;
* Rotation property bits. DRM_ROTATE_<degrees> rotates the image by the
* specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
* DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
+ *
+ * WARNING: These defines are UABI since they're exposed in the rotation
+ * property.
*/
#define DRM_ROTATE_0 BIT(0)
#define DRM_ROTATE_90 BIT(1)
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index 256219bfd07b..43cf193e54d6 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -333,9 +333,20 @@ struct drm_plane_funcs {
* DRM_CLIENT_CAP_UNIVERSAL_PLANES client capability bit to indicate that they
* wish to receive a universal plane list containing all plane types. See also
* drm_for_each_legacy_plane().
+ *
+ * WARNING: The values of this enum is UABI since they're exposed in the "type"
+ * property.
*/
enum drm_plane_type {
/**
+ * @DRM_PLANE_TYPE_OVERLAY:
+ *
+ * Overlay planes represent all non-primary, non-cursor planes. Some
+ * drivers refer to these types of planes as "sprites" internally.
+ */
+ DRM_PLANE_TYPE_OVERLAY,
+
+ /**
* @DRM_PLANE_TYPE_PRIMARY:
*
* Primary planes represent a "main" plane for a CRTC. Primary planes
@@ -353,14 +364,6 @@ enum drm_plane_type {
* DRM_IOCTL_MODE_CURSOR2 IOCTLs.
*/
DRM_PLANE_TYPE_CURSOR,
-
- /**
- * @DRM_PLANE_TYPE_OVERLAY:
- *
- * Overlay planes represent all non-primary, non-cursor planes. Some
- * drivers refer to these types of planes as "sprites" internally.
- */
- DRM_PLANE_TYPE_OVERLAY,
};
--
2.7.4
More information about the Intel-gfx
mailing list