2.0 alpha
[platform/core/system/devman.git] / devices / led.c
1 /*
2  *  devman
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: DongGi Jang <dg0402.jang@samsung.com>
7  * 
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20 */ 
21
22
23 #include "device_engine.h"
24 #include "device_plugin.h"
25
26 static int get_led_prop(int prop, int *val)
27 {
28         switch (prop) {
29         case LED_PROP_BRIGHTNESS:
30                 return plugin_intf->OEM_sys_get_leds_torch_brightness(val);
31         case LED_PROP_MAX_BRIGHTNESS:
32                 return plugin_intf->OEM_sys_get_leds_torch_max_brightness(val);
33         }
34         return -1;
35 }
36
37 static int set_led_prop(int prop, int val)
38 {
39         switch (prop) {
40         case LED_PROP_BRIGHTNESS:
41                 return plugin_intf->OEM_sys_set_leds_torch_brightness(val);
42         }
43         return -1;
44 }
45
46 static struct device led_prop = {
47         .devname = "led",
48         .set_int = set_led_prop,
49         .get_int = get_led_prop,
50         .devtype = DEVTYPE_LED
51 };
52
53 static void __attribute__ ((constructor)) module_init()
54 {
55         add_dev(&led_prop);
56 }