コード例 #1
0
  int psb_dpst_bl(struct drm_device *dev, void *data)
{
	struct drm_psb_private *dev_priv = psb_priv(dev);
	uint32_t * arg = data;
	struct backlight_device *bd;

	bd = psb_get_backlight_device();
	if(!dev_priv)
		return 0;

	if(dev_priv->early_suspended)
		return 0;

	dpst_print("adjust percentage: %d.%d\n", *arg / 100, *arg % 100);
	dev_priv->blc_adj2 = (*arg * 255 / 100) * 255 / 100;

#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
	mutex_lock(&bd->ops_lock);
	bd->props.brightness = psb_get_brightness(bd);
	if ( 0 == bd->props.brightness)
	{
	    mutex_unlock(&bd->ops_lock);
	    return 0;
	}
	psb_set_brightness(bd);
	mutex_unlock(&bd->ops_lock);
#endif				/*  */
	    return 0;
}
コード例 #2
0
static int smd_qhd_amoled_cmd_bl_power_on(struct mdfld_dsi_config *dsi_config)
{
	int level;
	struct backlight_device *psb_bl = psb_get_backlight_device();

	if (!psb_bl)
		level = BRIGHTNESS_MAX_LEVEL;
	else
		level = psb_bl->props.brightness;

	return smd_qhd_amoled_cmd_set_brightness(dsi_config, level);
}