static int dsi_s_1080p_5_enable(struct device *dev) { int err = 0; err = dsi_s_1080p_5_reg_get(); if (err < 0) { pr_err("dsi regulator get failed\n"); goto fail; } err = dsi_s_1080p_5_gpio_get(); if (err < 0) { pr_err("dsi gpio request failed\n"); goto fail; } if (is_in_initialized_mode) gpio_direction_output(dsi_s_1080p_5_pdata.dsi_panel_rst_gpio, 0); if (vdd_lcd_s_1v8) { err = regulator_enable(vdd_lcd_s_1v8); if (err < 0) { pr_err("vdd_lcd_1v8_s regulator enable failed\n"); goto fail; } } usleep_range(10000,11000); gpio_direction_output(vdd_lcd_5v_en, 1); usleep_range(10000,11000); if (vdd_sys_bl_3v7) { err = regulator_enable(vdd_sys_bl_3v7); if (err < 0) { pr_err("vdd_sys_bl regulator enable failed\n"); goto fail; } } //gpio_direction_output(dsi_s_1080p_5_pdata.dsi_panel_bl_en_gpio, 1); mdelay(50); #if 0// DSI_PANEL_RESET gpio_set_value(dsi_s_1080p_5_pdata.dsi_panel_rst_gpio, 1); msleep(20); #endif is_bl_powered = true; is_in_initialized_mode = true; return 0; fail: return err; }
static int dsi_s_1080p_5_enable(struct device *dev) { int err = 0; err = dsi_s_1080p_5_reg_get(); if (err < 0) { pr_err("dsi regulator get failed\n"); goto fail; } err = dsi_s_1080p_5_gpio_get(); if (err < 0) { pr_err("dsi gpio request failed\n"); goto fail; } gpio_direction_output(DSI_PANEL_RST_GPIO, 0); if (vdd_lcd_s_1v8) { err = regulator_enable(vdd_lcd_s_1v8); if (err < 0) { pr_err("vdd_lcd_1v8_s regulator enable failed\n"); goto fail; } } usleep_range(3000, 5000); if (vdd_sys_bl_3v7) { err = regulator_enable(vdd_sys_bl_3v7); if (err < 0) { pr_err("vdd_sys_bl regulator enable failed\n"); goto fail; } } gpio_direction_output(DSI_PANEL_BL_EN_GPIO, 1); is_bl_powered = true; usleep_range(3000, 5000); #if DSI_PANEL_RESET gpio_set_value(DSI_PANEL_RST_GPIO, 1); msleep(20); #endif return 0; fail: return err; }