linux驱动
leesagacious
500 !
展开
-
xhci usb trb --- linux kernel 偶现bug、优化、增强 欣赏.
这幅图看着如何?😄.原创 2024-06-18 22:23:06 · 88 阅读 · 0 评论 -
论gpio --- Linux kernel 实现欣赏
gpio原创 2023-04-18 00:26:51 · 131 阅读 · 0 评论 -
论 SPI 架构(hw+sw) --- Linux kernel 实现欣赏
spi原创 2023-02-23 22:14:52 · 326 阅读 · 0 评论 -
一致性DMA --- linux kernel 实现赏析
linux dma原创 2022-11-05 19:51:37 · 289 阅读 · 0 评论 -
phy state machine 与 rate --- linux kernel 欣赏
欣赏linux phy 实现之美原创 2022-10-10 22:48:51 · 286 阅读 · 0 评论 -
scheduler 与 power mangement 的关系 --- linux kernel 实现之美
scheduler 与 power mangement 的关系 --- linux kernel 实现之美。原创 2022-08-28 15:02:16 · 121 阅读 · 0 评论 -
cpufreq 调频 --- linux kernel 实现赏析
Linux cpufreq 子系统.原创 2022-07-11 16:10:43 · 757 阅读 · 3 评论 -
pcie ecam --- Linux kernel 实现欣赏
原创 2022-05-25 20:28:43 · 400 阅读 · 0 评论 -
sugov 调频 --- Linux kernel实现欣赏
待上传.static int sugov_init(struct cpufreq_policy *policy){}原创 2022-04-29 22:07:02 · 815 阅读 · 0 评论 -
arch_sys_timer --- Linux kernel 欣赏
待上传.原创 2022-03-30 21:46:52 · 163 阅读 · 0 评论 -
锁的实现与实时性 -- Linux kernel 实现之美
待上传原创 2022-02-28 08:27:27 · 81 阅读 · 0 评论 -
cpu hotplug 架构 --- Linux Kernel 实现之美
cpu从offline到online 是一个循序渐进的过程,崎岖坎坷, 包含了时钟、软中断、cpufreq … 多个模块的处理, 就像一个人跨越社会阶层一样. 不是一蹴而就的.ok, 如果你偏要杠精说女生嫁人实现跃迁是一蹴而就, 那应该是生育议价权的原因, 学习高考从村庄到城市的跃迁是十年学习的过程, 彩票一夜暴富实现财富突然增长绝对不是, …...原创 2022-01-19 00:21:01 · 2930 阅读 · 2 评论 -
NIC 与 DDM --- Linux kernel 实现赏析
原创 2021-12-31 18:37:33 · 642 阅读 · 0 评论 -
CPUFreq --- Linux kernel赏析
待上传原创 2021-11-30 20:14:28 · 684 阅读 · 0 评论 -
PCIe 热插拔 --- Linux Kernel 实现赏析
待上传原创 2021-10-31 21:10:12 · 518 阅读 · 0 评论 -
zynq Ethernet device driver --- Linux kernel 实现欣赏
/** * 这些code 在 kernel中是怎么添加的、probe remove pm 是怎么被调用的,大家都十分熟悉了, * 这里就不在赘述了. 详情参考 : * https://blog.csdn.net/leesagacious/article/details/48306889 * https://blog.csdn.net/leesagacious/article/details/50246789 */static struct platform_dr原创 2021-09-22 22:16:38 · 658 阅读 · 0 评论 -
msi-x 机制 --- linux kernel 实现欣赏
待上传.原创 2021-08-31 20:31:34 · 505 阅读 · 0 评论 -
pci --- linux kernel 实现欣赏
待上传原创 2020-05-26 12:59:02 · 149 阅读 · 0 评论 -
cmdline 的精妙设计 --- Linux Kernel 欣赏
待上传.原创 2020-01-30 19:41:42 · 192 阅读 · 0 评论 -
Linux Kernel -- 一定要让你明白 dts 的转换过程
待上传原创 2019-12-25 16:16:17 · 747 阅读 · 6 评论 -
Linux Kernel --- device driver mode 架构之美
待上传原创 2019-11-26 21:49:08 · 614 阅读 · 0 评论 -
原子操作与混杂设备
leesagacious 原创,欢迎转载!原创 2015-09-11 22:27:29 · 712 阅读 · 0 评论 -
input_open_file()浅析
/* 当用户空间调用open()的时候,这个函数最终会被调用。 这个函数主要: 将打开文件的f_op替换成了input_handler中定义的fops 以后的函数,使用file的f_op就是使用input_handler中定义的fops. 这个函数和v4l2、framebuffer子系统中的open函数有点类似 .原创 2015-12-10 10:12:50 · 2062 阅读 · 0 评论 -
设备驱动模型之USB
未完待续原创 2015-12-28 13:10:59 · 694 阅读 · 0 评论 -
v4l2中ioctl的调用流程
leesagacious 原创,欢迎转载 vivi入口函数: vivi_init( )vivi_init(void) static int __init vivi_init(void) { ..... for(i = 0;i < n_devs;i++){ //这里的n_devs的值是 1 //调用了这个函数,来创建设备原创 2015-09-21 16:04:21 · 4566 阅读 · 0 评论 -
usbkbd.c浅析
先看入口函数usb_kbd_init/** 在入口函数中,只做了注册键盘驱动 一件事情。*/static int __init usb_kbd_init(void){ /** 既然是注册驱动,那么底层一定会经过driver_register()这个函数。 优先会调用bus上提供的probe()函数(原理:请见我的另一篇博文) 如果b原创 2015-12-12 21:37:25 · 1295 阅读 · 0 评论 -
异步IO
未完待续原创 2015-12-13 13:36:44 · 579 阅读 · 0 评论 -
vivi.c中的调用流程
LeeSagacious 原创,欢迎转载。谢谢———-` .在vivi_init( )的时候, *vfd = vivi_tempate 并依据次设备号为下标放入到了video_device[ ]中 ,在open—>v4l2_open、read—>v4l2_read 函数调用的时候,从video_device[ ]中依据次设备号取出来vivi_tempate,调用的是vivi_tempate->原创 2015-09-06 15:02:29 · 1557 阅读 · 2 评论 -
记录kernel lcd驱动 register_framebuffer中的一个bug
未完待续原创 2015-12-26 22:56:49 · 2025 阅读 · 0 评论 -
input_register_device()浅析
/**input系统中,分为: 设备驱动层 核心层 事件处理层 将 input_dev结构体(表示一个输入设备) 注册到 核心层. 注意: 1: 这个input_dev必需由input_allocate_device()函数来分配原创 2015-12-08 16:57:12 · 4831 阅读 · 0 评论 -
vidioc_reqbufs
leesagacious原创,欢迎转载 先看一个结构体 struct v4l2_requestbuffers 先看第一个成员:count 它表示请求分配或者得到的buffer的数量。 在用户空间构造此结构体时,count的值必需大于1的整数,如果操作了32,那么系统最多会分配32个,一下是源码证明: 用户空间发送命令VIDIOC_REQBUFS命令的ioctl,会调用内核的下面这个方法原创 2015-09-23 17:02:01 · 1914 阅读 · 0 评论 -
为什么说fb_info->node 是设备的次设备号
struct fb_info{ int node; //设备的次设备号 int flags; struct mutex lock; struct mutex mm_lock; struct fb_var_screeninfo var; struct fb_fix_screeninfo fix; ......};成员 : in原创 2015-12-28 12:54:30 · 1163 阅读 · 0 评论 -
led_class浅析
未完待续原创 2015-11-26 23:31:08 · 927 阅读 · 0 评论 -
input子系统 事件流程浅析
事件(struct input_event)从设备驱动层 –> 核心层—>事件处理层的经过 struct input_event { struct timeval time; //事件发生的时间 __u16 type; //事件的类型 __u16 code; //事件的代码 __s32 value; //事件的值}原创 2015-12-05 23:44:32 · 2557 阅读 · 0 评论 -
kobject的浅析
struct kobject { //kobject的名字,这个名字将显示在sysfs文件系统中,作为一个目录的名字。 const char *name; //用于将该kobject链接到它所属的kset下的kobject链表中 //kset维护了一个链表。包含在该kset下的所有kobject被组织成一个双向的循环链表 struct l原创 2015-12-02 20:43:20 · 987 阅读 · 0 评论 -
为什么说设备的引用计数为0时,系统会自动调用它的release函数
调用顺序:/** 在前面的博文“kobject浅析”中,我们知道设备的引用计数是由 嵌套在kobject中的struct kref来决定的 struct kref { atomic_t refcount;//当它的值为0的时候,kobject的生命周期就结束了,release会被调用 }; */static struct ploatform_dev原创 2015-12-10 10:59:34 · 1678 阅读 · 0 评论 -
device_add()浅析
未完待续原创 2015-12-14 17:01:34 · 1941 阅读 · 0 评论 -
平台设备驱动中的prob是怎么被调用的?为什么说是bus提供的probe优先调用?
LeeSagacious 原创,欢迎转载!原创 2015-09-09 03:13:22 · 1661 阅读 · 0 评论 -
简单的分析了fb_read函数。
leesagacious原创,欢迎转载。原创 2015-09-17 22:15:10 · 1428 阅读 · 0 评论 -
input_register_handler()解析
leesagacious 原创,欢迎转载!原创 2015-09-09 00:40:58 · 2896 阅读 · 0 评论