From: Youngjae Cho Date: Mon, 17 Jun 2024 11:49:56 +0000 (+0900) Subject: display: Pull out display config from display_plugin structure X-Git-Tag: accepted/tizen/8.0/unified/20240710.161341~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e9697b35e6804ea25737d3c79a8aba68bd67fd8;p=platform%2Fcore%2Fsystem%2Fdeviced.git display: Pull out display config from display_plugin structure The display configuration is managed by both the core and plugin. It is initialized by the plugin first, and then overwritten by the core config parser. Therefore, it has become a part of the core but work with plugin api that passes plugin backend's predefined configurations. Change-Id: I3395e72a2c96b6b4ffe0885dabd882219e372377 Signed-off-by: Youngjae Cho --- diff --git a/plugins/mobile/display/core.c b/plugins/mobile/display/core.c index 43622a4f..59e7c8d5 100644 --- a/plugins/mobile/display/core.c +++ b/plugins/mobile/display/core.c @@ -97,6 +97,11 @@ static struct syscommon_deviced_display_state_info states[SYSCOMMON_DEVICED_DISP #define CONTINUOUS_SAMPLING 1 #define LCDOFF_TIMEOUT 300 /* milli second */ +/** + * FIXME: + * Move it to plugin backend and pass it to the core via + * plugin interface .load_display_config. + */ static struct syscommon_deviced_display_config display_conf = { .lock_wait_time = LOCK_SCREEN_WATING_TIME, .longpress_interval = LONG_PRESS_INTERVAL, @@ -144,7 +149,6 @@ static int display_probe(void *data) struct display_plugin *dp = (struct display_plugin *) data; assert(dp); - dp->config = &display_conf; init_display_states(dp); dp->proc_change_state = NULL; diff --git a/plugins/tv/display/core.c b/plugins/tv/display/core.c index f562cb00..2e3af290 100644 --- a/plugins/tv/display/core.c +++ b/plugins/tv/display/core.c @@ -96,6 +96,11 @@ static struct syscommon_deviced_display_state_info states[SYSCOMMON_DEVICED_DISP #define CONTINUOUS_SAMPLING 1 #define LCDOFF_TIMEOUT 300 /* milli second */ +/** + * FIXME: + * Move it to plugin backend and pass it to the core via + * plugin interface .load_display_config. + */ static struct syscommon_deviced_display_config display_conf = { .lock_wait_time = LOCK_SCREEN_WATING_TIME, .longpress_interval = LONG_PRESS_INTERVAL, @@ -143,7 +148,6 @@ static int display_probe(void *data) struct display_plugin *dp = (struct display_plugin *) data; assert(dp); - dp->config = &display_conf; init_display_states(dp); dp->proc_change_state = NULL; diff --git a/plugins/tv/display/key-filter.c b/plugins/tv/display/key-filter.c index e82e1a9a..f2e0eb0a 100644 --- a/plugins/tv/display/key-filter.c +++ b/plugins/tv/display/key-filter.c @@ -702,7 +702,7 @@ static void check_key_filter(struct timeval time, unsigned short type, unsigned break; case EV_ABS: if (display_misc_is_touch_event_blocked() - && !g_display_plugin.config->touch_wakeup + && !g_display_config->touch_wakeup && pinput->value == KEY_BEING_PRESSED) return; diff --git a/plugins/wearable/display/auto-brightness.c b/plugins/wearable/display/auto-brightness.c index 8c759a49..b8d5874f 100644 --- a/plugins/wearable/display/auto-brightness.c +++ b/plugins/wearable/display/auto-brightness.c @@ -75,9 +75,9 @@ static bool update_working_position(void) int ret; float x, y, z, pitch, realg; - assert(g_display_plugin.config); + assert(g_display_config); - if (!g_display_plugin.config->accel_sensor_on) + if (!g_display_config->accel_sensor_on) return false; ret = sensor_listener_read_data(accel_listener, &data); @@ -105,7 +105,7 @@ static void alc_set_brightness(int setting, int value, float light) static float old; int position, tmp_value = 0, ret; - assert(g_display_plugin.config); + assert(g_display_config); ret = display_backlight_get_brightness(&tmp_value); if (ret < 0) { @@ -118,7 +118,7 @@ static void alc_set_brightness(int setting, int value, float light) if (tmp_value != value) { if (!setting && min_brightness == PM_MIN_BRIGHTNESS && - g_display_plugin.config->accel_sensor_on == true) { + g_display_config->accel_sensor_on == true) { position = update_working_position(); if (!position && (old > light)) { _D("It's not working position, " @@ -129,11 +129,11 @@ static void alc_set_brightness(int setting, int value, float light) int diff, step; diff = value - tmp_value; - if (abs(diff) < g_display_plugin.config->brightness_change_step) + if (abs(diff) < g_display_config->brightness_change_step) step = (diff > 0 ? 1 : -1); else step = (int)ceil(diff / - (float)g_display_plugin.config->brightness_change_step); + (float)g_display_config->brightness_change_step); _D("%d", step); while (tmp_value != value) { @@ -177,7 +177,7 @@ static bool alc_update_brt(bool setting) int index; float light; - assert(g_display_plugin.config); + assert(g_display_config); ret = sensor_listener_read_data(light_listener, &light_data); if (ret != SENSOR_ERROR_NONE) { @@ -206,7 +206,7 @@ static bool alc_update_brt(bool setting) fault_count = 0; - if (g_display_plugin.config->continuous_sampling && + if (g_display_config->continuous_sampling && !check_brightness_changed(value) && !setting) return true; @@ -253,14 +253,14 @@ static gboolean alc_handler(void *data) static int alc_action(int timeout) { - assert(g_display_plugin.config); + assert(g_display_config); /* sampling timer add */ if (alc_timeout_id == 0 && !(get_pm_status_flag() & PWRSV_FLAG)) { update_auto_brightness(true); alc_timeout_id = - g_timeout_add_seconds(g_display_plugin.config->lightsensor_interval, + g_timeout_add_seconds(g_display_config->lightsensor_interval, alc_handler, NULL); } @@ -278,7 +278,7 @@ static int connect_sensor(void) sensor_h *list = NULL; int cnt = 0; - assert(g_display_plugin.config); + assert(g_display_config); _I("Connect with sensor fw."); /* light sensor */ @@ -324,7 +324,7 @@ static int connect_sensor(void) goto error; } - if (!g_display_plugin.config->accel_sensor_on) + if (!g_display_config->accel_sensor_on) goto success; /* accelerometer sensor */ @@ -357,7 +357,7 @@ error: sensor_destroy_listener(light_listener); light_listener = 0; } - if (g_display_plugin.config->accel_sensor_on && accel_listener > 0) { + if (g_display_config->accel_sensor_on && accel_listener > 0) { sensor_listener_stop(accel_listener); sensor_destroy_listener(accel_listener); accel_listener = 0; @@ -367,7 +367,7 @@ error: static int disconnect_sensor(void) { - assert(g_display_plugin.config); + assert(g_display_config); _I("Disconnect with sensor fw."); /* light sensor*/ @@ -378,7 +378,7 @@ static int disconnect_sensor(void) } /* accelerometer sensor*/ - if (g_display_plugin.config->accel_sensor_on && accel_listener > 0) { + if (g_display_config->accel_sensor_on && accel_listener > 0) { sensor_listener_stop(accel_listener); sensor_destroy_listener(accel_listener); accel_listener = 0; @@ -411,7 +411,7 @@ static int set_autobrightness_state(int status) int brt = -1; int default_brt = -1; - assert(g_display_plugin.config); + assert(g_display_config); if (status == SETTING_BRIGHTNESS_AUTOMATIC_ON) { if (connect_sensor() < 0) @@ -428,7 +428,7 @@ static int set_autobrightness_state(int status) update_auto_brightness(true); alc_timeout_id = - g_timeout_add_seconds(g_display_plugin.config->lightsensor_interval, + g_timeout_add_seconds(g_display_config->lightsensor_interval, alc_handler, NULL); } else if (status == SETTING_BRIGHTNESS_AUTOMATIC_PAUSE) { _I("Auto brightness paused."); @@ -441,7 +441,7 @@ static int set_autobrightness_state(int status) ret = get_setting_brightness(&default_brt); if (ret != 0 || (default_brt < PM_MIN_BRIGHTNESS || default_brt > PM_MAX_BRIGHTNESS)) { _I("Failed to read vconf value for brightness."); - brt = g_display_plugin.config->pm_default_brightness; + brt = g_display_config->pm_default_brightness; if (default_brt < PM_MIN_BRIGHTNESS || default_brt > PM_MAX_BRIGHTNESS) { ret = vconf_set_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, brt); if (ret < 0) diff --git a/plugins/wearable/display/core.c b/plugins/wearable/display/core.c index 2c36319d..e4035348 100644 --- a/plugins/wearable/display/core.c +++ b/plugins/wearable/display/core.c @@ -121,6 +121,11 @@ static struct syscommon_deviced_display_state_info states[SYSCOMMON_DEVICED_DISP #define FORCE_RELEASE_LOCK_INTERVAL 5 /* seconds */ +/** + * FIXME: + * Move it to plugin backend and pass it to the core via + * plugin interface .load_display_config. + */ static struct syscommon_deviced_display_config display_conf = { .lock_wait_time = LOCK_SCREEN_WATING_TIME, .longpress_interval = LONG_PRESS_INTERVAL, @@ -843,7 +848,6 @@ static int display_probe(void *data) struct display_plugin *dp = (struct display_plugin *) data; assert(dp); - dp->config = &display_conf; init_display_states(dp); /** * FIXME: They should be connected via plugin interfaces diff --git a/plugins/wearable/display/key-filter.c b/plugins/wearable/display/key-filter.c index 3a374aa7..b3c142d3 100644 --- a/plugins/wearable/display/key-filter.c +++ b/plugins/wearable/display/key-filter.c @@ -630,7 +630,7 @@ static void check_key_filter(struct timeval time, unsigned short type, unsigned break; case EV_ABS: if (display_misc_is_touch_event_blocked() - && !g_display_plugin.config->touch_wakeup + && !g_display_config->touch_wakeup && pinput->value == KEY_BEING_PRESSED) return; diff --git a/src/display/display-backlight.c b/src/display/display-backlight.c index 99b27225..fae32e4b 100644 --- a/src/display/display-backlight.c +++ b/src/display/display-backlight.c @@ -264,8 +264,8 @@ void display_backlight_change_brightness(int start, int end, int step) int display_backlight_set_default_brightness(int brightness) { if (brightness < PM_MIN_BRIGHTNESS || brightness > PM_MAX_BRIGHTNESS) { - if (g_display_plugin.config) - brightness = g_display_plugin.config->pm_default_brightness; + if (g_display_config) + brightness = g_display_config->pm_default_brightness; else return -EPERM; } diff --git a/src/display/display-config.c b/src/display/display-config.c index 6a36e0d7..213b52c8 100644 --- a/src/display/display-config.c +++ b/src/display/display-config.c @@ -18,6 +18,7 @@ #include #include +#include #include "display-panel.h" #include "display.h" @@ -26,6 +27,8 @@ #include #include "display-config.h" +struct syscommon_deviced_display_config *g_display_config; + static int display_config_parse(struct parse_result *result, void *user_data) { struct syscommon_deviced_display_config *c = user_data; @@ -99,7 +102,92 @@ static int display_config_parse(struct parse_result *result, void *user_data) return 0; } -int display_load_config(struct syscommon_deviced_display_config *config) +int display_load_config(void) +{ + int ret; + + // load statically predefined configuration of plugin backend + // and then overwrite it with display.conf file. + ret = syscommon_plugin_deviced_display_load_config(&g_display_config); + if (ret == -ENOTSUP) { + _D("Take default operation as there is no found plugin backend"); + } else if (ret == -EOPNOTSUPP) { + _D("Take default operation as there is no found plugin backend operation"); + } else if (ret < 0) { + _E("Failed to plugin operation, ret=%d", ret); + return ret; + } + + if (!g_display_config) { + g_display_config = calloc(1, sizeof(struct syscommon_deviced_display_config)); + if (!g_display_config) + return -ENOMEM; + } + + return config_parse(DISPLAY_CONF_FILE, display_config_parse, g_display_config); +} + +int display_config_get_timeout_enable(bool *timeout_enable) +{ + if (!timeout_enable) + return -EINVAL; + + if (g_display_config) { + *timeout_enable = g_display_config->timeout_enable; + return 0; + } + + return -EOPNOTSUPP; +} + +int display_config_get_lcdoff_timeout(int *lcdoff_timeout) +{ + if (!lcdoff_timeout) + return -EINVAL; + + if (g_display_config) { + *lcdoff_timeout = g_display_config->lcdoff_timeout; + return 0; + } + + return -EOPNOTSUPP; +} + +int display_config_get_lcd_always_on(int *lcd_always_on) +{ + if (!lcd_always_on) + return -EINVAL; + + if (g_display_config) { + *lcd_always_on = g_display_config->lcd_always_on; + return 0; + } + + return -EOPNOTSUPP; +} + +int display_config_get_dimming(int *dimming) { - return config_parse(DISPLAY_CONF_FILE, display_config_parse, config); + if (!dimming) + return -EINVAL; + + if (g_display_config) { + *dimming = g_display_config->dimming; + return 0; + } + + return -EOPNOTSUPP; +} + +int display_config_get_pm_default_brightness(int *pm_default_brightness) +{ + if (!pm_default_brightness) + return -EINVAL; + + if (!g_display_config) + return -EOPNOTSUPP; + + *pm_default_brightness = g_display_config->pm_default_brightness; + + return 0; } diff --git a/src/display/display-config.h b/src/display/display-config.h index 5696623d..6bc67bfc 100644 --- a/src/display/display-config.h +++ b/src/display/display-config.h @@ -19,10 +19,21 @@ #ifndef __DISPLAY_CONFIG_H__ #define __DISPLAY_CONFIG_H__ +#include #include #define DISPLAY_CONF_FILE "/etc/deviced/display.conf" -int display_load_config(struct syscommon_deviced_display_config *config); +/** + * FIXME: Add getters for all member variables not to expose it with extern keyword + */ +extern struct syscommon_deviced_display_config *g_display_config; + +int display_load_config(void); +int display_config_get_timeout_enable(bool *timeout_enable); +int display_config_get_lcdoff_timeout(int *lcdoff_timeout); +int display_config_get_lcd_always_on(int *lcd_always_on); +int display_config_get_dimming(int *dimming); +int display_config_get_pm_default_brightness(int *pm_default_brightness); #endif //__DISPLAY_CONFIG_H__ diff --git a/src/display/display-dbus.c b/src/display/display-dbus.c index 6c54daaf..fcef9481 100644 --- a/src/display/display-dbus.c +++ b/src/display/display-dbus.c @@ -152,7 +152,7 @@ static GVariant *dbus_lockstate(GDBusConnection *conn, int ret = 0; unsigned int caps; - assert(g_display_plugin.config); + assert(g_display_config); g_variant_get(param, "(sssi)", &state_str, &option1_str, &option2_str, &timeout); @@ -175,7 +175,7 @@ static GVariant *dbus_lockstate(GDBusConnection *conn, if (!strcmp(state_str, PM_LCDON_STR)) state = LCD_NORMAL; else if (!strcmp(state_str, PM_LCDDIM_STR)) { - if (!g_display_plugin.config->dimming) { + if (!g_display_config->dimming) { _E("LCD_DIM lock is not supported."); ret = -EINVAL; goto out; @@ -240,7 +240,7 @@ static GVariant *dbus_unlockstate(GDBusConnection *conn, int flag; int ret = 0; - assert(g_display_plugin.config); + assert(g_display_config); g_variant_get(param, "(ss)", &state_str, &option_str); @@ -263,7 +263,7 @@ static GVariant *dbus_unlockstate(GDBusConnection *conn, if (!strcmp(state_str, PM_LCDON_STR)) state = LCD_NORMAL; else if (!strcmp(state_str, PM_LCDDIM_STR)) { - if (!g_display_plugin.config->dimming) { + if (!g_display_config->dimming) { _E("LCD_DIM unlock is not supported."); ret = -EINVAL; goto out; @@ -305,7 +305,7 @@ static GVariant *dbus_changestate(GDBusConnection *conn, int ret = 0, len, lcdon_blocked; unsigned int caps; - assert(g_display_plugin.config); + assert(g_display_config); g_variant_get(param, "(s)", &state_str); @@ -334,7 +334,7 @@ static GVariant *dbus_changestate(GDBusConnection *conn, if (!strcmp(state_str, PM_LCDON_STR)) state = LCD_NORMAL; else if (!strcmp(state_str, PM_LCDDIM_STR)) { - if (!g_display_plugin.config->dimming) { + if (!g_display_config->dimming) { _E("LCD_DIM state is not supported."); ret = -EINVAL; goto out; @@ -683,22 +683,22 @@ static GVariant *dbus_setrefreshrate(GDBusConnection *conn, { int app, val, ret, control; - assert(g_display_plugin.config); + assert(g_display_config); g_variant_get(param, "(ii)", &app, &val); - if (app < 0 || app >= ARRAY_SIZE(g_display_plugin.config->framerate_app) || val < 0) { + if (app < 0 || app >= ARRAY_SIZE(g_display_config->framerate_app) || val < 0) { ret = -EINVAL; goto error; } - if (!g_display_plugin.config->framerate_app[app]) { + if (!g_display_config->framerate_app[app]) { _I("This case(%d) is not support in this target", app); ret = -EPERM; goto error; } - control = g_display_plugin.config->control_display; + control = g_display_config->control_display; if (control) display_panel_set_panel_state_by_off_state(DEVICED_EVENT_MISC_DBUS); diff --git a/src/display/display-dpms.c b/src/display/display-dpms.c index cb73b35e..77de7e56 100644 --- a/src/display/display-dpms.c +++ b/src/display/display-dpms.c @@ -652,12 +652,12 @@ int dpms_get_cached_state(void) DD_INTERNAL bool dpms_init(void) { - if (!g_display_plugin.config) { + if (!g_display_config) { _E("Failed to get display configuration"); return false; } - switch (g_display_plugin.config->display_dpms_type) { + switch (g_display_config->display_dpms_type) { case SYSCOMMON_DEVICED_DPMS_TYPE_WINDOW_MANAGER: g_dpms_ops.set_state = wm_dpms_set_state; g_dpms_ops.get_state = wm_dpms_get_state; diff --git a/src/display/display-lock.c b/src/display/display-lock.c index 6c295312..ab71f192 100644 --- a/src/display/display-lock.c +++ b/src/display/display-lock.c @@ -747,7 +747,7 @@ int display_lock_proc_condition(PMMsg *data) if (IS_COND_REQUEST_UNLOCK(data->cond)) proc_condition_unlock(data); - display_plugin_config_get_timeout_enable(&timeout_enable); + display_config_get_timeout_enable(&timeout_enable); if (!timeout_enable) return 0; diff --git a/src/display/display-plugin.c b/src/display/display-plugin.c index cb423ad7..1e7da710 100644 --- a/src/display/display-plugin.c +++ b/src/display/display-plugin.c @@ -101,83 +101,4 @@ int display_plugin_state_proc_change_state(unsigned int cond, pid_t pid) return -EOPNOTSUPP; return g_display_plugin.proc_change_state(cond, pid); -} - -int display_plugin_config_load(void) -{ - int ret; - - if (!g_display_plugin.config) - return -EINVAL; - - ret = display_load_config(g_display_plugin.config); - if (ret < 0) - return ret; - - return 0; -} - -int display_plugin_config_get_timeout_enable(bool *timeout_enable) -{ - if (!timeout_enable) - return -EINVAL; - - if (g_display_plugin.config) { - *timeout_enable = g_display_plugin.config->timeout_enable; - return 0; - } - - return -EOPNOTSUPP; -} - -int display_plugin_config_get_lcdoff_timeout(int *lcdoff_timeout) -{ - if (!lcdoff_timeout) - return -EINVAL; - - if (g_display_plugin.config) { - *lcdoff_timeout = g_display_plugin.config->lcdoff_timeout; - return 0; - } - - return -EOPNOTSUPP; -} - -int display_plugin_config_get_lcd_always_on(int *lcd_always_on) -{ - if (!lcd_always_on) - return -EINVAL; - - if (g_display_plugin.config) { - *lcd_always_on = g_display_plugin.config->lcd_always_on; - return 0; - } - - return -EOPNOTSUPP; -} - -int display_plugin_config_get_dimming(int *dimming) -{ - if (!dimming) - return -EINVAL; - - if (g_display_plugin.config) { - *dimming = g_display_plugin.config->dimming; - return 0; - } - - return -EOPNOTSUPP; -} - -int display_plugin_config_get_pm_default_brightness(int *pm_default_brightness) -{ - if (!pm_default_brightness) - return -EINVAL; - - if (!g_display_plugin.config) - return -EOPNOTSUPP; - - *pm_default_brightness = g_display_plugin.config->pm_default_brightness; - - return 0; } \ No newline at end of file diff --git a/src/display/display-plugin.h b/src/display/display-plugin.h index 779fa98a..b942e5d4 100644 --- a/src/display/display-plugin.h +++ b/src/display/display-plugin.h @@ -31,7 +31,6 @@ struct display_plugin { int (*proc_change_state) (unsigned int cond, pid_t pid); - struct syscommon_deviced_display_config *config; struct syscommon_deviced_display_state_info* display_states[SYSCOMMON_DEVICED_DISPLAY_STATE_END]; }; extern struct display_plugin g_display_plugin; @@ -47,12 +46,4 @@ int display_plugin_state_get_state_by_state_index(int state_index, enum syscommo bool display_plugin_state_is_there_proc_change_state(void); int display_plugin_state_proc_change_state(unsigned int cond, pid_t pid); -/* FIXME: display config getter/setter is also temporary in this file */ -int display_plugin_config_load(void); -int display_plugin_config_get_timeout_enable(bool *timeout_enable); -int display_plugin_config_get_lcdoff_timeout(int *lcdoff_timeout); -int display_plugin_config_get_lcd_always_on(int *lcd_always_on); -int display_plugin_config_get_dimming(int *dimming); -int display_plugin_config_get_pm_default_brightness(int *pm_default_brightness); - #endif //__DISPLAY_PLUGIN_H__ diff --git a/src/display/display-state-transition.c b/src/display/display-state-transition.c index 620a9625..289d3c6f 100644 --- a/src/display/display-state-transition.c +++ b/src/display/display-state-transition.c @@ -141,7 +141,7 @@ static int get_default_timeout(enum syscommon_deviced_display_state state, int * /* If dimming enabled, devide screen timeout into * SYSCOMMON_DEVICED_DISPLAY_STATE_ON and SYSCOMMON_DEVICED_DISPLAY_STATE_DIM by 7:3. */ - ret = display_plugin_config_get_dimming(&dimming); + ret = display_config_get_dimming(&dimming); if (ret == 0 && dimming) { display_on_ratio = 0.7; display_dim_ratio = 0.3; @@ -352,7 +352,7 @@ bool display_state_transition_is_there_state_transition_timer(void) int display_state_transition_reset_state_transition_timeout(int timeout) { bool timeout_enable; - if (!display_plugin_config_get_timeout_enable(&timeout_enable) && (!timeout_enable)) + if (!display_config_get_timeout_enable(&timeout_enable) && (!timeout_enable)) return -EPERM; if ((current == SYSCOMMON_DEVICED_DISPLAY_STATE_OFF) @@ -469,7 +469,7 @@ void display_state_transition_update_display_state_timeout_by_priority(void) /* for sdk * if the run_timeout is zero, it regards AlwaysOn state */ - display_plugin_config_get_lcd_always_on(&lcd_always_on); + display_config_get_lcd_always_on(&lcd_always_on); if (run_timeout == 0 || lcd_always_on) { run_timeout = ALWAYS_ON_TIMEOUT; _I("LCD always on."); @@ -553,7 +553,7 @@ bool display_state_transition_is_possible_to_go_lcdoff(void) if (current != SYSCOMMON_DEVICED_DISPLAY_STATE_DIM) return false; - display_plugin_config_get_dimming(&dimming); + display_config_get_dimming(&dimming); if (!dimming) return true; diff --git a/src/display/display.c b/src/display/display.c index 801f29c4..afedd0b5 100644 --- a/src/display/display.c +++ b/src/display/display.c @@ -173,7 +173,7 @@ int display_initialize_display_state_timeout_from_setting(void) get_dim_timeout(&val); break; case SYSCOMMON_DEVICED_DISPLAY_STATE_OFF: - display_plugin_config_get_lcdoff_timeout(&val); + display_config_get_lcdoff_timeout(&val); break; default: /* This state doesn't need to set time out. */ @@ -299,7 +299,7 @@ static gboolean delayed_dpms_init_done(gpointer data) case SYSCOMMON_DEVICED_DISPLAY_STATE_ON: case SYSCOMMON_DEVICED_DISPLAY_STATE_DIM: display_panel_lcd_on_procedure(LCD_NORMAL, DEVICED_EVENT_DEVICE_READY); - display_plugin_config_get_timeout_enable(&timeout_enable); + display_config_get_timeout_enable(&timeout_enable); if (timeout_enable) { display_plugin_state_get_timeout(SYSCOMMON_DEVICED_DISPLAY_STATE_ON, &timeout); /* check minimun lcd on time */ @@ -310,7 +310,7 @@ static gboolean delayed_dpms_init_done(gpointer data) break; case SYSCOMMON_DEVICED_DISPLAY_STATE_OFF: display_panel_lcd_off_procedure(DEVICED_EVENT_DISPLAY_SCREEN_TIMEOUT); - display_plugin_config_get_lcdoff_timeout(&lcdoff_timeout); + display_config_get_lcdoff_timeout(&lcdoff_timeout); display_state_transition_reset_state_transition_timeout(lcdoff_timeout); break; default: @@ -336,7 +336,7 @@ void display_set_initial_brightness(void) ret = get_setting_brightness(&brightness); if (ret != 0 || (brightness < PM_MIN_BRIGHTNESS || brightness > PM_MAX_BRIGHTNESS)) { _I("Failed to read vconf value for brightness."); - display_plugin_config_get_pm_default_brightness(&default_brightness); + display_config_get_pm_default_brightness(&default_brightness); if (brightness < PM_MIN_BRIGHTNESS || brightness > PM_MAX_BRIGHTNESS) { ret = vconf_set_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, default_brightness); if (ret < 0) @@ -533,11 +533,9 @@ static int display_probe(void *data) if (!g_display_plugin.display_states[i]) g_display_plugin.display_states[i] = &default_states[i]; - if (!g_display_plugin.config) { - ret = syscommon_plugin_deviced_display_load_config(&g_display_plugin.config); - if (ret < 0) - return ret; - } + ret = display_load_config(); + if (ret < 0) + return ret; /** * load display hal backend @@ -545,12 +543,13 @@ static int display_probe(void *data) * deviced does not provide any method and function of display. */ load_display_hal_backend(); + return 0; } static int input_init_handler(void) { - if (!g_display_plugin.config->input_support) + if (!g_display_config->input_support) remove_device_by_devname("input"); return 0; @@ -571,8 +570,6 @@ static void display_init(void *data) if (display_plugin_device_ops && display_plugin_device_ops->init) display_plugin_device_ops->init(data); - display_plugin_config_load(); - register_kernel_uevent_control(&lcd_uevent_ops); syscommon_notifier_subscribe_notify(DEVICED_NOTIFIER_DELAYED_INIT, delayed_init_done); @@ -590,7 +587,7 @@ static void display_init(void *data) if (ret != 0) _W("Failed to init: setting init error"); - display_plugin_config_get_timeout_enable(&timeout_enable); + display_config_get_timeout_enable(&timeout_enable); if (timeout_enable) display_initialize_display_state_timeout_from_setting(); @@ -635,7 +632,7 @@ static void display_init(void *data) display_add_timer_for_waiting_dpms_init(); } - display_plugin_config_get_lcd_always_on(&lcd_always_on); + display_config_get_lcd_always_on(&lcd_always_on); if (lcd_always_on) { _I("LCD always on."); display_state_transition_set_transition_table_display_state(SYSCOMMON_DEVICED_DISPLAY_STATE_ON, SYSCOMMON_DEVICED_DISPLAY_STATE_ON, EVENT_TIMEOUT); @@ -681,7 +678,7 @@ static void display_init(void *data) } } - set_display_init_direction(g_display_plugin.config->display_init_direction); + set_display_init_direction(g_display_config->display_init_direction); } static void display_exit(void *data) diff --git a/src/display/resource-display.c b/src/display/resource-display.c index 84966200..4da97536 100644 --- a/src/display/resource-display.c +++ b/src/display/resource-display.c @@ -293,30 +293,30 @@ static int get_display_attr_data(int resource_id, * FIXME: Directly access extern g_display_plugin. Fix it not to directly access * variable via extern. */ - if (!g_display_plugin.config) + if (!g_display_config) ret = -EINVAL; else - attr_data.i32 = g_display_plugin.config->powerkey_doublepress; + attr_data.i32 = g_display_config->powerkey_doublepress; break; case DEVICED_DISPLAY_ATTR_DOUBLE_CONFIG_LONGPRESS_INTERVAL: /** * FIXME: Directly access extern g_display_plugin. Fix it not to directly access * variable via extern. */ - if (!g_display_plugin.config) + if (!g_display_config) ret = -EINVAL; else - attr_data.d = g_display_plugin.config->longpress_interval; + attr_data.d = g_display_config->longpress_interval; break; case DEVICED_DISPLAY_ATTR_INT_CONFIG_TOUCH_WAKEUP: /** * FIXME: Directly access extern g_display_plugin. Fix it not to directly access * variable via extern. */ - if (!g_display_plugin.config) + if (!g_display_config) ret = -EINVAL; else - attr_data.i32 = g_display_plugin.config->touch_wakeup; + attr_data.i32 = g_display_config->touch_wakeup; break; case DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE: attr_data.i32 = get_lock_screen_state(); diff --git a/src/display/setting.c b/src/display/setting.c index 072f7ca1..b361dffc 100644 --- a/src/display/setting.c +++ b/src/display/setting.c @@ -157,7 +157,7 @@ void get_dim_timeout(int *dim_timeout) { int vconf_timeout, on_timeout, val, ret; - assert(g_display_plugin.config); + assert(g_display_config); if (exclusive_dim_timeout != EXCLUSIVE_DIM_TIMEOUT_UNSET) { *dim_timeout = exclusive_dim_timeout; return; @@ -168,7 +168,7 @@ void get_dim_timeout(int *dim_timeout) return; } - if (!g_display_plugin.config->dimming) { + if (!g_display_config->dimming) { *dim_timeout = LCD_MIN_DIM_TIMEOUT; return; } @@ -247,7 +247,7 @@ int set_custom_lcdon_timeout(int timeout) return changed; } - if (g_display_plugin.config && g_display_plugin.config->dimming) + if (g_display_config && g_display_config->dimming) custom_dim_timeout = (double)timeout * LCD_DIM_RATIO; else custom_dim_timeout = LCD_MIN_DIM_TIMEOUT; diff --git a/src/touchscreen/touchscreen.c b/src/touchscreen/touchscreen.c index bd0ba066..2bf2543c 100644 --- a/src/touchscreen/touchscreen.c +++ b/src/touchscreen/touchscreen.c @@ -61,13 +61,13 @@ static void touchscreen_wakeup_status(keynode_t *key, void *data) if (!key) return; - if (!g_display_plugin.config) + if (!g_display_config) return; - g_display_plugin.config->touch_wakeup = vconf_keynode_get_bool(key); + g_display_config->touch_wakeup = vconf_keynode_get_bool(key); if (display_panel_get_dpms_cached_state() != SYSCOMMON_DEVICED_DPMS_ON) { - if (g_display_plugin.config->touch_wakeup) { + if (g_display_config->touch_wakeup) { touchscreen_start(DEVICED_EVENT_DEVICE_READY); } else { touchscreen_powersaving(POWERSAVING_OFF); @@ -199,7 +199,7 @@ static int touchscreen_start(enum deviced_event reason) static int touchscreen_stop(enum deviced_event reason) { - if (!g_display_plugin.config) { + if (!g_display_config) { _I("Touchscreen is not initialized."); goto exit; } @@ -219,7 +219,7 @@ static int touchscreen_stop(enum deviced_event reason) return touchscreen_powersaving(POWERSAVING_ON); } - if (g_display_plugin.config->touch_wakeup) { + if (g_display_config->touch_wakeup) { _I("Touch wakeup enabled."); return touchscreen_powersaving(POWERSAVING_ON); } @@ -325,8 +325,8 @@ static void touchscreen_init(void *data) vconf_notify_key_changed(VCONFKEY_SETAPPL_TOUCH_WAKEUP_ENABLE, touchscreen_wakeup_status, NULL); ret = vconf_get_bool(VCONFKEY_SETAPPL_TOUCH_WAKEUP_ENABLE, &val); - if (g_display_plugin.config && ret == 0) - g_display_plugin.config->touch_wakeup = val; + if (g_display_config && ret == 0) + g_display_config->touch_wakeup = val; ret = gdbus_add_object(NULL, DEVICED_PATH_TOUCH, &dbus_interface); diff --git a/src/usb-host/usb-host.c b/src/usb-host/usb-host.c index 3016504e..86168c7a 100644 --- a/src/usb-host/usb-host.c +++ b/src/usb-host/usb-host.c @@ -1142,8 +1142,8 @@ static void usbhost_init(void *data) { int ret; - if (g_display_plugin.config) - display_on_usb_conn_changed = g_display_plugin.config->display_on_usb_conn_changed; + if (g_display_config) + display_on_usb_conn_changed = g_display_config->display_on_usb_conn_changed; /* register usbhost uevent */ ret = register_kernel_uevent_control(&uh);