1,在/sys/class/目录下创建一个设备节点,比如创建一个class_test_usb的设备节点
2,在class_test_usb目录下创建另外一个设备节点android0,如下
3,在/sys/class/class_test_usb/android0/目录下创建几个其它设备节点enable state等
static struct calss *test_class;
test_class = class_creat(THIS_MODULE,"class_test_usb");2,在class_test_usb目录下创建另外一个设备节点android0,如下
struct device *dev;
dev = device_creat(test_calss,NULL,MKDEV(0,0),NULL,"android0");
if(IS_ERR(dev))
return PTR_ERR(dev); 3,在/sys/class/class_test_usb/android0/目录下创建几个其它设备节点enable state等
static struct device_attribute* test_attributes[]={
&dev_attr_state,
&dev_attr_enable,
NULL
}
static DEVICE_ATTR(enable,S_IRUGO |S_IWUSR,enable_show,enable_store);
struct device_attribute ** attrs=test_attributes;
struct device_attribute *attr;
int err;
while((attr=*attrs++))
{
err=device_creat_file(dev,attr);
if(err)
{
device_destory(test_class,dev->devt);
return err;
}
}
本文介绍了如何在Linux内核的/sys/class/目录下创建设备节点,包括创建类设备、子设备及其属性。通过具体代码示例展示了创建class_test_usb类下的android0设备节点,并在其目录下创建enablestate、enable等属性的方法。
681

被折叠的 条评论
为什么被折叠?



