增加背光控制结点
程序员文章站
2022-07-01 22:22:06
...
1.在驱动中添加sysfs文件结点
static ssize_t backlight_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
struct gac_data *data = dev_get_drvdata(dev);
int ret;
int level;
u8 write_buf[4];
u8 command[4];
ret = kstrtoint(buf,10,&level);//10表示10进制
if(ret < 0)
{
dev_err(&data->client->dev,"%s failed\n");
return -EINVAL;
}
if(level < 1 || level > 100)
{
dev_err(&data->client->dev,"%s,level %d unsupported",__func__,level);
return -EINVAL;
}
````
return count;
}
static DEVICE_ATTR(backlight_control,S_IWUSR,NULL,gac_ts_backlight_store);
//最后一项必须以NUll结尾
static struct attribute *sysfs_attrs[] = {
&dev_attr_backlight_control.attr,
NULL,
};
static const struct attribute_group attr_grp = {
.attrs = sysfs_attrs,
};
static int bl_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
···
sysfs_create_group(&client->dev.kobj,&attr_grp);
````
}
生成的结点为:
/sys/devices/platform/soc/4a84000.i2c/i2c-0/0-0030/backlight_control
2.修改结点权限
在device/qcom(平台)/XXX(项目名)/init.target.rc中添加
#backlight control
chown root system /sys/devices/platform/soc/4a84000.i2c/i2c-0/0-0030/backlight_control
chmod 0666 /sys/devices/platform/soc/4a84000.i2c/i2c-0/0-0030/backlight_control
推荐阅读
-
.NET Core 3终结点不能映射控制器
-
Swagger UI改造 增加 Token验证、显示控制器注释、自定义泛型缓存应用、
-
php 修改、增加xml结点属性的实现代码
-
给nvidia显卡增加风扇速度控制的选项
-
hive中小文件的产生原因 如何合并小文件 以及控制Map个数,增加/缩小map个数,
-
MSM8909开机logo显示(1)---LCD背光的控制
-
微软HoloLens增强现实新增加语音控制功能
-
(一)maya2018快速装备创建骨骼和HumanIK创建骨骼、如何增加蒙皮,选择单个骨骼进行控制
-
增加背光控制结点
-
前人铺路系列组件hevue-img-preview 2.5更新,增加键盘控制,节流,图片加载等待等,来看看有没有你可以借鉴的思路或功能