自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

500

我写下的都是我思考的结果,均为亲身经历..

  • 博客(8)
  • 收藏
  • 关注

原创 插入usb之后发生了什么

源码赏析小实验/** 这个函数做了两件事情: 1 : 注册hub驱动 2 : 创建名为"khubd"的守护线程,它的作用是检测hub的状态变化。*/int usb_hub_init(void){ /** usb hub也是usb设备。驱动的注册和usb设备驱动的注册方式是一样的。 该函数最终是 :如果

2016-01-12 21:33:32 1748

原创 alsa子系统 <一>

入口函数static int __init alsa_sound_init(void){ //116 snd_major = major; snd_ecards_limit = cards_limit; /** 注册一个字符设备,主设备号为116. 这里设计的和input.c(input子系统的核心层)类似。 snd_

2016-01-12 20:33:23 1178

原创 中断子系统 <一>

源码欣赏/** 三个重要的数据结构: irq_desc 、irq_chip 、irqaction 这个函数主要做了两件事情: 1 : 根据传入的参数构建一个irqaction,并把这个irqaction添加到irq_desc的action链表 2 : 做一些初始化的工作,如: 设置中断触发方式、开启中断..............

2016-01-11 22:26:57 890

原创 等待队列 赏析

/** 如果被一个信号打断了,那么该函数将会返回-ERESTARTSYS*/#define wait_event_interruptible(wq, condition) \({ \ int __ret = 0; /** 如果condition为false,

2016-01-10 21:40:42 885

原创 内核工作队列 赏析

queue_work/** 向工作队列提交新的工作节点。*/int queue_work(struct workqueue_struct *wq, struct work_struct *work){ int ret; //调用了这个函数 ret = queue_work_on(get_cpu(), wq, work); put_cpu(); re

2016-01-10 13:03:32 1210

原创 spi子系统 赏析

未完待续

2016-01-09 21:04:52 627

原创 I2C的一些函数赏析

i2c总线先来一张g-sensor原理图 struct bus_type i2c_bus_type = { .name = "i2c", .match = i2c_device_match, /** 总线上提供了probe, 根据前面博文的浅析,匹配成功后,会优先调用总线提供的这个probe将会被调用。

2016-01-09 18:24:04 3673 2

原创 用户空间的open()是怎么调用到file_operations中提供的open函数的

未完待续

2016-01-08 20:32:38 2171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除