From: Yunhee Seo Date: Fri, 14 Jul 2023 06:47:46 +0000 (+0900) Subject: display: Remove duplicated display_exit codes X-Git-Tag: accepted/tizen/unified/20230726.163529~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2f6461f0997920012bf69b5d280c5498425a688;p=platform%2Fcore%2Fsystem%2Fdeviced.git display: Remove duplicated display_exit codes 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 --- diff --git a/plugins/iot-headed/display/core.c b/plugins/iot-headed/display/core.c index b4d71dd..d83ee55 100644 --- a/plugins/iot-headed/display/core.c +++ b/plugins/iot-headed/display/core.c @@ -135,15 +135,6 @@ inline struct state* state_st(enum state_t state) 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; @@ -194,39 +185,7 @@ static void display_init(void *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) diff --git a/plugins/iot-headed/display/device-interface.c b/plugins/iot-headed/display/device-interface.c index 36f1854..2d37e96 100644 --- a/plugins/iot-headed/display/device-interface.c +++ b/plugins/iot-headed/display/device-interface.c @@ -74,27 +74,6 @@ void setup_display_plugin_backlight_ops(struct display_plugin *dp) 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(); diff --git a/plugins/mobile/display/core.c b/plugins/mobile/display/core.c index bb1fbbc..6b6c49d 100644 --- a/plugins/mobile/display/core.c +++ b/plugins/mobile/display/core.c @@ -188,15 +188,6 @@ static int default_proc_change_state(unsigned int cond, pid_t pid) 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; @@ -245,39 +236,7 @@ static void display_init(void *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) diff --git a/plugins/mobile/display/device-interface.c b/plugins/mobile/display/device-interface.c index df36e8e..4799a42 100644 --- a/plugins/mobile/display/device-interface.c +++ b/plugins/mobile/display/device-interface.c @@ -90,27 +90,6 @@ void setup_display_plugin_backlight_ops(struct display_plugin *dp) 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(); diff --git a/plugins/tv/display/core.c b/plugins/tv/display/core.c index 341527d..68e444b 100644 --- a/plugins/tv/display/core.c +++ b/plugins/tv/display/core.c @@ -135,17 +135,6 @@ inline struct state* state_st(enum state_t state) 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; @@ -193,39 +182,7 @@ static void display_init(void *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) diff --git a/plugins/tv/display/device-interface.c b/plugins/tv/display/device-interface.c index 9857e12..3abf17c 100644 --- a/plugins/tv/display/device-interface.c +++ b/plugins/tv/display/device-interface.c @@ -74,27 +74,6 @@ void setup_display_plugin_backlight_ops(struct display_plugin *dp) 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(); diff --git a/plugins/wearable/display/core.c b/plugins/wearable/display/core.c index 94f6823..7f8b507 100644 --- a/plugins/wearable/display/core.c +++ b/plugins/wearable/display/core.c @@ -902,15 +902,6 @@ static void init_lcd_operation(void) 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; @@ -998,41 +989,8 @@ static void display_init(void *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) diff --git a/plugins/wearable/display/device-interface.c b/plugins/wearable/display/device-interface.c index 135740c..bb2469c 100644 --- a/plugins/wearable/display/device-interface.c +++ b/plugins/wearable/display/device-interface.c @@ -238,23 +238,6 @@ int init_sysfs(unsigned int 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(); diff --git a/src/display/device-interface.h b/src/display/device-interface.h index c3d87bf..6f0fb1c 100644 --- a/src/display/device-interface.h +++ b/src/display/device-interface.h @@ -58,7 +58,6 @@ enum { }; int init_sysfs(unsigned int); -int exit_sysfs(void); struct display_backlight_ops *get_var_backlight_ops(void); diff --git a/src/display/display.c b/src/display/display.c index c0a42d3..2b346af 100644 --- a/src/display/display.c +++ b/src/display/display.c @@ -629,18 +629,51 @@ static void display_init(void *data) 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(); }