码迷,mamicode.com
首页 > Windows程序 > 详细

[linux驱动]设备驱动模型相关(二)——常用API

时间:2015-01-20 22:08:48      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

1,在/sys/class/目录下创建一个设备节点,比如创建一个class_test_usb的设备节点

[cpp] view plaincopy技术分享技术分享
 
  1. static struct calss *test_class;  
  2. test_class = class_creat(THIS_MODULE,"class_test_usb");  


2,在class_test_usb目录下创建另外一个设备节点android0,如下

[cpp] view plaincopy技术分享技术分享
 
  1. struct device *dev;  
  2. dev = device_creat(test_calss,NULL,MKDEV(0,0),NULL,"android0");  
  3. if(IS_ERR(dev))  
  4.     return PTR_ERR(dev);  


3,在/sys/class/class_test_usb/android0/目录下创建几个其它设备节点enable state等

[cpp] view plaincopy技术分享技术分享
 
    1. static struct device_attribute* test_attributes[]={  
    2.     &dev_attr_state,  
    3.     &dev_attr_enable,  
    4.     NULL  
    5. }  
    6. static DEVICE_ATTR(enable,S_IRUGO |S_IWUSR,enable_show,enable_store);  
    7.   
    8.   
    9. struct device_attribute ** attrs=test_attributes;  
    10. struct device_attribute *attr;  
    11. int err;  
    12. while((attr=*attrs++))  
    13. {  
    14.     err=device_creat_file(dev,attr);  
    15.     if(err)  
    16.     {  
    17.         device_destory(test_class,dev->devt);  
    18.         return err;  
    19.     }  
    20. }  

[linux驱动]设备驱动模型相关(二)——常用API

标签:

原文地址:http://www.cnblogs.com/zhiliao112/p/4237235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!