spi-dev.c
其中主要难理解的地方是 spi_create_attribute(),此函数通过device_create_file()创建节点,目录为
驱动中
static DEVICE_ATTR(spi, 440, NULL, spi_store);
static DEVICE_ATTR(spi_msg, 440, NULL, spi_msg_store);
static struct device_attribute *spi_attribute[]={
&dev_attr_spi,
&dev_attr_spi_msg,
};
static int spi_create_attribute(struct device *dev)
{
int num,idx;
int err =0;
num = (int)(sizeof(spi_attribute)/sizeof(spi_attribute[0]));
for (idx = 0; idx < num; idx ++) {
if ((err = device_create_file(dev, spi_attribute[idx])))
break;
}
return err;
}
以下介绍 device_create_file()
device_create_file(&pdev->dev, &dev_attr_xxx);
文件不是创建在某个device目录下么,pdev->dev就是该device。
dev_attr_xxx就是在xxx前加上dev_attr_,好像是废话,不过现实就是这样。
参考文章:http://blog.csdn.net/njuitjf/article/details/16849333
理解device_create_file可以结合背光控制理解例如:echo 1 > brightness , cat brightness
参考文章:http://blog.csdn.net/shiyi_2012/article/details/7456165