Rename booting_done to delayed_init_done 19/264919/3
authorYoungjae Cho <y0.cho@samsung.com>
Tue, 5 Oct 2021 06:44:18 +0000 (15:44 +0900)
committerYoungjae Cho <y0.cho@samsung.com>
Tue, 5 Oct 2021 08:02:59 +0000 (17:02 +0900)
Technically, the DEVICE_NOTIFIER_BOOTING_DONE is generated on receiving
dbus signal "StartupFinished", not "BootingDone". Therefore rename this
notifier to DEVICE_NOTIFIER_DELAYED_INIT and booting_done() callbacks to
delayed_init_done().

Change-Id: Ib7c9a38826ce3fdc7eb0b10ee2a62314c8b0dde6
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
29 files changed:
CMakeLists.txt
plugins/iot-headed/display/core.c
plugins/iot-headed/display/key-filter.c
plugins/mobile/display/core.c
plugins/mobile/display/device-interface.c
plugins/mobile/display/key-filter.c
plugins/tv/display/core.c
plugins/tv/display/key-filter.c
plugins/wearable/display/core.c
plugins/wearable/display/key-filter.c
plugins/wearable/display/powersaver.c
src/battery/lowbat-handler.c
src/battery/power-supply.c
src/core/delayed-init-notifier.c [new file with mode: 0644]
src/core/late-booting-done-notifier.c [deleted file]
src/core/main.c
src/cpu/pmqos.c
src/display/auto-brightness.c
src/extcon/extcon.c
src/power/boot.c
src/power/boot.h
src/power/power-handler.c
src/shared/device-notifier.c
src/shared/device-notifier.h
src/thermal/thermal.c
src/touchscreen/sensitivity.c
src/touchscreen/touchscreen.c
src/tzip/tzip.c
src/usbhost/usb-host.c

index d900646..0aef649 100644 (file)
@@ -66,7 +66,7 @@ SET(VERSION 0.1.0)
 SET(SRCS
        src/apps/apps.c
        src/control/control.c
-       src/core/late-booting-done-notifier.c
+       src/core/delayed-init-notifier.c
        src/core/devices.c
        src/core/event-handler.c
        src/core/execute.c
index c4e6f18..f462b17 100644 (file)
@@ -164,7 +164,7 @@ static int trans_table[S_END][EVENT_END] = {
 
 #define S_COVER_TIMEOUT                        8000
 #define GET_HOLDKEY_BLOCK_STATE(x) ((x >> SHIFT_LOCK_FLAG) & HOLD_KEY_BLOCK_BIT)
-#define BOOTING_DONE_WATING_TIME       60000   /* 1 minute */
+#define DELAYED_INIT_WATING_TIME       60000   /* 1 minute */
 
 #define LOCK_SCREEN_WATING_TIME                300     /* 0.3 second */
 #define LONG_PRESS_INTERVAL             2       /* 2 seconds */
@@ -1926,7 +1926,7 @@ void reset_lcd_timeout(GDBusConnection *conn,
                states[get_pm_cur_state()].trans(EVENT_INPUT);
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static bool done = false;
 
@@ -1966,7 +1966,7 @@ static int battery_health_changed(void *data)
        return 0;
 }
 
-static gboolean delayed_init_dpms(gpointer data)
+static gboolean delayed_init_done_dpms(gpointer data)
 {
        int timeout;
 
@@ -1999,7 +1999,7 @@ static gboolean delayed_init_dpms(gpointer data)
 
 static void add_timer_for_init_dpms(void)
 {
-       guint id = g_timeout_add(500/* milliseconds */, delayed_init_dpms, NULL);
+       guint id = g_timeout_add(500/* milliseconds */, delayed_init_done_dpms, NULL);
        if (id == 0)
                _E("Failed to add init_dpms timeout.");
 }
@@ -2107,7 +2107,7 @@ static void display_init(void *data)
 
        register_kernel_uevent_control(&lcd_uevent_ops);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        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);
@@ -2190,7 +2190,7 @@ static void display_init(void *data)
                         */
                        if (disp_plgn->pm_lock_internal)
                                disp_plgn->pm_lock_internal(INTERNAL_LOCK_BOOTING, LCD_OFF,
-                                               STAY_CUR_STATE, BOOTING_DONE_WATING_TIME);
+                                               STAY_CUR_STATE, DELAYED_INIT_WATING_TIME);
 
                        /* Initial display state right after the booting done */
                        if (is_lcdon_blocked())
@@ -2249,7 +2249,7 @@ static void display_exit(void *data)
                        exit_sysfs();
                        break;
                case INIT_POLL:
-                       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+                       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);
index ccfb22f..2dbfe2a 100644 (file)
@@ -728,7 +728,7 @@ static int check_key_filter(void *data, int fd)
        return 0;
 }
 
