display all plugins follow same display_exit logic.
There is no need to keep same logic code except specific profile code logic.
Thus display_exit() logic is moved to display.c.
Change-Id: I48b00e9289dbac9adc14b7d619f7e5f3ff81b853
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
return &states[state];
}
-enum {
- INIT_SETTING = 0,
- INIT_INTERFACE,
- INIT_POLL,
- INIT_FIFO,
- INIT_DBUS,
- INIT_END
-};
-
static void init_display_states(void *data)
{
struct display_plugin *dp = (struct display_plugin *) data;
static void display_exit(void *data)
{
- int i = INIT_END;
-
- display_set_display_ops_status(DEVICE_OPS_STATUS_STOP);
-
- /* Set current state to S_NORMAL */
- set_pm_cur_state(S_NORMAL);
- set_setting_pmstate(get_pm_cur_state());
- /* timeout is not needed */
- display_state_transition_reset_state_transition_timeout(TIMEOUT_NONE);
-
- display_ops_exit(NULL);
-
- for (i = i - 1; i >= INIT_SETTING; i--) {
- switch (i) {
- case INIT_SETTING:
- exit_setting();
- break;
- case INIT_INTERFACE:
- exit_sysfs();
- break;
- case INIT_POLL:
- 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);
-
- break;
- }
- }
-
- display_unregister_dependent_device();
- free_lock_info_list();
-
- _I("Stop power manager.");
+ return;
}
static int display_start(enum device_flags flags)
dp->backlight = &backlight_ops;
}
-int exit_sysfs(void)
-{
- const struct device_ops *ops = NULL;
-
- display_backlight_update_by_default_brightness();
-
- display_panel_exit_dpms();
-
- ops = find_device("touchscreen");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- ops = find_device("touchkey");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- unregister_notifier(DEVICE_NOTIFIER_VITAL_STATE, vital_state_changed);
-
- return 0;
-}
-
static void __CONSTRUCTOR__ initialize(void)
{
display_conf = get_var_display_config();
return 0;
}
-enum {
- INIT_SETTING = 0,
- INIT_INTERFACE,
- INIT_POLL,
- INIT_FIFO,
- INIT_DBUS,
- INIT_END
-};
-
static void init_display_states(void *data)
{
struct display_plugin *dp = (struct display_plugin *) data;
static void display_exit(void *data)
{
- int i = INIT_END;
-
- display_set_display_ops_status(DEVICE_OPS_STATUS_STOP);
-
- /* Set current state to S_NORMAL */
- set_pm_cur_state(S_NORMAL);
- set_setting_pmstate(get_pm_cur_state());
- /* timeout is not needed */
- display_state_transition_reset_state_transition_timeout(TIMEOUT_NONE);
-
- display_ops_exit(NULL);
-
- for (i = i - 1; i >= INIT_SETTING; i--) {
- switch (i) {
- case INIT_SETTING:
- exit_setting();
- break;
- case INIT_INTERFACE:
- exit_sysfs();
- break;
- case INIT_POLL:
- 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);
-
- break;
- }
- }
-
- display_unregister_dependent_device();
- free_lock_info_list();
-
- _I("Stop power manager.");
+ return;
}
static int display_start(enum device_flags flags)
dp->backlight = &backlight_ops;
}
-int exit_sysfs(void)
-{
- const struct device_ops *ops = NULL;
-
- display_backlight_update_by_default_brightness();
-
- display_panel_exit_dpms();
-
- ops = find_device("touchscreen");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- ops = find_device("touchkey");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- unregister_notifier(DEVICE_NOTIFIER_VITAL_STATE, vital_state_changed);
-
- return 0;
-}
-
static void __CONSTRUCTOR__ initialize(void)
{
display_conf = get_var_display_config();
return &states[state];
}
-
-
-enum {
- INIT_SETTING = 0,
- INIT_INTERFACE,
- INIT_POLL,
- INIT_FIFO,
- INIT_DBUS,
- INIT_END
-};
-
static void init_display_states(void *data)
{
struct display_plugin *dp = (struct display_plugin *) data;
static void display_exit(void *data)
{
- int i = INIT_END;
-
- display_set_display_ops_status(DEVICE_OPS_STATUS_STOP);
-
- /* Set current state to S_NORMAL */
- set_pm_cur_state(S_NORMAL);
- set_setting_pmstate(get_pm_cur_state());
- /* timeout is not needed */
- display_state_transition_reset_state_transition_timeout(TIMEOUT_NONE);
-
- display_ops_exit(NULL);
-
- for (i = i - 1; i >= INIT_SETTING; i--) {
- switch (i) {
- case INIT_SETTING:
- exit_setting();
- break;
- case INIT_INTERFACE:
- exit_sysfs();
- break;
- case INIT_POLL:
- 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);
-
- break;
- }
- }
-
- display_unregister_dependent_device();
- free_lock_info_list();
-
- _I("Stop power manager.");
+ return;
}
static int display_start(enum device_flags flags)
dp->backlight = &backlight_ops;
}
-int exit_sysfs(void)
-{
- const struct device_ops *ops = NULL;
-
- display_backlight_update_by_default_brightness();
-
- display_panel_exit_dpms();
-
- ops = find_device("touchscreen");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- ops = find_device("touchkey");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- unregister_notifier(DEVICE_NOTIFIER_VITAL_STATE, vital_state_changed);
-
- return 0;
-}
-
static void __CONSTRUCTOR__ initialize(void)
{
display_conf = get_var_display_config();
display_register_dependent_device(ops);
}
-enum {
- INIT_SETTING = 0,
- INIT_INTERFACE,
- INIT_POLL,
- INIT_FIFO,
- INIT_DBUS,
- INIT_END
-};
-
static void init_display_states(void *data)
{
struct display_plugin *dp = (struct display_plugin *) data;
static void display_exit(void *data)
{
- int i = INIT_END;
-
- display_set_display_ops_status(DEVICE_OPS_STATUS_STOP);
-
- /* Set current state to S_NORMAL */
- set_pm_cur_state(S_NORMAL);
- set_setting_pmstate(get_pm_cur_state());
- /* timeout is not needed */
- display_state_transition_reset_state_transition_timeout(TIMEOUT_NONE);
-
unregister_kernel_uevent_control(&sec_dsim_uevent_ops);
-
- display_ops_exit(NULL);
-
- for (i = i - 1; i >= INIT_SETTING; i--) {
- switch (i) {
- case INIT_SETTING:
- exit_setting();
- break;
- case INIT_INTERFACE:
- exit_sysfs();
- break;
- case INIT_POLL:
- 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);
-
- break;
- }
- }
-
- display_unregister_dependent_device();
- free_lock_info_list();
-
- _I("Stop power manager.");
+ return;
}
static int display_start(enum device_flags flags)
return 0;
}
-int exit_sysfs(void)
-{
- const struct device_ops *ops = NULL;
-
- display_backlight_update_by_default_brightness();
-
- display_panel_exit_dpms();
-
- ops = find_device("touchscreen");
- if (!check_default(ops))
- ops->start(NORMAL_MODE);
-
- unregister_notifier(DEVICE_NOTIFIER_VITAL_STATE, vital_state_changed);
-
- return 0;
-}
-
static void __CONSTRUCTOR__ initialize(void)
{
display_conf = get_var_display_config();
};
int init_sysfs(unsigned int);
-int exit_sysfs(void);
struct display_backlight_ops *get_var_backlight_ops(void);
static void display_exit(void *data)
{
+ const struct device_ops *ops = NULL;
+
if (!display_plugin_device_ops || !display_plugin_device_ops->exit)
return;
display_plugin_device_ops->exit(data);
+ display_set_display_ops_status(DEVICE_OPS_STATUS_STOP);
+
+ /* Set current state to S_NORMAL */
+ set_pm_cur_state(S_NORMAL);
+ set_setting_pmstate(get_pm_cur_state());
+ /* timeout is not needed */
+ display_state_transition_reset_state_transition_timeout(TIMEOUT_NONE);
+
unregister_kernel_uevent_control(&lcd_uevent_ops);
- display_signal_unregister_display_brightness_notifier();
+ display_ops_exit(NULL);
+
+ exit_setting();
+
+ display_backlight_update_by_default_brightness();
+
+ display_panel_exit_dpms();
+
+ ops = find_device("touchscreen");
+ if (!check_default(ops))
+ ops->start(NORMAL_MODE);
+
+ ops = find_device("touchkey");
+ if (!check_default(ops))
+ ops->start(NORMAL_MODE);
+
+ unregister_notifier(DEVICE_NOTIFIER_VITAL_STATE, vital_state_changed);
+ unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
+ 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);
display_misc_unregister_battery_health_notifier();
+ display_signal_unregister_display_brightness_notifier();
unregister_notifier(DEVICE_NOTIFIER_POWER_RESUME_FROM_ECHO_MEM, power_resume_from_echomem_callback);
unregister_notifier(DEVICE_NOTIFIER_POWEROFF_TRIGGERED, poweroff_triggered_callback);
- unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
+
+ display_unregister_dependent_device();
+ free_lock_info_list();
unload_display_hal_backend();
}