1.mod_timer(&(led_device.blink_timer), jiffies + TIMER_TIMEOUT
其中解释jiffies:jiffies为Linux核心变数,每发生一次timer interrupt,jiffies变数就会被加一。
值得注意的是,jiffies在系统开机时,并非初始化成零,而是被—300*HZ,代表着系统在开机五分钟后,jiffies会溢位。
全局变量jiffies取值自操作系统启动以来的时钟滴答的数目,在头文件<linux/sched.h>中定义,数据类型为unsigned long volatile.
2.pdev = container_of(inode->i_cdev,struct led_device, cdev);
container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,
通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。
3.在使用Makefile编译驱动程序是要注意其中的头文件添加 ,需要添加 plat_ioctl.h , s3c_driver.h 这两个头文件。
读者在了解platform_led驱动的中途有什么问题欢迎评论。