Ejemplo n.º 1
0
static int mdss_dsi_panel_power(uint8_t enable)
{
	int ret = NO_ERROR;

	if (enable) {

		/* Enable backlight */
		ret = panel_backlight_ctrl(enable);
		if (ret) {
			dprintf(CRITICAL, "Backlight enable failed \n");
			return ret;
		}
		ret = target_ldo_ctrl(enable, ldo_entry_array,
						 TOTAL_LDO_DEFINED);
		if (ret) {
			dprintf(CRITICAL, "LDO control enable failed \n");
			return ret;
		}

		/* Panel Reset */
		ret = mdss_dsi_panel_reset(enable);
		if (ret) {
			dprintf(CRITICAL, "panel reset failed \n");
			return ret;
		}
		dprintf(SPEW, "Panel power on done\n");
	} else {
		/* Disable panel, backlight and ldo */
		ret = mdss_dsi_panel_reset(enable);
		if (ret) {
			dprintf(CRITICAL, "panel reset disable failed \n");
			return ret;
		}

		ret = panel_backlight_ctrl(enable);
		if (ret) {
			dprintf(CRITICAL, "Backlight disable failed \n");
			return ret;
		}

		ret = target_ldo_ctrl(enable, ldo_entry_array,
						TOTAL_LDO_DEFINED);
		if (ret) {
			dprintf(CRITICAL, "ldo control disable failed \n");
			return ret;
		}
		dprintf(SPEW, "Panel power off done\n");
	}

	return ret;
}
static int mdss_dsi_bl_enable(uint8_t enable)
{
	int ret = NO_ERROR;

	ret = panel_backlight_ctrl(enable);
	if (ret)
		dprintf(CRITICAL, "Backlight %s failed\n", enable ? "enable" :
							"disable");
	return ret;
}