These functions mostly do the same thing so unify them. Oaktrail already
uses the PSB connector helpers so it is already handled.

Signed-off-by: Patrik Jakobsson <patrik.r.jakobs...@gmail.com>
---
 drivers/gpu/drm/gma500/cdv_intel_lvds.c | 27 +-----------------------
 drivers/gpu/drm/gma500/gma_lvds.c       | 26 +++++++++++++++++++++++
 drivers/gpu/drm/gma500/gma_lvds.h       |  1 +
 drivers/gpu/drm/gma500/psb_intel_lvds.c | 28 +------------------------
 4 files changed, 29 insertions(+), 53 deletions(-)

diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c 
b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
index 80ccc00c47e5..a6f94572baaf 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
@@ -39,31 +39,6 @@
 #define PSB_BACKLIGHT_PWM_CTL_SHIFT    (16)
 #define PSB_BACKLIGHT_PWM_POLARITY_BIT_CLEAR (0xFFFE)
 
-/*
- * Return the list of DDC modes if available, or the BIOS fixed mode otherwise.
- */
-static int cdv_intel_lvds_get_modes(struct drm_connector *connector)
-{
-       struct drm_device *dev = connector->dev;
-       struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
-       struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev;
-       int ret;
-
-       ret = psb_intel_ddc_get_modes(connector, connector->ddc);
-
-       if (ret)
-               return ret;
-
-       if (mode_dev->panel_fixed_mode != NULL) {
-               struct drm_display_mode *mode =
-                   drm_mode_duplicate(dev, mode_dev->panel_fixed_mode);
-               drm_mode_probed_add(connector, mode);
-               return 1;
-       }
-
-       return 0;
-}
-
 static void cdv_intel_lvds_destroy(struct drm_connector *connector)
 {
        struct gma_connector *gma_connector = to_gma_connector(connector);
@@ -138,7 +113,7 @@ static int cdv_intel_lvds_set_property(struct drm_connector 
*connector,
 
 static const struct drm_connector_helper_funcs
                                cdv_intel_lvds_connector_helper_funcs = {
-       .get_modes = cdv_intel_lvds_get_modes,
+       .get_modes = gma_lvds_get_modes,
        .mode_valid = gma_lvds_mode_valid,
        .best_encoder = gma_best_encoder,
 };
diff --git a/drivers/gpu/drm/gma500/gma_lvds.c 
b/drivers/gpu/drm/gma500/gma_lvds.c
index bf9fa5ebdbd3..49c11b5337cb 100644
--- a/drivers/gpu/drm/gma500/gma_lvds.c
+++ b/drivers/gpu/drm/gma500/gma_lvds.c
@@ -342,3 +342,29 @@ const struct drm_encoder_helper_funcs 
gma_lvds_helper_funcs = {
        .commit = gma_lvds_commit,
 };
 
+/*
+ * Return the list of DDC modes if available, or the BIOS fixed mode otherwise.
+ */
+int gma_lvds_get_modes(struct drm_connector *connector)
+{
+       struct drm_device *dev = connector->dev;
+       struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
+       struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev;
+       int ret = 0;
+
+       if (!IS_MRST(dev))
+               ret = psb_intel_ddc_get_modes(connector, connector->ddc);
+
+       if (ret)
+               return ret;
+
+       if (mode_dev->panel_fixed_mode != NULL) {
+               struct drm_display_mode *mode =
+                   drm_mode_duplicate(dev, mode_dev->panel_fixed_mode);
+               drm_mode_probed_add(connector, mode);
+               return 1;
+       }
+
+       return 0;
+}
+
diff --git a/drivers/gpu/drm/gma500/gma_lvds.h 
b/drivers/gpu/drm/gma500/gma_lvds.h
index 3c47bea859ad..70c416d8b7a7 100644
--- a/drivers/gpu/drm/gma500/gma_lvds.h
+++ b/drivers/gpu/drm/gma500/gma_lvds.h
@@ -34,6 +34,7 @@ bool gma_lvds_mode_fixup(struct drm_encoder *encoder,
                         struct drm_display_mode *adjusted_mode);
 void gma_lvds_prepare(struct drm_encoder *encoder);
 void gma_lvds_commit(struct drm_encoder *encoder);
+int gma_lvds_get_modes(struct drm_connector *connector);
 
 extern const struct drm_encoder_helper_funcs gma_lvds_helper_funcs;
 
diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c 
b/drivers/gpu/drm/gma500/psb_intel_lvds.c
index 29a9b4ea5803..4ef0150c6a03 100644
--- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
+++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
@@ -132,32 +132,6 @@ void psb_intel_lvds_set_brightness(struct drm_device *dev, 
int level)
                psb_lvds_pwm_set_brightness(dev, level);
 }
 
-/*
- * Return the list of DDC modes if available, or the BIOS fixed mode otherwise.
- */
-static int psb_intel_lvds_get_modes(struct drm_connector *connector)
-{
-       struct drm_device *dev = connector->dev;
-       struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
-       struct psb_intel_mode_device *mode_dev = &dev_priv->mode_dev;
-       int ret = 0;
-
-       if (!IS_MRST(dev))
-               ret = psb_intel_ddc_get_modes(connector, connector->ddc);
-
-       if (ret)
-               return ret;
-
-       if (mode_dev->panel_fixed_mode != NULL) {
-               struct drm_display_mode *mode =
-                   drm_mode_duplicate(dev, mode_dev->panel_fixed_mode);
-               drm_mode_probed_add(connector, mode);
-               return 1;
-       }
-
-       return 0;
-}
-
 void psb_intel_lvds_destroy(struct drm_connector *connector)
 {
        struct gma_connector *gma_connector = to_gma_connector(connector);
@@ -238,7 +212,7 @@ int psb_intel_lvds_set_property(struct drm_connector 
*connector,
 
 const struct drm_connector_helper_funcs
                                psb_intel_lvds_connector_helper_funcs = {
-       .get_modes = psb_intel_lvds_get_modes,
+       .get_modes = gma_lvds_get_modes,
        .mode_valid = gma_lvds_mode_valid,
        .best_encoder = gma_best_encoder,
 };
-- 
2.36.1

Reply via email to