![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动程序
~kiss~
这个作者很懒,什么都没留下…
展开
-
del_timer_sync的替代品try_to_del_timer_sync
背景del_timer_sync 的kernel code 有个反例如注释为了解决这种死锁问题,采用 try_to_del_timer_sync/** * del_timer_sync - deactivate a timer and wait for the handler to finish. * @timer: the timer to be deactivated * * This function only differs from del_timer() on SMP: besid原创 2021-12-14 01:03:24 · 308 阅读 · 0 评论 -
timer
【示例】#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/device.h>#include <linux/cdev.h>#include <linux/kdev_t.h>#include <linux/interrupt.h>原创 2021-12-11 21:35:27 · 724 阅读 · 0 评论 -
kthread_stop问题探讨
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/device.h>#include <linux/cdev.h>#include <linux/kdev_t.h>#include <linux/interrupt.h>#incl原创 2021-12-05 00:47:07 · 3034 阅读 · 0 评论 -
poll-轮询
#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/ioctl.h>#include <unistd.h>#include <poll.h>int main(int argc, char **argv){ int i原创 2021-07-11 14:58:55 · 277 阅读 · 0 评论 -
debugfs的精妙接口
#include <linux/debugfs.h>#include <linux/delay.h>#include <linux/errno.h>#include <linux/fs.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/string.h>#include <linux/types.h>#inclu原创 2021-12-04 11:51:19 · 1632 阅读 · 0 评论 -
debugfs中私有数据的使用
#include <linux/debugfs.h>#include <linux/delay.h>#include <linux/errno.h>#include <linux/fs.h>#include <linux/kernel.h>#include <linux/list.h>#include <linux/module.h>#include <linux/mutex.h>#include原创 2021-11-30 00:46:38 · 553 阅读 · 0 评论 -
mmap初步学习
mmap学习#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/device.h>#include <linux/cdev.h>#include <linux/kdev_t.h>#include <linux/mm.h>#incl原创 2021-11-20 23:02:49 · 871 阅读 · 0 评论 -
kzalloc-vzalloc
kzalloc#include <linux/init.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/delay.h>#include <linux/kernel.h>#include <linux/printk.h>#define MY_PAGE_SIZE (1UL << 12)static void *virtual_原创 2021-11-14 23:53:58 · 1608 阅读 · 0 评论 -
delayed_work实例
#include <linux/ktime.h>#include <linux/timekeeping.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/workqueue.h>#include <linux/slab.h>struct my_demo { struct workqueue_struct *demo_workqueue;原创 2021-11-14 09:27:40 · 1412 阅读 · 0 评论 -
kernel_read和kernel_write实例
#include <linux/init.h>#include <linux/types.h>#include <linux/module.h>#include <linux/moduleparam.h>#include <linux/vmalloc.h>#include <linux/math64.h>#include <linux/slab.h>#include <linux/errno.h>原创 2021-11-14 00:12:58 · 9305 阅读 · 0 评论 -
module_param传递参数
#include <linux/moduleparam.h>#include <linux/module.h>// 在用户态下编程可以通过main()的来传递命令行参数// 编写一个内核模块则通过module_param()static char *global_name= "hello world"; static int global_count = 3;// 要传递的参数变量名, 变量的数据类型, 访问参数的权限。// 权限值:表示此参原创 2021-11-13 23:30:40 · 622 阅读 · 0 评论 -
sys-kernel-fs的调试
学习博客:https://blog.csdn.net/mary0712/article/details/114410105#include <linux/kobject.h>#include <linux/string.h>#include <linux/sysfs.h>#include <linux/module.h>#include <linux/init.h>static int foo;static int baz;sta原创 2021-11-13 16:06:40 · 756 阅读 · 0 评论 -
一个简单的字符设备
insmod cdev_hello.kolsmod | grep -iE "cdev_hello"rmmod cdev_hello#include <linux/init.h>#include <linux/module.h>#include <linux/kdev_t.h>#include <linux/fs.h>#include <linux/cdev.h>#include <linux/uaccess.h>#i原创 2021-06-26 20:55:07 · 126 阅读 · 0 评论