static void (*power_saving_func) (int onoff);
static enum device_ops_status status = DEVICE_OPS_STATUS_UNINIT;
-static int system_wakeup_flag = false;
static char *custom_change_name;
static int default_proc_change_state(unsigned int cond, pid_t pid);
return 0;
}
-static int power_resume_from_echomem_callback(void *data)
-{
- system_wakeup_flag = true;
- if (check_wakeup_src() == EVENT_DEVICE)
- /* system waked up by devices */
- display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_DEVICE);
- else
- /* system waked up by user input */
- display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_INPUT);
-
- return 0;
-}
-
-static int poweroff_triggered_callback(void *udata)
-{
- int val = (int)(intptr_t) udata;
-
- switch (val) {
- case VCONFKEY_SYSMAN_POWER_OFF_NONE:
- clear_pm_status_flag(PWROFF_FLAG);
- break;
- case VCONFKEY_SYSMAN_POWER_OFF_DIRECT:
- case VCONFKEY_SYSMAN_POWER_OFF_RESTART:
- set_pm_status_flag(PWROFF_FLAG);
- break;
- }
-
- return 0;
-}
-
static void esd_action(void)
{
const struct device_ops *touchscreen_ops = NULL;
register_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
- register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
init_save_userlock();
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
break;
}
static void (*power_saving_func) (int onoff);
static enum device_ops_status status = DEVICE_OPS_STATUS_UNINIT;
-static int system_wakeup_flag = false;
static char *custom_change_name;
static int default_proc_change_state(unsigned int cond, pid_t pid);
return 0;
}
-static int power_resume_from_echomem_callback(void *data)
-{
- system_wakeup_flag = true;
- if (check_wakeup_src() == EVENT_DEVICE)
- /* system waked up by devices */
- display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_DEVICE);
- else
- /* system waked up by user input */
- display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_INPUT);
-
- return 0;
-}
-
-static int poweroff_triggered_callback(void *udata)
-{
- int val = (int)(intptr_t) udata;
-
- switch (val) {
- case VCONFKEY_SYSMAN_POWER_OFF_NONE:
- clear_pm_status_flag(PWROFF_FLAG);
- break;
- case VCONFKEY_SYSMAN_POWER_OFF_DIRECT:
- case VCONFKEY_SYSMAN_POWER_OFF_RESTART:
- set_pm_status_flag(PWROFF_FLAG);
- break;
- }
-
- return 0;
-}
-
static void esd_action(void)
{
const struct device_ops *touchscreen_ops = NULL;
register_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
- register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
init_save_userlock();
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
break;
}
static void (*power_saving_func) (int onoff);
static enum device_ops_status status = DEVICE_OPS_STATUS_UNINIT;
-static int system_wakeup_flag = false;
static char *custom_change_name;
static int default_proc_change_state(unsigned int cond, pid_t pid);
return 0;
}
-static int power_resume_from_echomem_callback(void *data)
-{
- system_wakeup_flag = true;
- if (check_wakeup_src() == EVENT_DEVICE)
- /* system waked up by devices */
- display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_DEVICE);
- else
- /* system waked up by user input */
- display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_INPUT);
-
- return 0;
-}
-
-static int poweroff_triggered_callback(void *udata)
-{
- int val = (int)(intptr_t) udata;
-
- switch (val) {
- case VCONFKEY_SYSMAN_POWER_OFF_NONE:
- clear_pm_status_flag(PWROFF_FLAG);
- break;
- case VCONFKEY_SYSMAN_POWER_OFF_DIRECT:
- case VCONFKEY_SYSMAN_POWER_OFF_RESTART:
- set_pm_status_flag(PWROFF_FLAG);
- break;
- }
-
- return 0;
-}
-
static void esd_action(void)
{
const struct device_ops *touchscreen_ops = NULL;
register_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
- register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
init_save_userlock();
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
break;
}
static void (*power_saving_func) (int onoff);
static enum device_ops_status status = DEVICE_OPS_STATUS_UNINIT;
-static int system_wakeup_flag = false;
static char *custom_change_name;
static guint transit_timer;
/*
return 0;
}
-static int power_resume_from_echomem_callback(void *data)
-{
- system_wakeup_flag = true;
- if (check_wakeup_src() == EVENT_DEVICE)
- /* system waked up by devices */
- states[get_pm_cur_state()].trans(EVENT_DEVICE);
- else
- /* system waked up by user input */
- states[get_pm_cur_state()].trans(EVENT_INPUT);
-
- return 0;
-}
-
-static int poweroff_triggered_callback(void *udata)
-{
- int val = (int)(intptr_t) udata;
-
- switch (val) {
- case VCONFKEY_SYSMAN_POWER_OFF_NONE:
- clear_pm_status_flag(PWROFF_FLAG);
- break;
- case VCONFKEY_SYSMAN_POWER_OFF_DIRECT:
- case VCONFKEY_SYSMAN_POWER_OFF_RESTART:
- set_pm_status_flag(PWROFF_FLAG);
- break;
- }
-
- return 0;
-}
-
static void esd_action(void)
{
const struct device_ops *touchscreen_ops = NULL;
register_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
register_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
register_notifier(DEVICE_NOTIFIER_LCD_AUTOBRT_SENSING, display_auto_brightness_sensing);
- register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
- register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
init_save_userlock();
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_BACKGROUND, display_app_background);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_FOREGROUND, display_app_foreground);
unregister_notifier(DEVICE_NOTIFIER_APPLICATION_TERMINATED, display_app_terminated);
- unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
break;
}
#include <libsyscommon/list.h>
#include <shared/devices.h>
+#include "shared/device-notifier.h"
#include "shared/log.h"
+#include "device-interface.h"
#include "display.h"
#include "display-plugin.h"
#include "display-config.h"
#include "display-misc.h"
#include "display-signal.h"
+#include "display-state-transition.h"
static const struct device_ops *display_plugin_device_ops;
static int pm_cur_state;
return 0;
}
+static int power_resume_from_echomem_callback(void *data)
+{
+ display_plugin_set_system_wakeup_flag(true);
+ if (check_wakeup_src() == EVENT_DEVICE)
+ /* system waked up by devices */
+ display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_DEVICE);
+ else
+ /* system waked up by user input */
+ display_state_transition_do_state_transition(get_pm_cur_state(), EVENT_INPUT);
+
+ return 0;
+}
+
+static int poweroff_triggered_callback(void *udata)
+{
+ int val = (int)(intptr_t) udata;
+
+ switch (val) {
+ case VCONFKEY_SYSMAN_POWER_OFF_NONE:
+ clear_pm_status_flag(PWROFF_FLAG);
+ break;
+ case VCONFKEY_SYSMAN_POWER_OFF_DIRECT:
+ case VCONFKEY_SYSMAN_POWER_OFF_RESTART:
+ set_pm_status_flag(PWROFF_FLAG);
+ break;
+ }
+
+ return 0;
+}
+
static int display_probe(void *data)
{
display_plugin_device_ops = find_device("display-plugin");
display_signal_register_display_brightness_notifier();
display_misc_register_battery_health_notifier();
+ register_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
+ register_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
}
static void display_exit(void *data)
display_signal_unregister_display_brightness_notifier();
display_misc_unregister_battery_health_notifier();
+ unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
+ unregister_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
}
static int display_start(enum device_flags flags)