initialized_killable_daemon_list = false;
}
-static unsigned long get_lcd_on_flags(void)
+static int get_device_flags(unsigned long *device_flags)
{
- unsigned long flags = NORMAL_MODE;
- bool lcd_paneloff_mode = false;
+ if (!device_flags)
+ return -EINVAL;
+ *device_flags = NORMAL_MODE;
+ bool lcd_paneloff_mode = false;
+ bool stay_touchscreen_off = false;
display_panel_get_lcd_paneloff_mode(&lcd_paneloff_mode);
- if (lcd_paneloff_mode)
- flags |= LCD_PANEL_OFF_MODE;
+ display_misc_get_stay_touchscreen_off(&stay_touchscreen_off);
+
+ if (lcd_paneloff_mode) {
+ *device_flags |= LCD_PANEL_OFF_MODE;
+ }
+
+ if (stay_touchscreen_off) {
+ *device_flags |= TOUCH_SCREEN_OFF_MODE;
+ }
if (ambient_get_state()) {
- flags |= AMBIENT_MODE;
- flags |= LCD_PHASED_TRANSIT_MODE;
+ *device_flags |= AMBIENT_MODE;
+ *device_flags |= LCD_PHASED_TRANSIT_MODE;
}
- return flags;
+ return 0;
}
bool touch_event_blocked(void)
void lcd_on_procedure(int state, enum device_flags flag)
{
- unsigned long flags = get_lcd_on_flags();
+ unsigned long flags = NORMAL_MODE;
+ display_plugin_get_device_flags(&flags);
flags |= flag;
int ret;
touch_blocked = false;
}
-static unsigned long get_lcd_off_flags(void)
-{
- unsigned long flags = NORMAL_MODE;
- bool stay_touchscreen_off = false;
-
- if (ambient_get_condition() == true) {
- flags |= AMBIENT_MODE;
- flags |= LCD_PHASED_TRANSIT_MODE;
- }
-
- display_misc_get_stay_touchscreen_off(&stay_touchscreen_off);
- if (stay_touchscreen_off)
- flags |= TOUCH_SCREEN_OFF_MODE;
-
- return flags;
-}
-
inline void lcd_off_procedure(enum device_flags flag)
{
- unsigned long flags = get_lcd_off_flags();
+ unsigned long flags = NORMAL_MODE;
+ display_plugin_get_device_flags(&flags);
flags |= flag;
/*
setup_display_plugin_backlight_ops(dp);
dp->delete_state_cond = del_state_cond;
dp->set_dim_state = set_dim_state;
+ dp->get_device_flags = get_device_flags;
setup_display_plugin_backlight_ops(dp);
/**