1. device_create_file()在/sys/class/下创建一个属性文件,从而通过对这个属性文件进行读写就能完成对应的数据操作
比如下面是我们键盘驱动probe函数调用的部分
static ssize_t call_sn7326_write_reg(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t size)
{
int reg = 0;
int value = 0;
sscanf(buf, "%d,%x", ®, &value);
sn7326_debug("sn7326 reg = %d, value = %d \n", reg, value);
if((reg <= 7)&&(control_chip_external != NULL))
gpio_sn7326_write_reg(control_chip_external, reg, value);
return size;
}
//static DEVICE_ATTR(write_sn7326_reg, 0666, NULL, call_sn7326_write_reg);
static DEVICE_ATTR(write_sn7326_reg, 0777, NULL, call_sn7326_write_reg);
ret = device_create_file(&client->dev, &dev_attr_write_sn7326_reg);
if(ret) {
sn7326_debug("creat sys file failed.\n");
}
会创建sys/class/input/event2/device/device/write_sn7326_reg,然后用cat和echo进行读写操作即可。
参考点击打开链接和点击打开链接