static int mapphone_panel_enable(struct omap_dss_device *dssdev)
{
	int ret;

	/* change the DSS power state to INACTIVE with LCD on */
	if (dss_pwrdm)
		omap_set_pwrdm_state(dss_pwrdm, PWRDM_POWER_INACTIVE);
	/*
	 * TODO:
	 * 1. mapphone_panel_regulator_enable() and mapphone_panel_reset() are
	 * sharing the first_boot flag, and it MUST maintain this order.
	 * 2. there is a first_boot flag in panel-mapphone.c, they need to be
	 * to be consolidated later.
	 * 3. mapphone_panel_reset() will reset panel base on the first_boot
	 * flasg, but there is a macro CONFIG_FB_OMAP_BOOTLOADER_INIT will be
	 * used to determine if the panel need to be reset at the first_boot
	 */
	ret = mapphone_panel_regulator_enable();
	if (!ret) {
		if (dssdev->panel.panel_id ==
			MOT_DISP_LVDS_MIPI_VM_1007_1280_800) {
			/* give display gpio level switchers time to power-up */
			msleep(5);
			mapphone_panel_lvds_mipi_vm_1007_1280_800_enable(true);
		}
		mapphone_panel_reset(true);
	}

	return ret;
}
static void mapphone_panel_disable(struct omap_dss_device *dssdev)
{
	mapphone_panel_reset(false);
	mapphone_panel_regulator_disable();

	/* change the DSS power state to RET with LCD off */
	if (dss_pwrdm)
		omap4_set_pwrdm_state(dss_pwrdm, PWRDM_POWER_RET);
}
static int mapphone_panel_enable(struct omap_dss_device *dssdev)
{       int ret;
	/* change the DSS power state to INACTIVE with LCD on */
	if (dss_pwrdm)
		omap4_set_pwrdm_state(dss_pwrdm, PWRDM_POWER_INACTIVE);

	ret = mapphone_panel_regulator_enable();
	if (!ret)
		mapphone_panel_reset(true);

	return ret;
}
static void mapphone_panel_disable(struct omap_dss_device *dssdev)
{
	if (!dssdev->phy.dsi.d2l_use_ulps)
		mapphone_panel_reset(false);

	if (dssdev->panel.panel_id == MOT_DISP_LVDS_MIPI_VM_1007_1280_800)
		mapphone_panel_lvds_mipi_vm_1007_1280_800_enable(false);

	mapphone_panel_regulator_disable();
	/* change the DSS power state to RET with LCD off */
	if (dss_pwrdm)
		omap_set_pwrdm_state(dss_pwrdm, PWRDM_POWER_RET);
}