Linux sysfs实现hdmi开关,平台是全志A10 Android4.0
linux-3.0/drivers/video/sun4i/disp/dev_disp.c
static ssize_t show_hdmi_ctrl(struct device *dev, struct device_attribute *attr, char *buf)
{
return sprintf(buf, "%s\n", suspend_status & 1 ? "off":"on");
}
static ssize_t set_hdmi_ctrl(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
unsigned long val = 0;
if (count = 0)
return 0;
val = simple_strtoul(buf, NULL, 0);
/*
* sscanf用于解析echo 0x00,0x2 > hdmi_ctrl这类命令。
* sscanf(buf, "%d,%d", &i2c_reg,&i2c_data);
*/
if (val)
backlight_early_suspend(NULL);
else
backlight_late_resume(NULL);
return count;
}
static DEVICE_ATTR(hdmictrl, S_IRUGO | S_IWUSR, show_hdmi_ctrl, set_