Linux设备模型-总线,设备和驱动
2018-01-29 10:48
441 查看
1 参考书籍
参考书籍 《嵌入式Linux驱动开发教程》 华清远见嵌入式学院
2 范例代码
3 运行结果
参考书籍 《嵌入式Linux驱动开发教程》 华清远见嵌入式学院
2 范例代码
/*vbus.c*/ #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/device.h> /*用于匹配驱动和设备的函数*/ static int vbus_match(struct device *dev, struct device_driver *drv) { return 1; } static struct bus_type vbus={ .name="vbus", .match=vbus_match, }; EXPORT_SYMBOL(vbus); static int __init vbus_init() { /*向内核注册vbus总线*/ return bus_register(&vbus); } static int __init vbus_exit() { /*向内核注销vbus总线*/ bus_unregister(&vbus); } module_init(vbus_init); module_exit(vbus_exit); MODULE_LICENSE("GPL");
/*vdrv.c*/ /*驱动文件*/ #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/device.h> extern struct bus_type vbus; /*一个代表驱动的vdrv对象*/ static struct device_driver vdrv={ .name="vdrv", .bus=&vbus, /*vderv所属的总线是vbus*/ }; static int __init vdrv_init() { return driver_register(&vdrv); } static int __init vdrv_exit() { driver_unregister(&vdrv); } module_init(vdrv_init); module_exit(vdrv_exit); MODULE_LICENSE("GPL");
/*vdev.c*/ #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/device.h> extern struct bus_type vbus; static void vdev_release(struct device *dev) { } static struct device vdev={ .init_name="vdev", .bus=&vbus, .release=vdev_release, }; static int __init vdev_init() { return device_register(&vdev); } static int __init vdev_exit() { device_unregister(&vdev); } module_init(vdev_init); module_exit(vdev_exit); MODULE_LICENSE("GPL");
3 运行结果
相关文章推荐
- Linux 设备总线驱动模型
- linux2.6 总线设备驱动模型
- Linux总线设备驱动模型相关理论和实例
- Linux 内核--总线设备驱动模型(字符设备 && misc字符设备)
- 让天堂的归天堂,让尘土的归尘土——谈Linux的总线、设备、驱动模型
- Linux SPI总线设备驱动模型详解
- Linux设备模型--总线、驱动、设备、设备类
- Linux内核平台总线设备驱动模型浅析
- Linux平台总线驱动设备模型
- Linux平台总线驱动设备模型
- linux驱动摸索 --DS1302芯片移植(基于总线驱动设备模型)
- Linux总线设备驱动模型学习
- Linux设备模型(总线、设备、驱动程序和类)之三:device_driver && 多厂家驱动自动识别
- 嵌入式linux之分离分层概念,总线驱动设备模型
- Linux SPI总线设备驱动模型详解
- Linux平台总线驱动设备模型
- linux设备模型之总线,设备,驱动模型
- Linux设备驱动程式学习(13)-Linux设备模型(总线、设备、驱动程式和类)
- Linux平台总线驱动设备模型