设为首页 加入收藏

TOP

Linux sysfs实现hdmi开关
2014-11-24 11:47:43 来源: 作者: 【 】 浏览:0
Tags:Linux sysfs 实现 hdmi 开关

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_hdmion_ctrl);
static struct attribute *dev_attrs[] = {
&dev_attr_hdmion.attr,
NULL,
};
static struct attribute_group dev_attr_grp = {
.attrs = dev_attrs,
};
static int __init disp_probe(struct platform_device *pdev)//called when platform_driver_register
{
int err = 0;
sysfs_create_group(&pdev->dev.kobj, &dev_attr_grp);
err = sysfs_create_group(&pdev->dev.kobj, &dev_attr_grp);
if (err 0)
{
printk("disp : sysfs_create_group err\n");
return err;
}
return 0;
}
static int disp_remove(struct platform_device *pdev)
{
sysfs_remove_group(&pdev->dev.kobj, &dev_attr_grp);
return 0;
}


HDMI关:echo 1 > /sys/devices/platform/disp/hdmi_ctrl
HDMI开:echo 0 > /sys/devices/platform/disp/hdmi_ctrl


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android4.0开机音乐 下一篇Android4.0隐藏状态栏电池图标

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·请问c语言刚入门,该 (2025-12-26 10:21:04)
·python 编程怎么定义 (2025-12-26 10:21:01)
·09-指 针 (一)-c语言 (2025-12-26 10:20:58)
·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)