linux内核
迷失自我_727
这个作者很懒,什么都没留下…
展开
-
linux 内核wait queue
在Linux驱动程序中,可以使用等待队列(waitqueue)来实现阻塞进程的唤醒。waitqueue很早就作为一种基本的功能单位出现在Linux内核里了,它以队列位基础数据结构,与进程调度机制紧密结合,能够用于实现内核中异步事件通知机制。等待队列可以用来同步对系统资源的访问。(信号量在内核中也依赖等待队列来实现)。 Linux-2.6提供如下关于等待队列的操作: (1) 定义转载 2014-10-06 16:30:02 · 546 阅读 · 0 评论 -
关于函数wait_event_interruptible(wq, condition)
wait_event_interruptible(wq, condition),该函数修改task的状态为TASK_INTERRUPTIBLE,意味着该进程将不会继续运行直到被唤醒,然后被添加到等待队列wq中。在wait_event_interruptible()中首先判断condition是不是已经满足,如果条件满足则直接返回0,否则调用__wait_event_interruptible(转载 2014-10-31 17:56:30 · 704 阅读 · 0 评论 -
Linux Kernel Panic报错解决思路
Linux虽然没有蓝屏现象,不过Kernel报错有时也会让人头疼。有时重启后正常,linux系统运行一段时间后又down了,总不能出现问题就reboot啊。我从网上搜集一下资料,整理了出来,希望大家能在评论与我交流您的看法与经验。什么是Kernel Panic?wiki:A kernel panic is an action taken by an operating sy转载 2014-11-06 10:48:24 · 32431 阅读 · 2 评论 -
register_chrdev_region && alloc_chrdev_region
在调用 cdev_add()函数向系统注册字符设备之前,应首先调用 register_chrdev_region()或 alloc_chrdev_region() 函数向系统申请设备号,这两个函数在 中可以找到,其原型是:引用int register_chrdev_region(dev_t first, unsigned int count, const char *name)转载 2014-12-13 16:41:08 · 1052 阅读 · 0 评论 -
regulator
struct regulator_config { struct device *dev; const struct regulator_init_data *init_data; void *driver_data; struct device_node *of_node; struct regmap *regmap; int ena_gpio; unsigned int ena原创 2016-07-19 20:07:06 · 1431 阅读 · 0 评论