2 * Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <hal/hal-common.h>
22 #include "hal-led-interface.h"
24 static hal_backend_led_funcs *g_led_funcs = NULL;
26 int hal_device_led_get_backend(void)
33 ret = hal_common_get_backend(HAL_MODULE_DEVICE_LED, (void **)&g_led_funcs);
35 _E("Failed to get led backend");
42 int hal_device_led_put_backend(void)
47 hal_common_put_backend(HAL_MODULE_DEVICE_LED, (void *)g_led_funcs);
53 int hal_device_led_set_state(struct led_state *state)
56 !g_led_funcs->set_state)
59 return g_led_funcs->set_state(state);
62 int hal_device_led_get_state(struct led_state **state)
65 !g_led_funcs->get_state)
68 return g_led_funcs->get_state(state);
71 int hal_device_led_get_number(void)
74 !g_led_funcs->get_number)
77 return g_led_funcs->get_number();
80 int hal_device_led_set_number(int number)
83 !g_led_funcs->set_num)
86 g_led_funcs->set_num(number);
91 int hal_device_led_get_max_num(void)
94 !g_led_funcs->get_max_num)
97 return g_led_funcs->get_max_num();
100 int hal_device_keyled_set_state(struct keyled_state *state)
103 !g_led_funcs->keyled_set_state)
106 return g_led_funcs->keyled_set_state(state);
109 int hal_device_keyled_get_state(int *keycode, int *brightness)
112 !g_led_funcs->keyled_get_state)
115 return g_led_funcs->keyled_get_state(keycode, brightness);