drm: Fix plane type uabi breakage
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 23 Sep 2016 06:35:25 +0000 (08:35 +0200)
committerSean Paul <seanpaul@chromium.org>
Fri, 23 Sep 2016 06:52:12 +0000 (23:52 -0700)
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@codeaurora.org>
Cc: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1474612525-9488-1-git-send-email-daniel.vetter@ffwll.ch
include/drm/drm_blend.h
include/drm/drm_plane.h

index 868f0364e9395b6060c03433cbf3b1c676673f36..36baa175de9949c739a9a21e56308eb8fff07cc9 100644 (file)
@@ -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)
index 256219bfd07b8cf65cc402822d0a588b9457c5a2..43cf193e54d666be087c5962ac82401f0db3782e 100644 (file)
@@ -333,8 +333,19 @@ 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:
         *
@@ -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,
 };