display: Add display hal-backend check function 69/288469/1
authorYunhee Seo <yuni.seo@samsung.com>
Thu, 16 Feb 2023 05:32:53 +0000 (14:32 +0900)
committerYunhee Seo <yuni.seo@samsung.com>
Fri, 17 Feb 2023 03:15:54 +0000 (12:15 +0900)
Before plugin to core centralization, display hal backend check is needed.
To move functions without plugin dependency, this temporary function is necessary.
With this, plugin functions can be moved to core(deviced/src/display module).
These functions will be modified during plugin to core centralization.

void display_set_hal_backend_available(bool display_check_hal_backend)
-> With this, while plugin probing, deviced core can know whether hal_backend is
available or not.
bool display_check_hal_backend_available(void)
-> This function is for replacing the display_dev_available variable of plugins.

Change-Id: I1e926da29ab097e08533f73136a2f928daca9167
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
plugins/iot-headed/display/device-interface.c
plugins/mobile/display/device-interface.c
plugins/tv/display/device-interface.c
plugins/wearable/display/device-interface.c
src/display/display.c
src/display/display.h

index f07018d..c6bf212 100644 (file)
@@ -875,10 +875,12 @@ int display_service_load(void)
        if (r < 0) {
                _E("There is no HAL for display.");
                display_dev_available = false;
+               display_set_hal_backend_available(display_dev_available);
                return 0;
        }
 
        display_dev_available = true;
+       display_set_hal_backend_available(display_dev_available);
        _D("Display device structure load success.");
        return 0;
 }
index 1c3c8dd..14c5fd5 100644 (file)
@@ -874,10 +874,12 @@ int display_service_load(void)
        if (r < 0) {
                _E("There is no HAL for display.");
                display_dev_available = false;
+               display_set_hal_backend_available(display_dev_available);
                return 0;
        }
 
        display_dev_available = true;
+       display_set_hal_backend_available(display_dev_available);
        _D("Display device structure load success.");
        return 0;
 }
index a5500ca..ad11487 100644 (file)
@@ -875,10 +875,12 @@ int display_service_load(void)
        if (r < 0) {
                _E("There is no HAL for display.");
                display_dev_available = false;
+               display_set_hal_backend_available(display_dev_available);
                return 0;
        }
 
        display_dev_available = true;
+       display_set_hal_backend_available(display_dev_available);
        _D("Display device structure load success.");
        return 0;
 }
index cb77833..d9fe84f 100644 (file)
@@ -942,10 +942,12 @@ int display_service_load(void)
        if (r < 0) {
                _E("There is no HAL for display.");
                display_dev_available = false;
+               display_set_hal_backend_available(display_dev_available);
                return 0;
        }
 
        display_dev_available = true;
+       display_set_hal_backend_available(display_dev_available);
        _D("Display device structure load success.");
        return 0;
 }
index ec81997..7885ea6 100644 (file)
@@ -31,6 +31,7 @@ static int pm_cur_state;
 static int pm_old_state;
 static unsigned int pm_status_flag;
 static enum display_init_direction_e g_display_init_direction;
+static bool g_display_hal_backend_available;
 
 inline int get_pm_cur_state(void)
 {
@@ -172,3 +173,15 @@ int display_load_config(struct parse_result *result, void *user_data)
 
        return 0;
 }
+
+/* FIXME: This function is for temporary use, should be fixed after plugin refactoring */
+void display_set_hal_backend_available(bool display_hal_backend_available)
+{
+       g_display_hal_backend_available = display_hal_backend_available;
+}
+
+/* FIXME: This function is for temporary use, should be fixed after plugin refactoring */
+bool display_is_hal_backend_available(void)
+{
+       return g_display_hal_backend_available;
+}
\ No newline at end of file
index 0ecfac5..289b0d0 100644 (file)
@@ -34,6 +34,8 @@ void clear_pm_status_flag(unsigned int status_flag);
 enum display_init_direction_e get_display_init_direction(void);
 void set_display_init_direction(enum display_init_direction_e display_init_direction);
 int display_load_config(struct parse_result *result, void *user_data);
+void display_set_hal_backend_available(bool display_hal_backend_available);
+bool display_is_hal_backend_available(void);
 
 enum brightness_request_e {
        BR_MIN = 0,