1.每日自省; 2.享受人生; 3.尽力而为; 4.坚持不懈; 5.切莫急躁; 6.慎言敏行; 7.动心忍性; 8.上善若水。
全部博文(134)
发布时间:2013-09-05 10:20:51
本节中主要讲述探测函数中的初始化和移除slot,首先看下初始化:static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id){ struct mmc_host *mmc; struct dw_mci_slot *slot; mmc = mmc_alloc_host(sizeof(struct dw_mc.........【阅读全文】
发布时间:2013-09-05 09:57:59
这一节我们看下探测函数tasklet中的两个函数,首先看下发现卡函数dw_mci_tasklet_card:static void dw_mci_tasklet_card(unsigned long data){ struct dw_mci *host = (struct dw_mci *)data; int i; //每个slot都执行一次,本例只有一个.........【阅读全文】
发布时间:2013-09-05 08:40:50
接下来,继续第一部分,来看下DW的SD卡驱动中关于操作DAM部分,在探测函数中,主要是如下两条语句: host->dma_ops = pdata->dma_ops; dw_mci_init_dma(host); 由于这里是探测函数,在设备的定义中,也没有对pdata->dma_ops成员进行初始.........【阅读全文】
发布时间:2013-09-04 19:16:20
分析一个驱动,一般是从module_init()和module_exit()入手,首先来看下module_init()函数。static int __init dw_mci_init(void){ return platform_driver_probe(&dw_mci_driver, dw_mci_probe);} 在platf.........【阅读全文】
发布时间:2013-08-23 12:00:51
本文作为i2c驱动分析的第三部分,从驱动和应用层分析了i2c中的I2c-dev模块,此模块在"/dev/"目录下创建设备节点,应用层可以通过此节点操作i2c设备。文章第一部分讲解了i2c-dev驱动程序,第二部分讲解了应用层操作I2c的方法,提供了应用层的测试程序。......【阅读全文】
发布时间:2013-08-16 11:22:45
从文件中查找关键词grep 'linux' text.txt //查找包含 linux的关键词[root@localhost ~]# grep 'root' /etc/grouproot:x:0:rootbin:x:1:root,bin,daemon从多个文件中查找关键词[root@localhost ~]# grep 'root' /etc/group /etc/my.cnf/etc/group:root:x:0:root/etc/my.cnf:user = root查找当前目录下.........【阅读全文】
发布时间:2013-07-17 11:35:41
写在前面的话:对于框架,我觉得就是在一定规范的形式下去实现你要的功能。这里就涉及到一个变与不变的地方。你所要实现的功能会是千差万别的---这就是变的地方,而所谓既定的规范,包括建立目录和属性文件这是Linux系统已经为我们做好了的,我们只需要直接拿来引用就OK了。那么今天,我们就来看看hwmon框架是怎.........【阅读全文】