display: Update device-interface code more simple
[platform/core/system/deviced.git] / src / display / device-interface.h
1 /*
2  * deviced
3  *
4  * Copyright (c) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19
20 /**
21  * @file        device-interface.h
22  * @brief       backlight, touch, power devices interface module header
23  */
24 #ifndef __DEVICE_INTERFACE_H__
25 #define __DEVICE_INTERFACE_H__
26
27 #include <stdbool.h>
28 #include "core/devices.h"
29
30 #define FLAG_X_DPMS             0x2
31
32 #define DEFAULT_DISPLAY 0
33
34 #define PM_MAX_BRIGHTNESS       100
35 #define PM_MIN_BRIGHTNESS       1
36 #define PM_DEFAULT_BRIGHTNESS   60
37 #define PM_DIM_BRIGHTNESS       0
38
39 #define PM_LCD_POWER_ON         0
40 #define PM_LCD_POWER_OFF        3
41
42 #define PM_LCD_RETRY_CNT        3
43
44 #define DISP_INDEX_SHIFT        16
45 #define DISP_CMD(prop, index)   ((index << DISP_INDEX_SHIFT) | prop)
46
47 #define DEFAULT_DISPLAY_COUNT           1
48 #define DEFAULT_DISPLAY_MAX_BRIGHTNESS  100
49
50 /*
51  * Event type enumeration
52  */
53 enum {
54         EVENT_TIMEOUT = 0,      /*< time out event from timer */
55         EVENT_DEVICE = EVENT_TIMEOUT,   /*< wake up by devices except input devices */
56         EVENT_INPUT,            /*< input event from noti service */
57         EVENT_END,
58 };
59
60 int init_sysfs(unsigned int);
61 int exit_sysfs(void);
62 int display_service_load(void);
63 int display_service_free(void);
64
65 struct _backlight_ops {
66         int (*off)(enum device_flags);
67         int (*dim)(void);
68         int (*on)(enum device_flags);
69         int (*update)(void);
70         int (*standby)(int);
71         int (*set_default_brt)(int level);
72         int (*get_lcd_power)(void);
73         int (*set_custom_status)(bool on);
74         bool (*get_custom_status)(void);
75         int (*save_custom_brightness)(void);
76         int (*custom_update)(void);
77         int (*set_force_brightness)(int level);
78         int (*set_brightness)(int val);
79         int (*get_brightness)(int *val);
80 };
81
82 struct _power_ops {
83         int (*suspend)(void);
84         int (*power_lock)(void);
85         int (*power_unlock)(void);
86         int (*get_power_lock_support)(void);
87         int (*check_wakeup_src)(void);
88         int (*get_wakeup_count)(int *cnt);
89         int (*set_wakeup_count)(int cnt);
90 };
91
92 extern struct _backlight_ops backlight_ops;
93 extern struct _power_ops power_ops;
94
95 #endif
96