设为首页 加入收藏

TOP

Linux下面一个简单的虚拟platform驱动
2014-11-24 14:32:37 来源: 作者: 【 】 浏览:0
Tags:Linux 下面 一个 简单 虚拟 platform 驱动

在Linux之中,约定如果设备不属于任何的总线,则可以把它注册为虚拟的platform设备。


下面就简单来学习一下一个简单的platform设备是怎么创建出来的。


一般注册platform驱动的步骤是:


1,platform_device_create注册一个设备


2,platform_driver_create注册一个驱动。


static struct platform_driver chrdev_platform_driver = {
.probe = chrdev_probe,
.remove = chrdev_remove,
.driver = {
.name = CHRDEV_NAME,
.owner = THIS_MODULE,
},
};

static struct platform_device chrdev_platform_device = {
.name = CHRDEV_NAME,
.id = 0,
.dev = {
}
};


platform_device和platform_driver的名字必须一致




然后在chrdev_probe中完成注册一个字符设备。一般注册字符设备的流程如下:


1,alloc_chrdev_region分配一个未使用的设备号


2,cdev_init和cdev_add使用(1)分配到的设备号添加一个字符设备




如果到这里就结束了,我们就需要使用分配到的设备号手动去建立/dev下面的设备节点,,,


在这里可以使用class_create和device_create让udev deamon自动为我们创建设备节点


3,class_create(THIS_MODULE, "chrdev");


4,device_create(chrdev_class, NULL, chrdev_devno, NULL, "chrdev");




源文件:chrdev.c


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Unity3D Android配置文件 下一篇log4cxx-Linux 安装调试

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: