本文是个小的演示,如何对kernel暴露的接口进行实际操作
#define BL_VALUE "/sys/class/leds/lcd-backlight"
#define BL_DEV_STATUS "/sys/class/leds/lcd-backlight/brightness_state"
#define BL_DEV BL_VALUE
#define BL_MAX_BRIGHTNESS 100
int qg_brightness = 0;
int brightness_off = 0;
static int _bl_set(int enable)
{
int ret = FALSE;
int file;
if (access(BL_DEV_STATUS, 0)==0) {
file = open(BL_DEV_STATUS, O_RDWR);
if (file < 0) {
ALOGE("can not open bl dev:%s\n", BL_DEV_STATUS);
close(file);
return FALSE;
}
} else {
ALOGE("have not bl dev\n");
return FALSE;
}
if(enable == 1)
write(file, "1", 1);
else
write(file, "0", 1);
close(file);
return TRUE;
}
int _backlight_set_lcd(int value)
{
int ret = FALSE;
int extra=0;
FILE *file;
unsigned int brightness, max_brightness = 0;
#if BL_FLIP
brightness = BL_MAX_BRIGHTNESS - value;