-static int booting_done_cb(void *data)
+static int delayed_init_done(void *data)
 {
        booting_check = 0;
 
@@ -766,7 +766,7 @@ static void keyfilter_init(void)
 
        touchled = find_device(TOUCHLED_NAME);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done_cb);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_BEZEL_WAKEUP, bezel_wakeup_cb);
 }
 
index 62b1a9a..19d63dc 100644 (file)
@@ -166,7 +166,7 @@ static int trans_table[S_END][EVENT_END] = {
 
 #define S_COVER_TIMEOUT                        8000
 #define GET_HOLDKEY_BLOCK_STATE(x) ((x >> SHIFT_LOCK_FLAG) & HOLD_KEY_BLOCK_BIT)
-#define BOOTING_DONE_WATING_TIME       60000   /* 1 minute */
+#define DELAYED_INIT_WATING_TIME       60000   /* 1 minute */
 
 #define LOCK_SCREEN_WATING_TIME                300     /* 0.3 second */
 #define LONG_PRESS_INTERVAL             400       /* 0.4 seconds */
@@ -1936,7 +1936,7 @@ void reset_lcd_timeout(GDBusConnection *conn,
                states[get_pm_cur_state()].trans(EVENT_INPUT);
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static bool done = false;
 
@@ -1976,7 +1976,7 @@ static int battery_health_changed(void *data)
        return 0;
 }
 
-static gboolean delayed_init_dpms(gpointer data)
+static gboolean delayed_init_done_dpms(gpointer data)
 {
        int timeout;
 
@@ -2009,7 +2009,7 @@ static gboolean delayed_init_dpms(gpointer data)
 
 static void add_timer_for_init_dpms(void)
 {
-       guint id = g_timeout_add(500/* milliseconds */, delayed_init_dpms, NULL);
+       guint id = g_timeout_add(500/* milliseconds */, delayed_init_done_dpms, NULL);
        if (id == 0)
                _E("Failed to add init_dpms timeout.");
 }
@@ -2113,7 +2113,7 @@ static void display_init(void *data)
 
        register_kernel_uevent_control(&lcd_uevent_ops);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        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);
@@ -2196,7 +2196,7 @@ static void display_init(void *data)
                         */
                        if (disp_plgn->pm_lock_internal)
                                disp_plgn->pm_lock_internal(INTERNAL_LOCK_BOOTING, LCD_OFF,
-                                               STAY_CUR_STATE, BOOTING_DONE_WATING_TIME);
+                                               STAY_CUR_STATE, DELAYED_INIT_WATING_TIME);
 
                        /* Initial display state right after the booting done */
                        if (is_lcdon_blocked())
@@ -2255,7 +2255,7 @@ static void display_exit(void *data)
                        exit_sysfs();
                        break;
                case INIT_POLL:
-                       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+                       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);
index ba2b4e7..bb328df 100644 (file)
@@ -801,7 +801,7 @@ int display_service_free(void)
        return hal_device_display_put_backend();
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done = false;
 
@@ -816,7 +816,7 @@ static int booting_done(void *data)
 int is_lcdon_blocked(void)
 {
        /* block lcdon until booting done in silent boot mode */
-       if (silent_boot && !booting_done(NULL))
+       if (silent_boot && !delayed_init_done(NULL))
                return LCDON_BLOCK_DURING_SILENT_BOOT;
 
        return LCDON_BLOCK_NONE;
@@ -825,7 +825,7 @@ int is_lcdon_blocked(void)
 int init_sysfs(unsigned int flags)
 {
        register_notifier(DEVICE_NOTIFIER_VITAL_STATE, vital_state_changed);
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 
        return 0;
 }
index 2054adb..13bc8a6 100644 (file)
@@ -754,7 +754,7 @@ static int check_key_filter(void *data, int fd)
        return 0;
 }
 
-static int booting_done_cb(void *data)
+static int delayed_init_done(void *data)
 {
        booting_check = 0;
 
@@ -792,7 +792,7 @@ static void keyfilter_init(void)
 
        touchled = find_device(TOUCHLED_NAME);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done_cb);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_BEZEL_WAKEUP, bezel_wakeup_cb);
 }
 
