2013年9月14日

platform平台设备驱动简化示例代码

摘要: driver.c:#include #include #include #include #include #include #define DRIVER_NAME "my_dev"static int my_probe(struct device *dev){ printk("driver found device !!\n"); return 0;}static int my_remove(struct device *dev){ printk("driver found device unpluged !!\n"); retur 阅读全文

posted @ 2013-09-14 14:37 熊猫酒仙是也 阅读(438) 评论(0) 推荐(0) 编辑

(转载)Linux中__init、__devinit等初始化宏

摘要: 内核使用了大量不同的宏来标记具有不同作用的函数和数据结构。如宏__init 、__devinit 等。这些宏在include/linux/init.h 头文件中定义。编译器通过这些宏可以把代码优化放到合适的内存位置,以减少内存占用和提高内核效率。下面是一些常用的宏:? ?__init ,标记内核启动时使用的初始化代码,内核启动完成后不再需要。以此标记的代码位于.init.text 内存区域。它的宏定义是这样的:?#define _ _init _ _attribute_ _ ((_ _section_ _ (".text.init"))) ? ?__exit ,标记退出代码 阅读全文

posted @ 2013-09-14 09:29 熊猫酒仙是也 阅读(288) 评论(0) 推荐(0) 编辑

导航