#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>
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;
}
/* 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);
}
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) {
}
/* 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;
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);
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;
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;
}