index 21af9f5..b55dea3 100644 (file)
@@ -164,7 +164,7 @@ static int trans_table[S_END][EVENT_END] = {
 
 #define S_COVER_TIMEOUT                        8000
 #define GET_HOLDKEY_BLOCK_STATE(x) ((x >> SHIFT_LOCK_FLAG) & HOLD_KEY_BLOCK_BIT)
-#define BOOTING_DONE_WATING_TIME       60000   /* 1 minute */
+#define DELAYED_INIT_WATING_TIME       60000   /* 1 minute */
 
 #define LOCK_SCREEN_WATING_TIME                300     /* 0.3 second */
 #define LONG_PRESS_INTERVAL             2       /* 2 seconds */
@@ -1926,7 +1926,7 @@ void reset_lcd_timeout(GDBusConnection *conn,
                states[get_pm_cur_state()].trans(EVENT_INPUT);
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static bool done = false;
 
@@ -1966,7 +1966,7 @@ static int battery_health_changed(void *data)
        return 0;
 }
 
-static gboolean delayed_init_dpms(gpointer data)
+static gboolean delayed_init_done_dpms(gpointer data)
 {
        int timeout;
 
@@ -1999,7 +1999,7 @@ static gboolean delayed_init_dpms(gpointer data)
 
 static void add_timer_for_init_dpms(void)
 {
-       guint id = g_timeout_add(500/* milliseconds */, delayed_init_dpms, NULL);
+       guint id = g_timeout_add(500/* milliseconds */, delayed_init_done_dpms, NULL);
        if (id == 0)
                _E("Failed to add init_dpms timeout.");
 }
@@ -2104,7 +2104,7 @@ static void display_init(void *data)
 
        register_kernel_uevent_control(&lcd_uevent_ops);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        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);
@@ -2187,7 +2187,7 @@ static void display_init(void *data)
                         */
                        if (disp_plgn->pm_lock_internal)
                                disp_plgn->pm_lock_internal(INTERNAL_LOCK_BOOTING, LCD_OFF,
-                                               STAY_CUR_STATE, BOOTING_DONE_WATING_TIME);
+                                               STAY_CUR_STATE, DELAYED_INIT_WATING_TIME);
 
                        /* Initial display state right after the booting done */
                        if (is_lcdon_blocked())
@@ -2246,7 +2246,7 @@ static void display_exit(void *data)
                        exit_sysfs();
                        break;
                case INIT_POLL:
-                       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+                       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);
index 33214b1..1031fa7 100644 (file)
@@ -722,7 +722,7 @@ static int check_key_filter(void *data, int fd)
        return 0;
 }
 
-static int booting_done_cb(void *data)
+static int delayed_init_done(void *data)
 {
        booting_check = 0;
 
@@ -760,7 +760,7 @@ static void keyfilter_init(void)
 
        touchled = find_device(TOUCHLED_NAME);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done_cb);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_BEZEL_WAKEUP, bezel_wakeup_cb);
 }
 
index 8d27e91..268fa62 100644 (file)
@@ -172,7 +172,7 @@ static int trans_table[S_END][EVENT_END] = {
 
 #define S_COVER_TIMEOUT                        8000
 #define GET_HOLDKEY_BLOCK_STATE(x) ((x >> SHIFT_LOCK_FLAG) & HOLD_KEY_BLOCK_BIT)
-#define BOOTING_DONE_WATING_TIME       60000   /* 1 minute */
+#define DELAYED_INIT_WATING_TIME       60000   /* 1 minute */
 
 #define LOCK_SCREEN_WATING_TIME                300     /* 0.3 second */
 #define LONG_PRESS_INTERVAL             500       /* 0.5 seconds */
@@ -2198,7 +2198,7 @@ void reset_lcd_timeout(GDBusConnection *conn,
                states[get_pm_cur_state()].trans(EVENT_INPUT);
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static bool done = false;
 
@@ -2259,7 +2259,7 @@ static int powerlock_load_config(struct parse_result *result, void *user_data)
        return 0;
 }
 
-static gboolean delayed_init_dpms(gpointer data)
+static gboolean delayed_init_done_dpms(gpointer data)
 {
        int timeout;
 
@@ -2292,7 +2292,7 @@ static gboolean delayed_init_dpms(gpointer data)
 
 static void add_timer_for_init_dpms(void)
 {
-       guint id = g_timeout_add(500/* milliseconds */, delayed_init_dpms, NULL);
+       guint id = g_timeout_add(500/* milliseconds */, delayed_init_done_dpms, NULL);
        if (id == 0)
                _E("Failed to add init_dpms timeout.");
 }
@@ -2434,7 +2434,7 @@ static void display_init(void *data)
        register_kernel_uevent_control(&lcd_uevent_ops);
        register_kernel_uevent_control(&sec_dsim_uevent_ops);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        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);
@@ -2517,7 +2517,7 @@ static void display_init(void *data)
                         */
                        if (disp_plgn->pm_lock_internal)
                                disp_plgn->pm_lock_internal(INTERNAL_LOCK_BOOTING, LCD_OFF,
-                                               STAY_CUR_STATE, BOOTING_DONE_WATING_TIME);
+                                               STAY_CUR_STATE, DELAYED_INIT_WATING_TIME);
 
                        /* Initial display state right after the booting done */
                        if (is_lcdon_blocked())
@@ -2577,7 +2577,7 @@ static void display_exit(void *data)
                        exit_sysfs();
                        break;
                case INIT_POLL:
