drm/gma500: Don't destroy DRM properties in the driver
authorDamien Lespiau <damien.lespiau@intel.com>
Fri, 31 Oct 2014 14:39:13 +0000 (14:39 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 31 Oct 2014 17:38:21 +0000 (18:38 +0100)
When drm properties are created, they are added to mode_config.property_list
which is then used in drm_mode_config_cleanup() to destroy every single
property created by the driver.

Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/gma500/psb_intel_sdvo.c

index 0be96fdb5e28ba4e63ae51b6eb2b2d9a947028d4..58529cea575d3c9492e8ea267b56e22772bf2490 100644 (file)
@@ -1631,57 +1631,8 @@ static int psb_intel_sdvo_get_modes(struct drm_connector *connector)
        return !list_empty(&connector->probed_modes);
 }
 
-static void
-psb_intel_sdvo_destroy_enhance_property(struct drm_connector *connector)
-{
-       struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector);
-       struct drm_device *dev = connector->dev;
-
-       if (psb_intel_sdvo_connector->left)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->left);
-       if (psb_intel_sdvo_connector->right)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->right);
-       if (psb_intel_sdvo_connector->top)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->top);
-       if (psb_intel_sdvo_connector->bottom)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->bottom);
-       if (psb_intel_sdvo_connector->hpos)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->hpos);
-       if (psb_intel_sdvo_connector->vpos)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->vpos);
-       if (psb_intel_sdvo_connector->saturation)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->saturation);
-       if (psb_intel_sdvo_connector->contrast)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->contrast);
-       if (psb_intel_sdvo_connector->hue)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->hue);
-       if (psb_intel_sdvo_connector->sharpness)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->sharpness);
-       if (psb_intel_sdvo_connector->flicker_filter)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->flicker_filter);
-       if (psb_intel_sdvo_connector->flicker_filter_2d)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->flicker_filter_2d);
-       if (psb_intel_sdvo_connector->flicker_filter_adaptive)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->flicker_filter_adaptive);
-       if (psb_intel_sdvo_connector->tv_luma_filter)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->tv_luma_filter);
-       if (psb_intel_sdvo_connector->tv_chroma_filter)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->tv_chroma_filter);
-       if (psb_intel_sdvo_connector->dot_crawl)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->dot_crawl);
-       if (psb_intel_sdvo_connector->brightness)
-               drm_property_destroy(dev, psb_intel_sdvo_connector->brightness);
-}
-
 static void psb_intel_sdvo_destroy(struct drm_connector *connector)
 {
-       struct psb_intel_sdvo_connector *psb_intel_sdvo_connector = to_psb_intel_sdvo_connector(connector);
-
-       if (psb_intel_sdvo_connector->tv_format)
-               drm_property_destroy(connector->dev,
-                                    psb_intel_sdvo_connector->tv_format);
-
-       psb_intel_sdvo_destroy_enhance_property(connector);
        drm_connector_unregister(connector);
        drm_connector_cleanup(connector);
        kfree(connector);