xf86drmMode: simplify drm_property_type_is
authorSimon Ser <contact@emersion.fr>
Tue, 15 Jun 2021 12:48:28 +0000 (14:48 +0200)
committerSimon Ser <contact@emersion.fr>
Mon, 27 Sep 2021 13:02:03 +0000 (15:02 +0200)
No need to have two branches depending on DRM_MODE_PROP_EXTENDED_TYPE.
We can just use drmModeGetPropertyType instead.

This does introduce a slight change: previously, drm_property_type_is()
could be called with non-type flags such as IMMUTABLE. However no user
seems to do this (checked KWin/Mutter/Sway/Weston/Xorg).

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
xf86drmMode.h

index 14ffdf3..de0e2fd 100644 (file)
@@ -142,18 +142,15 @@ typedef struct _drmModeProperty {
        uint32_t *blob_ids; /* store the blob IDs */
 } drmModePropertyRes, *drmModePropertyPtr;
 
-static inline int drm_property_type_is(const drmModePropertyPtr property,
-               uint32_t type)
+static inline uint32_t drmModeGetPropertyType(const drmModePropertyRes *prop)
 {
-       /* instanceof for props.. handles extended type vs original types: */
-       if (property->flags & DRM_MODE_PROP_EXTENDED_TYPE)
-               return (property->flags & DRM_MODE_PROP_EXTENDED_TYPE) == type;
-       return property->flags & type;
+       return prop->flags & (DRM_MODE_PROP_LEGACY_TYPE | DRM_MODE_PROP_EXTENDED_TYPE);
 }
 
-static inline uint32_t drmModeGetPropertyType(const drmModePropertyRes *prop)
+static inline int drm_property_type_is(const drmModePropertyPtr property,
+               uint32_t type)
 {
-       return prop->flags & (DRM_MODE_PROP_LEGACY_TYPE | DRM_MODE_PROP_EXTENDED_TYPE);
+       return drmModeGetPropertyType(property) == type;
 }
 
 typedef struct _drmModeCrtc {