-                       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+                       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);
index 5b1cf9d..21bdd95 100644 (file)
@@ -673,7 +673,7 @@ static int check_key_filter(void *data, int fd)
        return 0;
 }
 
-static int booting_done_cb(void *data)
+static int delayed_init_done(void *data)
 {
        booting_check = 0;
 
@@ -709,7 +709,7 @@ static void keyfilter_init(void)
        display_add_actor(&display_powerkey_actor);
        display_add_actor(&display_menukey_actor);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done_cb);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_BEZEL_WAKEUP, bezel_wakeup_cb);
 }
 
index 87d0d8a..56c3391 100644 (file)
@@ -86,7 +86,7 @@ static void powersaver_status_changed(keynode_t *key_nodes, void *data)
                _E("Failed to update powersaver state %d.", ret);
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
        int ret, status;
@@ -135,7 +135,7 @@ out:
 
 static void powersaver_init(void *data)
 {
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static void powersaver_exit(void *data)
index e771b44..3b58753 100644 (file)
@@ -162,7 +162,7 @@ static int power_execute(void *data)
        return ops->execute(data);
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        int status;
        static int done;
@@ -237,7 +237,7 @@ int lowbat_popup(int option)
 
 direct_launch:
        _D("Popup value=%s", value);
-       if (booting_done(NULL)) {
+       if (delayed_init_done(NULL)) {
 
                if (launched_poweroff == 1) {
                        _I("Will be foreced power off.");
@@ -717,7 +717,7 @@ static void lowbat_init(void *data)
 {
        int ret;
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_POWER_SUPPLY, lowbat_monitor_init);
 
        ret = gdbus_add_object(NULL, DEVICED_PATH_BATTERY, &dbus_interface);
index 9537559..4e64746 100644 (file)
@@ -105,7 +105,7 @@ bool battery_initialized;
 
 bool battery_do_not_disturb(void);
 int battery_pm_change_internal(int pid, int s_bits);
-static int booting_done(void *data);
+static int delayed_init_done(void *data);
 static void update_health(enum battery_noti_status status);
 static bool battery_dev_available = false;
 static int load_uevent(struct parse_result *result, void *user_data);
@@ -914,7 +914,7 @@ static void uevent_power_handler(struct udev_device *dev)
 
        battery_initialized = true;
 
-       ret_val = booting_done(NULL);
+       ret_val = delayed_init_done(NULL);
        if (ret_val) {
                if (battery.online > POWER_SUPPLY_TYPE_BATTERY)
                        power_supply_noti(DEVICE_NOTI_BATT_CHARGE, DEVICE_NOTI_ON);
@@ -1013,7 +1013,7 @@ static void battery_changed(struct battery_info *info, void *data)
        if (ret_val != 1)
                return;
 
-       ret_val = booting_done(NULL);
+       ret_val = delayed_init_done(NULL);
        if (ret_val) {
                /* If the same notification is requested repeatedly, it is ignored by power_supply_noti().
                 * A notification will be triggered only when charge_status changes between
@@ -1490,7 +1490,7 @@ static const dbus_interface_u dbus_interface = {
        .nr_methods = ARRAY_SIZE(dbus_methods),
 };
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
        device_notifier_state_e state = DEVICE_NOTIFIER_STATE_START;
@@ -1513,7 +1513,7 @@ static int booting_done(void *data)
                        CHARGE_MISC_EVENT_SIGNAL, battery.misc,
                        CHARGE_HEALTH_SIGNAL, battery.health, battery.health_s);
 
-       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 
        return done;
 }
@@ -1695,7 +1695,7 @@ static void power_supply_init(void *data)
        /* process check battery timer until booting done */
        power_supply_timer_start();
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_EVENT_HANDLER, event_handler_state_changed);
 
        ret_dbus = gdbus_add_object(NULL, DEVICED_PATH_BATTERY, &dbus_interface);
diff --git a/src/core/delayed-init-notifier.c b/src/core/delayed-init-notifier.c
new file mode 100644 (file)
index 0000000..53a86d1
--- /dev/null
@@ -0,0 +1,103 @@
+/*
+ * deviced
+ *
+ * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#include "log.h"
+#include "shared/device-notifier.h"
+#include "shared/common.h"
+#include "core/devices.h"
+#include <libsyscommon/libgdbus.h>
+#include <libsyscommon/list.h>
+
+static guint delayed_init_timer;
+
+#define DELAYED_INIT_WAIT_TIME 30   /* second */
+#define DEFAULT_DELAYED_INIT_VALUE     (guint)0x0DEF0DEF
+
+static void delayed_init_stop(void)
+{
+       if (delayed_init_timer == 0 || delayed_init_timer == DEFAULT_DELAYED_INIT_VALUE)
+               return;
+
+       g_source_remove(delayed_init_timer);
+       delayed_init_timer = 0;
+}
+
+static int delayed_init_done(void *data)
+{
+       static int done;
+
+       if (data == NULL)
+               goto out;
+
+       done = *(int *)data;
+       if (delayed_init_timer == 0)
+               return done;
+       delayed_init_stop();
+out:
+       return done;
+}
+
+static gboolean delayed_init_timer_cb(void *data)
+{
+       int done;
+
+       delayed_init_stop();
+       delayed_init_timer = 0;
+
+       done = delayed_init_done(NULL);
+       if (done)
+               return G_SOURCE_REMOVE;
+
+       _I("delayed init");
+
+       done = 1;
+       device_notify_once(DEVICE_NOTIFIER_DELAYED_INIT, (void *)&done);
+
+       return G_SOURCE_REMOVE;
+}
+
+static void delayed_init_done_notifier_init(void *data)
+{
+       int ret;
+
+       ret = check_systemd_active();
+       if (ret == TRUE) {
+               _I("restart booting done");
+               return;
+       }
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
+       delayed_init_timer = g_timeout_add_seconds(DELAYED_INIT_WAIT_TIME,
+                                               delayed_init_timer_cb, NULL);
+
+       if (!delayed_init_timer)
+               delayed_init_timer = DEFAULT_DELAYED_INIT_VALUE;
+}
+
+static void delayed_init_done_notifier_exit(void *data)
+{
+
+}
+
+static const struct device_ops notifier_device_ops = {
+       DECLARE_NAME_LEN("delayed-init-notifier"),
+       .init     = delayed_init_done_notifier_init,
+       .exit     = delayed_init_done_notifier_exit,
+};
+
+DEVICE_OPS_REGISTER(&notifier_device_ops)
diff --git a/src/core/late-booting-done-notifier.c b/src/core/late-booting-done-notifier.c
deleted file mode 100644 (file)
index 36f882a..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * deviced
- *
- * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include "log.h"
-#include "shared/device-notifier.h"
-#include "shared/common.h"
-#include "core/devices.h"
-#include <libsyscommon/libgdbus.h>
-#include <libsyscommon/list.h>
-
-static guint late_init_timer;
-
-#define LATE_INIT_WAIT_TIME    30   /* second */
-#define DEFAULT_LATE_INIT_VALUE        (guint)0x0DEF0DEF
-
-static void late_init_stop(void)
-{
-       if (late_init_timer == 0 || late_init_timer == DEFAULT_LATE_INIT_VALUE)
-               return;
-
-       g_source_remove(late_init_timer);
-       late_init_timer = 0;
-}
-
-static int booting_done(void *data)
-{
-       static int done;
-
-       if (data == NULL)
-               goto out;
-
-       done = *(int *)data;
-       if (late_init_timer == 0)
-               return done;
-       late_init_stop();
-out:
-       return done;
-}
-
-static int early_booting_done(void *data)
-{
-       static int done;
-
-       if (data == NULL)
-               goto out;
-
-       done = *(int *)data;
-out:
-       return done;
-}
-
-static gboolean late_init_timer_cb(void *data)
-{
-       int done;
-
-       late_init_stop();
-       done = early_booting_done(NULL);
-       if (!done)
-               device_notify(DEVICE_NOTIFIER_EARLY_BOOTING_DONE, (void *)&done);
-       done = booting_done(NULL);
-       late_init_timer = 0;
-       if (done)
-               return G_SOURCE_REMOVE;
-       _I("late booting done");
-       done = TRUE;
-       device_notify_once(DEVICE_NOTIFIER_BOOTING_DONE, (void *)&done);
-       return G_SOURCE_REMOVE;
-}
-
-static void late_booting_done_notifier_init(void *data)
-{
-       int ret;
-
-       ret = check_systemd_active();
-       if (ret == TRUE) {
-               _I("restart booting done");
-               return;
-       }
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
-       register_notifier(DEVICE_NOTIFIER_EARLY_BOOTING_DONE, early_booting_done);
-       late_init_timer = g_timeout_add_seconds(LATE_INIT_WAIT_TIME,
-                                               late_init_timer_cb, NULL);
-
-       if (!late_init_timer)
-               late_init_timer = DEFAULT_LATE_INIT_VALUE;
-}
-
-static void late_booting_done_notifier_exit(void *data)
-{
-
-}
-
-static const struct device_ops notifier_device_ops = {
-       DECLARE_NAME_LEN("late-booting-done-notifier"),
-       .init     = late_booting_done_notifier_init,
-       .exit     = late_booting_done_notifier_exit,
-};
-
-DEVICE_OPS_REGISTER(&notifier_device_ops)
index 24968d9..5b3862c 100644 (file)
@@ -80,7 +80,7 @@ static void deviced_dbus_name_acquired(GDBusConnection *connection, const gchar
        if (ret == 1) {
                /* Restarted: deviced was terminated */
                _I("Notify relaunch.");
-               device_notify_once(DEVICE_NOTIFIER_BOOTING_DONE, &ret);
+               device_notify_once(DEVICE_NOTIFIER_DELAYED_INIT, &ret);
        }
 
        _I("sd_notify(READY=1)");
index a53c73c..ad20456 100644 (file)
@@ -204,7 +204,7 @@ static const dbus_interface_u dbus_interface = {
        .nr_methods = ARRAY_SIZE(dbus_methods),
 };
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
        int ret = 0;
@@ -243,13 +243,13 @@ static void pmqos_init(void *data)
        if (ret < 0)
                _E("Failed to init dbus method: %d", ret);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static void pmqos_exit(void *data)
 {
        /* unregister notifier for each event */
-       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        unregister_notifier(DEVICE_NOTIFIER_CPU_BOOST_LOWBAT, pmqos_lowbat);
        unregister_notifier(DEVICE_NOTIFIER_CPU_BOOST_POWEROFF, pmqos_poweroff);
 }
index 2128ab0..9b00ecf 100644 (file)
@@ -628,7 +628,7 @@ static int lcd_changed_cb(void *data)
        return 0;
 }
 
-static int booting_done_cb(void *data)
+static int delayed_init_done(void *data)
 {
        int state;
 
@@ -663,7 +663,7 @@ static void auto_brightness_init(void *data)
        display_info.reset_autobrightness_min = reset_autobrightness_min;
 
        register_notifier(DEVICE_NOTIFIER_LCD, lcd_changed_cb);
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done_cb);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static void auto_brightness_exit(void *data)
@@ -671,7 +671,7 @@ static void auto_brightness_exit(void *data)
        exit_lsensor();
 
        unregister_notifier(DEVICE_NOTIFIER_LCD, lcd_changed_cb);
-       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done_cb);
+       unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static const struct display_ops display_autobrightness_ops = {
index 46deb7e..d0accfd 100644 (file)
@@ -41,7 +41,7 @@ static GList *extcon_list;
 static bool extcon_dev_available = false;
 
 static void extcon_deferred_init(void);
-static int booting_done(void *data);
+static int delayed_init_done(void *data);
 
 void add_extcon(struct extcon_ops *dev)
 {
@@ -306,7 +306,7 @@ static GVariant * dbus_get_extcon_status(GDBusConnection *conn,
        char *str;
        int ret;
 
-       if (!booting_done(NULL))
+       if (!delayed_init_done(NULL))
                extcon_deferred_init();
 
        g_variant_get(param, "(s)", &str);
@@ -333,7 +333,7 @@ static GVariant *dbus_enable_device(GDBusConnection *conn,
        char *device;
        int ret;
 
-       if (!booting_done(NULL))
+       if (!delayed_init_done(NULL))
                extcon_deferred_init();
 
        g_variant_get(param, "(s)", &device);
@@ -351,7 +351,7 @@ static GVariant *dbus_disable_device(GDBusConnection *conn,
        char *device;
        int ret;
 
-       if (!booting_done(NULL))
+       if (!delayed_init_done(NULL))
                extcon_deferred_init();
 
        g_variant_get(param, "(s)", &device);
@@ -506,7 +506,7 @@ static void extcon_deferred_init(void)
        initialized = true;
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
 
@@ -532,7 +532,7 @@ static void extcon_init(void *data)
        if (retval < 0)
                _E("Failed to init dbus method: %d", retval);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static void extcon_exit(void *data)
index 458c79a..a819fed 100644 (file)
 static struct display_plugin *disp_plgn;
 static guint sig_id[2] = {0, 0};
 
-void remove_booting_done_handler(void *data)
+void remove_delayed_init_done_handler(void *data)
 {
        gdbus_signal_unsubscribe(NULL, sig_id[0]);
        gdbus_signal_unsubscribe(NULL, sig_id[1]);
 }
 
-static void booting_done_received(GDBusConnection  *conn,
+static void delayed_init_done_received(GDBusConnection  *conn,
        const gchar      *sender,
        const gchar      *path,
        const gchar      *iface,
@@ -64,7 +64,7 @@ static void booting_done_received(GDBusConnection  *conn,
                        return;
                }
                CRITICAL_LOG("System session is ready.");
-               device_notify_once(DEVICE_NOTIFIER_BOOTING_DONE, &system_done);
+               device_notify_once(DEVICE_NOTIFIER_DELAYED_INIT, &system_done);
 
        } else if (strcmp(name, SYSTEMD_DBUS_SIGNAL_USER_STARTUP_FINISHED) == 0) {
                if (user_done)
@@ -76,7 +76,7 @@ static void booting_done_received(GDBusConnection  *conn,
        if (!system_done || !user_done)
                return;
 
-       remove_booting_done_handler(NULL);
+       remove_delayed_init_done_handler(NULL);
 
        _I("Real booting done. Unlock LCD_OFF.");
        if (disp_plgn->pm_unlock_internal)
@@ -87,7 +87,7 @@ static void booting_done_received(GDBusConnection  *conn,
        doze_init();
 }
 
-void add_booting_done_handler(void *data)
+void add_delayed_init_done_handler(void *data)
 {
        /* System Session is loaded completely */
        /*ret = */
@@ -95,7 +95,7 @@ void add_booting_done_handler(void *data)
                                        SYSTEMD_DBUS_PATH,
                                        SYSTEMD_DBUS_IFACE_MANAGER,
                                        SYSTEMD_DBUS_SIGNAL_SYSTEM_STARTUP_FINISHED,
-                                       booting_done_received,
+                                       delayed_init_done_received,
                                        NULL, NULL);
 
        if (sig_id[0] <= 0)
@@ -106,7 +106,7 @@ void add_booting_done_handler(void *data)
                                        SYSTEMD_DBUS_PATH,
                                        SYSTEMD_DBUS_IFACE_MANAGER,
                                        SYSTEMD_DBUS_SIGNAL_USER_STARTUP_FINISHED,
-                                       booting_done_received,
+                                       delayed_init_done_received,
                                        NULL, NULL);
 
        if (sig_id[1] <= 0)
index aab7cc1..a5d5b7f 100644 (file)
@@ -19,8 +19,8 @@
 #ifndef __DEVICED_BOOT_H__
 #define __DEVICED_BOOT_H__
 
-void add_booting_done_handler(void *data);
-void remove_booting_done_handler(void *data);
+void add_delayed_init_done_handler(void *data);
+void remove_delayed_init_done_handler(void *data);
 
 extern int silent_boot;
 
index 2844825..6eed091 100644 (file)
@@ -749,7 +749,7 @@ static int load_config(struct parse_result *result, void *user_data)
        return 0;
 }
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
 
@@ -770,9 +770,9 @@ static void power_init(void *data)
        if (ret_val < 0)
                _E("Failed to init dbus method: %d", ret_val);
 
-       add_booting_done_handler(NULL);
+       add_delayed_init_done_handler(NULL);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 
        add_poweroff_option(POWEROFF_TYPE_POWEROFF, NULL);
        add_poweroff_option(POWEROFF_TYPE_RESTART, NULL);
index e835a9c..b755d37 100644 (file)
@@ -43,7 +43,7 @@ static guint idl;
 
 static const char *device_notifier_type_str[DEVICE_NOTIFIER_MAX] = {
        NOTIFY_STR(DEVICE_NOTIFIER_DAEMON_RESTARTED),
-       NOTIFY_STR(DEVICE_NOTIFIER_BOOTING_DONE),
+       NOTIFY_STR(DEVICE_NOTIFIER_DELAYED_INIT),
        NOTIFY_STR(DEVICE_NOTIFIER_LCD),
        NOTIFY_STR(DEVICE_NOTIFIER_LCD_OFF),
        NOTIFY_STR(DEVICE_NOTIFIER_LOWBAT),
@@ -64,7 +64,6 @@ static const char *device_notifier_type_str[DEVICE_NOTIFIER_MAX] = {
        NOTIFY_STR(DEVICE_NOTIFIER_USB_DEBUG_MODE),
        NOTIFY_STR(DEVICE_NOTIFIER_USB_TETHERING_MODE),
        NOTIFY_STR(DEVICE_NOTIFIER_EVENT_HANDLER),
-       NOTIFY_STR(DEVICE_NOTIFIER_EARLY_BOOTING_DONE),
        NOTIFY_STR(DEVICE_NOTIFIER_PMQOS),
        NOTIFY_STR(DEVICE_NOTIFIER_PMQOS_ULTRAPOWERSAVING),
        NOTIFY_STR(DEVICE_NOTIFIER_PMQOS_POWERSAVING),
index 24d6350..ba597b1 100644 (file)
@@ -22,7 +22,7 @@
 
 enum device_notifier_type {
        DEVICE_NOTIFIER_DAEMON_RESTARTED,
-       DEVICE_NOTIFIER_BOOTING_DONE,
+       DEVICE_NOTIFIER_DELAYED_INIT,
        DEVICE_NOTIFIER_LCD,
        DEVICE_NOTIFIER_LCD_OFF,
        DEVICE_NOTIFIER_LCD_OFF_COMPLETE,
@@ -48,7 +48,6 @@ enum device_notifier_type {
        DEVICE_NOTIFIER_CPU_BOOST_LOWBAT,
        DEVICE_NOTIFIER_CPU_BOOST_POWEROFF,
        /* Experimental for Specific device - contact to deviced owner */
-       DEVICE_NOTIFIER_EARLY_BOOTING_DONE,
        DEVICE_NOTIFIER_PMQOS,
        DEVICE_NOTIFIER_PMQOS_ULTRAPOWERSAVING,
        DEVICE_NOTIFIER_PMQOS_POWERSAVING,
index e3e32d5..e46b190 100644 (file)
@@ -32,7 +32,7 @@
 
 static bool thermal_dev_available = false;
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
 
@@ -85,7 +85,7 @@ static void thermal_init(void *data)
 {
        int ret;
 
-       ret = register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       ret = register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        if (ret < 0)
                _E("Failed to register booting done notifier.");
 
@@ -98,7 +98,7 @@ static void thermal_exit(void *data)
 {
        int ret;
 
-       ret = unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       ret = unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        if (ret < 0)
                _E("Failed to unregister booting done notifier.");
 
index b0e0da4..d724361 100644 (file)
@@ -134,7 +134,7 @@ static const dbus_interface_u dbus_interface = {
        .nr_methods = ARRAY_SIZE(dbus_methods),
 };
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done;
        int ret;
@@ -158,7 +158,7 @@ static int booting_done(void *data)
        }
        ret = hal_device_touchscreen_glove_mode_set_state(TOUCHSENSITIVITY_GLOVE_MODE_ON);
        _I("Change auto touch sensitivity enable: %s", ret ? "fail" : "set");
-       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 out:
        return done;
 }
@@ -195,7 +195,7 @@ static void sensitivity_init(void *data)
        if (ret <= 0)
                _E("Failed to register signal handler: %d", ret);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static const struct device_ops sensitivity_device_ops = {
index bcbe669..6eb899c 100644 (file)
@@ -46,7 +46,7 @@ static int powersaving_support = true;
 static int touchscreen_start(enum device_flags flags);
 static int touchscreen_stop(enum device_flags flags);
 
-static int booting_done(void *data);
+static int delayed_init_done(void *data);
 
 static struct display_config *display_conf;
 static struct _backlight_ops *backlight_ops;
@@ -176,7 +176,7 @@ static int touchscreen_start(enum device_flags flags)
                return 0;
 
        /* Do not enable touchscreen during silent boot mode */
-       if (silent_boot && !booting_done(NULL))
+       if (silent_boot && !delayed_init_done(NULL))
                return -ENOTSUP;
 
        /*
@@ -286,7 +286,7 @@ static const dbus_interface_u dbus_interface = {
        .nr_methods = ARRAY_SIZE(dbus_methods),
 };
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        static int done = false;
 
@@ -354,7 +354,7 @@ static void touchscreen_init(void *data)
        if (ret < 0)
                _E("Failed to init dbus method. (%d)", ret);
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 }
 
 static const struct device_ops touchscreen_device_ops = {
index 6f6a857..94eed6a 100644 (file)
@@ -998,7 +998,7 @@ static const dbus_interface_u dbus_interface = {
        .nr_methods = ARRAY_SIZE(dbus_methods),
 };
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        /* To reduce the latency of the first Tzip operation, you can apply this optimization.
        tzip_server_init(); */
@@ -1020,7 +1020,7 @@ static void tzip_init(void *data)
 
        tzip_lock_init();
 
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        register_notifier(DEVICE_NOTIFIER_POWEROFF, tzip_poweroff);
 
        ret = gdbus_add_object(NULL, DEVICED_PATH_TZIP, &dbus_interface);
@@ -1036,7 +1036,7 @@ static void tzip_exit(void *data)
 {
        _D("tzip_exit");
        tzip_server_exit();
-       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
        unregister_notifier(DEVICE_NOTIFIER_POWEROFF, tzip_poweroff);
 
        tzip_lock_deinit();
index f8a297f..367a5b4 100644 (file)
@@ -1115,7 +1115,7 @@ static const dbus_interface_u dbus_interface = {
 };
 
 
-static int booting_done(void *data)
+static int delayed_init_done(void *data)
 {
        /**
         * To search the attched usb host device is not an urgent task.
@@ -1125,7 +1125,7 @@ static int booting_done(void *data)
        usbhost_init_from_udev_enumerate();
 
        /* unregister booting done notifier */
-       unregister_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       unregister_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 
        return 0;
 }
@@ -1156,7 +1156,7 @@ static void usbhost_init(void *data)
                _E("Failed to register dbus interface and method: %d", ret);
 
        /* register notifier */
-       register_notifier(DEVICE_NOTIFIER_BOOTING_DONE, booting_done);
+       register_notifier(DEVICE_NOTIFIER_DELAYED_INIT, delayed_init_done);
 
        ret = asprintf(&POLICY_FILEPATH, "%s/%s", ROOTPATH, POLICY_FILENAME);
        if (ret < 0) {