summaryrefslogtreecommitdiffstats
path: root/drivers/staging/gma500/mdfld_dsi_output.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2011-07-05 15:38:40 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-05 08:20:40 -0700
commit6a7afe3acc4bfa54b1433b7f6b5b467ec05ee15b (patch)
tree86e369afb6494bf0819e5869c0b1acd64a96051b /drivers/staging/gma500/mdfld_dsi_output.c
parent92367fe1bca91efa7f689127ba45080d4303d609 (diff)
downloadop-kernel-dev-6a7afe3acc4bfa54b1433b7f6b5b467ec05ee15b.zip
op-kernel-dev-6a7afe3acc4bfa54b1433b7f6b5b467ec05ee15b.tar.gz
gma500: continue abstracting platform specific code
Next obvious target - backlight support Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/gma500/mdfld_dsi_output.c')
-rw-r--r--drivers/staging/gma500/mdfld_dsi_output.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/staging/gma500/mdfld_dsi_output.c b/drivers/staging/gma500/mdfld_dsi_output.c
index 44ee3f6..b88dfc2 100644
--- a/drivers/staging/gma500/mdfld_dsi_output.c
+++ b/drivers/staging/gma500/mdfld_dsi_output.c
@@ -468,6 +468,7 @@ static int mdfld_dsi_connector_set_property(struct drm_connector * connector,
{
struct drm_encoder * encoder = connector->encoder;
struct backlight_device * psb_bd;
+ struct drm_psb_private * dev_priv = encoder->dev->dev_private;
if (!strcmp(property->name, "scaling mode") && encoder) {
struct psb_intel_crtc * psb_crtc = to_psb_intel_crtc(encoder->crtc);
@@ -512,6 +513,7 @@ static int mdfld_dsi_connector_set_property(struct drm_connector * connector,
&psb_crtc->saved_adjusted_mode);
}
}
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
} else if (!strcmp(property->name, "backlight") && encoder) {
dev_dbg(encoder->dev->dev, "backlight level = %d\n", (int)value);
if (drm_connector_property_set_value(connector, property, value))
@@ -519,20 +521,21 @@ static int mdfld_dsi_connector_set_property(struct drm_connector * connector,
else {
dev_dbg(encoder->dev->dev,
"set brightness to %d", (int)value);
- psb_bd = psb_get_backlight_device();
- if(psb_bd) {
+ psb_bd = dev_priv->backlight_device;
+ if (psb_bd) {
psb_bd->props.brightness = value;
- psb_set_brightness(psb_bd);
+ backlight_update_status(psb_bd);
}
}
}
+#endif
set_prop_done:
return 0;
set_prop_error:
return -1;
}
-static void mdfld_dsi_connector_destroy(struct drm_connector * connector)
+static void mdfld_dsi_connector_destroy(struct drm_connector *connector)
{
struct psb_intel_output * psb_output = to_psb_intel_output(connector);
struct mdfld_dsi_connector * dsi_connector = MDFLD_DSI_CONNECTOR(psb_output);
OpenPOWER on IntegriCloud