/* a hacky interface to control the panel power */ static void lcdc_config_gpios(int on) { printk(KERN_INFO "%s: power goes to %d\n", __func__, on); if (panel_power(on)) printk(KERN_ERR "%s: panel_power failed!\n", __func__); if (panel_gpio_switch(on)) printk(KERN_ERR "%s: panel_gpio_switch failed!\n", __func__); }
static void mecha_auo_panel_power(bool on_off) { if (!!on_off) { LCMDBG("%s(%d):\n", __func__, on_off); gpio_set_value(MECHA_LCD_RSTz, 1); udelay(500); gpio_set_value(MECHA_LCD_RSTz, 0); udelay(500); gpio_set_value(MECHA_LCD_RSTz, 1); hr_msleep(20); panel_gpio_switch(on_off); } else { LCMDBG("%s(%d):\n", __func__, on_off); gpio_set_value(MECHA_LCD_RSTz, 1); hr_msleep(70); panel_gpio_switch(on_off); } }
static int express_smd_panel_uninit(struct msm_lcdc_panel_ops *ops) { LCMDBG("\n"); mutex_lock(&panel_lock); express_panel_power(0); panel_gpio_switch(0); mutex_unlock(&panel_lock); return 0; }