1.每日自省; 2.享受人生; 3.尽力而为; 4.坚持不懈; 5.切莫急躁; 6.慎言敏行; 7.动心忍性; 8.上善若水。
全部博文(134)
发布时间:2013-09-30 11:45:43
Notifier是Linux中提供一种在内核子系统中共享事件信息的方法。基于版本2.6.22,notifier有四种types:1.Atomic notifier chains: Chain callbacks run in interrupt/atomic context. Callouts are not allowed to block.2.Blocking notifier chains: Chain callbacks run in .........【阅读全文】
发布时间:2013-09-23 17:49:45
本文继续 《Linux I2C驱动分析(一)----I2C架构和总线驱动》部分,首先讲述了板级设备的注册,为讲述函数i2c_scan_static_board_info(adap)打下基础,接着又描述了I2C数据传输过程中所调用的接口函数,本文和《Linux I2C驱动分析(一)----I2C架构和总线驱动》是一种继承的关系。......【阅读全文】
发布时间:2013-09-17 08:51:22
本文的RTC使用I2C接口操作pcf8563,这里针对pcf8563对Linux的RTC框架进行分析。 Linux常见的驱动在driver目录下都有一个文件夹,进入kernel主目录下的drivers/rtc,发现下面包含了许多芯片的RTC驱动,我们这里是以pcf8563.........【阅读全文】
发布时间:2013-09-16 11:18:03
rtc-sysfs.c这个部分主要是有关sysfs的操作。在rtc_device_register函数中,rtc_sysfs_add_device(rtc);完成sys的操作。 void rtc_sysfs_add_device(struct rtc_device *rtc){ int err; /* not all RTCs support both alarms an.........【阅读全文】
发布时间:2013-09-16 09:59:25
在第一部分中,rtc_device_register函数调用了rtc-dev.c中的rtc_dev_prepare。 void rtc_dev_prepare(struct rtc_device *rtc) { if (!rtc_devt) return; if (rtc->id >= RTC_DEV_MAX).........【阅读全文】
发布时间:2013-09-12 15:05:59
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the member. * @type: &nbs.........【阅读全文】
发布时间: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都执行一次,本例只有一个.........【阅读全文】