diff options
author | Alan Cox <alan@linux.intel.com> | 2011-07-05 15:38:40 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-05 08:20:40 -0700 |
commit | 6a7afe3acc4bfa54b1433b7f6b5b467ec05ee15b (patch) | |
tree | 86e369afb6494bf0819e5869c0b1acd64a96051b /drivers/staging/gma500/mdfld_dsi_output.c | |
parent | 92367fe1bca91efa7f689127ba45080d4303d609 (diff) | |
download | op-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.c | 11 |
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); |