diff options
author | Yunhee Seo <yuni.seo@samsung.com> | 2024-04-19 13:13:08 +0900 |
---|---|---|
committer | Yunhee Seo <yuni.seo@samsung.com> | 2024-04-19 14:58:05 +0900 |
commit | 4fd1fd627ac26b7073e44530168bcd4cd54d4fa1 (patch) | |
tree | f2be6882dd75120c9a3c1240d6499264d9e8f7ed | |
parent | 89d956bdd6e57c902a72bd69205a3302f659b5a2 (diff) | |
download | device-rpi-4fd1fd627ac26b7073e44530168bcd4cd54d4fa1.tar.gz device-rpi-4fd1fd627ac26b7073e44530168bcd4cd54d4fa1.tar.bz2 device-rpi-4fd1fd627ac26b7073e44530168bcd4cd54d4fa1.zip |
led: Apply HAL ABI versioning
While applying HAL ABI versioning, hal_backend_[module]_funcs is allocated from hal-api-[module] side.
Thus, allocation is moved to hal-api-device-led side and there is no need to be free
hal_backend_module_funcs in backend side.
So, hal_backend_module_funcs free code is removed.
Also, wrong module name is fixed and hal interface inclusion path is changed.
"led" -> "device-led"
Change-Id: Id15deeb9ae80d85c8d9606e7ace8f2815d08cc1e
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
-rw-r--r-- | hw/led/led.c | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/hw/led/led.c b/hw/led/led.c index b52aa98..8773ada 100644 --- a/hw/led/led.c +++ b/hw/led/led.c @@ -20,7 +20,7 @@ #include <stdlib.h> #include <glib.h> -#include <hal/hal-led-interface.h> +#include <hal/hal-device-led-interface.h> #include <hal/hal-common-interface.h> #include </hal/include/device/hal-backend-common.h> @@ -120,7 +120,7 @@ static int gpio_led_close_device(peripheral_i2c_h device_handle) return ret; } -static int gpio_rgb_set_brightness(struct led_state *state) +static int gpio_rgb_set_brightness(hal_device_led_state_s *state) { uint8_t cmd_pkt[4] = { SET_CMD_CODE, }; peripheral_i2c_h handle; @@ -150,9 +150,9 @@ static int gpio_rgb_set_brightness(struct led_state *state) } /* turn off led */ -static int gpio_rgb_turn_off(struct led_state *state) +static int gpio_rgb_turn_off(hal_device_led_state_s *state) { - struct led_state st = { LED_TYPE_MANUAL, }; + hal_device_led_state_s st = { HAL_DEVICE_LED_TYPE_MANUAL, }; return gpio_rgb_set_brightness(&st); } @@ -199,7 +199,7 @@ static int gpio_rgb_init_led() static gboolean gpio_rgb_timer_expired(gpointer data) { struct gpio_rgb_play_color_info *color; - struct led_state state = {LED_TYPE_MANUAL, }; + hal_device_led_state_s state = {HAL_DEVICE_LED_TYPE_MANUAL, }; int ret; if (play_info.timer) { @@ -267,7 +267,7 @@ static int gpio_rgb_insert_play_list(unsigned color, int on, int off) } /* insert color info to the play list and start to play */ -static int gpio_rgb_set_brightness_blink(struct led_state *state) +static int gpio_rgb_set_brightness_blink(hal_device_led_state_s *state) { unsigned int val; int ret; @@ -298,22 +298,22 @@ static int gpio_rgb_set_brightness_blink(struct led_state *state) return 0; } -static int gpio_rgb_turn_on(struct led_state *state) +static int gpio_rgb_turn_on(hal_device_led_state_s *state) { - if (state->type == LED_TYPE_MANUAL) + if (state->type == HAL_DEVICE_LED_TYPE_MANUAL) return gpio_rgb_set_brightness(state); return gpio_rgb_set_brightness_blink(state); } -static int gpio_rgb_set_state(enum led_device_type type, struct led_state *state) +static int gpio_rgb_set_state(hal_device_led_device_type_e type, hal_device_led_state_s *state) { - if ((type != NOTIFICATION) || !state) + if ((type != HAL_DEVICE_LED_NOTIFICATION) || !state) return -EINVAL; switch (state->type) { - case LED_TYPE_BLINK: - case LED_TYPE_MANUAL: + case HAL_DEVICE_LED_TYPE_BLINK: + case HAL_DEVICE_LED_TYPE_MANUAL: break; default: _E("Not suppoted type (%d)", state->type); @@ -329,24 +329,26 @@ static int gpio_rgb_set_state(enum led_device_type type, struct led_state *state static int led_init(void **data) { - hal_backend_led_funcs *led_device; + hal_backend_device_led_funcs *led_device; - led_device = calloc(1, sizeof(hal_backend_led_funcs)); + if (!data) { + _E("Invalid parameter"); + return -EINVAL; + } + + led_device = *(hal_backend_device_led_funcs **) data; if (!led_device) - return -ENOMEM; + return -EINVAL; if (gpio_rgb_init_led()) { - free(led_device); return -EIO; } else { led_device->camera_front = NULL; led_device->camera_back = NULL; led_device->touch_key = NULL; led_device->notification = calloc(1, sizeof(struct led_funcs)); - if (!led_device->notification) { - free(led_device); + if (!led_device->notification) return -ENOMEM; - } led_device->notification->set_state = gpio_rgb_set_state; led_device->notification->get_state = NULL; @@ -357,21 +359,18 @@ static int led_init(void **data) led_device->notification->keyled_get_state = NULL; } - *data = (void *)led_device; - return 0; } static int led_exit(void *data) { - hal_backend_led_funcs *led_device; + hal_backend_device_led_funcs *led_device; if (!data) return 0; - led_device = (hal_backend_led_funcs *)data; + led_device = (hal_backend_device_led_funcs *)data; free(led_device->notification); - free(led_device); return 0; } |