Merge remote-tracking branch 'airlied/drm-next' into for-airlied
[deliverable/linux.git] / drivers / gpu / drm / i915 / intel_modes.c
index 7be46163f421d06079a470383ac5a287779e9be0..2978a3f61b58f5fea08ddb660b98f96e5c3ff5f1 100644 (file)
@@ -83,11 +83,11 @@ int intel_ddc_get_modes(struct drm_connector *connector,
        return ret;
 }
 
-static const char *force_audio_names[] = {
-       "force-dvi",
-       "off",
-       "auto",
-       "on",
+static const struct drm_prop_enum_list force_audio_names[] = {
+       { HDMI_AUDIO_OFF_DVI, "force-dvi" },
+       { HDMI_AUDIO_OFF, "off" },
+       { HDMI_AUDIO_AUTO, "auto" },
+       { HDMI_AUDIO_ON, "on" },
 };
 
 void
@@ -96,28 +96,24 @@ intel_attach_force_audio_property(struct drm_connector *connector)
        struct drm_device *dev = connector->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_property *prop;
-       int i;
 
        prop = dev_priv->force_audio_property;
        if (prop == NULL) {
-               prop = drm_property_create(dev, DRM_MODE_PROP_ENUM,
+               prop = drm_property_create_enum(dev, 0,
                                           "audio",
+                                          force_audio_names,
                                           ARRAY_SIZE(force_audio_names));
                if (prop == NULL)
                        return;
 
-               for (i = 0; i < ARRAY_SIZE(force_audio_names); i++)
-                       drm_property_add_enum(prop, i, i-2,
-                                             force_audio_names[i]);
-
                dev_priv->force_audio_property = prop;
        }
        drm_connector_attach_property(connector, prop, 0);
 }
 
-static const char *broadcast_rgb_names[] = {
-       "Full",
-       "Limited 16:235",
+static const struct drm_prop_enum_list broadcast_rgb_names[] = {
+       { 0, "Full" },
+       { 1, "Limited 16:235" },
 };
 
 void
@@ -126,19 +122,16 @@ intel_attach_broadcast_rgb_property(struct drm_connector *connector)
        struct drm_device *dev = connector->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_property *prop;
-       int i;
 
        prop = dev_priv->broadcast_rgb_property;
        if (prop == NULL) {
-               prop = drm_property_create(dev, DRM_MODE_PROP_ENUM,
+               prop = drm_property_create_enum(dev, DRM_MODE_PROP_ENUM,
                                           "Broadcast RGB",
+                                          broadcast_rgb_names,
                                           ARRAY_SIZE(broadcast_rgb_names));
                if (prop == NULL)
                        return;
 
-               for (i = 0; i < ARRAY_SIZE(broadcast_rgb_names); i++)
-                       drm_property_add_enum(prop, i, i, broadcast_rgb_names[i]);
-
                dev_priv->broadcast_rgb_property = prop;
        }
 
This page took 0.027291 seconds and 5 git commands to generate.