![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动相关
liwendovo
这个作者很懒,什么都没留下…
展开
-
platform _device和platform_driver注册过程
platform_device_register()注册过程------------------------------------/* arch/arm/mach-s3c2410/mach-smdk2410.c */struct platform_device s3c_device_i2c = { .name = "s3c转载 2012-08-06 15:42:04 · 576 阅读 · 0 评论 -
android系统移植之按键驱动篇
平台:MX53_QSB开发板MX53_QSB开发板上一起有四个按键,分别为RESET,POWER,USER1,USER2。其中RESET为纯硬件复位按键,无须软件控制。POWER,USER1,USER2三个按键均需要程序控制。默认BSP包中将三个按钮全设置为上升和下降沿触发,当系统起来后,按下POWER键,进入睡眠状态,这时再按下POWER键唤醒时,系统系统被唤醒,但是一旦手松下,又触转载 2012-09-02 20:26:54 · 868 阅读 · 0 评论 -
sysfs接口函数的建立_DEVICE_ATTR
说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是#define DEVICE_ATTR(_name, _mode, _show, _store) \struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store)函数宏DEVICE_ATTR内封装的是__ATTR(_转载 2012-09-02 14:28:41 · 642 阅读 · 0 评论 -
Android 中input event的分析
文章将分析Android 的Input Event 子系统的来龙去脉。Android 系统里面有很多小工具,运行这些工具,我们对它们有一个感性的认识,进而阅读和分析这些小工具源代码,再顺藤摸瓜,就可以把整个子系统的来龙去脉弄清楚。1.运行toolbox的getevent 工具。# getevent -helpgetevent -helpUsage:转载 2012-08-13 19:53:35 · 700 阅读 · 0 评论 -
Linux驱动中,probe函数何时被调用
最近看到linux的设备驱动模型,关于Kobject、Kset等还不是很清淅。看到了struct device_driver这个结构时,想到一个问题:它的初始化函数到底在哪里调用呢?以前搞PCI驱动时用pci驱动注册函数就可以调用它,搞s3c2410驱动时只要在mach-smdk2410.c中的struct platform_device *smdk2410_devices {}中加入设备也会调用转载 2012-07-27 11:05:35 · 766 阅读 · 0 评论 -
Linux设备模型之input子系统详解(三)
十:evdev设备结点的open()操作对主设备号为INPUT_MAJOR的设备节点进行操作,会将操作集转换成handler的操作集.在evdev中,这个操作集就是evdev_fops.对应的open函数如下示:static int evdev_open(struct inode *inode, struct file *file){ struct转载 2012-08-09 09:18:16 · 1427 阅读 · 0 评论 -
Linux设备模型之input子系统详解(二)
六:event事件的处理在开始的时候曾以linux kernel文档中自带的代码作分析.提出了几个事件上报的API. 这些API其实都是input_event()的封装.代码如下:void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value){转载 2012-08-09 09:17:13 · 1424 阅读 · 0 评论 -
Linux设备模型之input子系统详解(一)
一:前言最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)键盘驱动将检测到的所有按键都上报给了inpu转载 2012-08-09 09:16:01 · 872 阅读 · 0 评论 -
Linux驱动的platform机制
最近在看SPI、I2C这样简单点的总线驱动程序,从Linux2.6起,内核引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver.现在Linux中大部分的设备驱动都可以使用这套机制,总线为platform_bus,设备用platform_device表示,驱动用platform_driver进行注册。 Linux的这种platform drive转载 2012-08-07 09:40:31 · 769 阅读 · 1 评论 -
设备模型、设备与驱动关联的全过程分析 platform_device platform_driver driver bus关系
[cpp] view plaincopy1. 平台驱动注册过程 具体的目录如下: 关于设备模型、设备与驱动关联的全过程分析。... 1 1.1 at91_i2c_init()函数... 1 1.2 platform_driver_register()函数... 2 1.3 dr转载 2012-08-06 17:24:39 · 1106 阅读 · 2 评论 -
关于platform_driver 是如何匹配 platform_device的和如何调用到platform_driver中的probe函数的研究
在linux中platform平台驱动又三大部分组成,第一是bus、第二是驱动、第三是设备。 第一总线也就是platform_bus,总线也是一种特殊的device,到底层下面还是要调用device_register来注册该总线设备,然后是用来注册总线的属性结构体 bus_type(platform_bus_type),至此platform平台的总线已经准备好。具体介绍可以看我另转载 2012-08-06 17:17:25 · 1088 阅读 · 1 评论 -
从platform驱动看驱动模型
从platform_driver看驱动模型,一. device kset 和 bus kset根据sys的结构图,我们知道,在sysfs中,首先注册的是bus,devices而buses_init bus_kset = kset_create_and_add("bus", &bus_uevent_ops, NULL);该函数调用Kset_crea转载 2012-08-06 17:15:18 · 731 阅读 · 0 评论 -
Linux驱动之Platform Driver
# Platform Driver 平台驱动 Linux中的所有设备驱动都需要注册到系统平台下,这此操作由platform_device.h中定义的一组函数完成.我们先来看看struct platform_driver这个结构体:struct platform_driver { int (*probe)(struct platform_device *);转载 2012-08-06 16:21:44 · 688 阅读 · 0 评论 -
Linux driver model ----- platform
Platform Device and Drivers从我们可以了解Platform bus上面的驱动模型接口:platform_device,platform_driver。和PCI和USB这些大结构的总线不同,虚拟总线Platform bus使用最小结构来集成SOC processer上的各种外设,或者各种“legacy”之间的互联。 Platform device转载 2012-08-06 16:01:31 · 841 阅读 · 2 评论 -
vim使用技巧
1. 本文的目标是提供一些vim的使用技巧,利用这些技巧可以提高vim的操作效率。部分技巧在vi上也可以使用,但是现在基本上都是用vim了。2. 本文是整理和总结使用技巧,而非讲解vim入门,因此不会涉及最基本的使用,例如如何上移或下移光标,对此类操作请参阅任何一本vim或者vi教程。3. 本文阅读对象是了解了vim的基本操作,而希望高效地利用vim进行工作的人。熟练使用vim的人自然转载 2012-10-12 10:13:13 · 683 阅读 · 0 评论