request_threaded_irq()
来源:互联网 发布:mac系统的剪切快捷键 编辑:程序博客网 时间:2024/06/01 07:43
今天在跟marvell沟通问题的时候,觉得有些地方的代码看得不够仔细,于是细看了一下。发现了几个请求中断的函数。
request_threaded_irq,这个函数在内核中有注释,参数有好多,大概参数有handler,这是要指定的中断处理函数,thread_fn是要在内核线程中调用的函数,还有申请中断的flag,有SHARED共享,共享时dev_id不能为空,因为要在释放irq时区别共享的中断,这个dev_id一般为某个info,ONESHOT(这个线程函数thread_fn执行前关闭这个中断)。
当handler为空时,使用默认的处理,看到代码里申请内核线程方式的中断的时候直接把handler置为NULL,中断发生应该是直接把thread_fn扔到内核线程中让它去调用,申请时用了ONESHOT,也就是调用thread_fn时关闭了这个中断。这种扔到内核线程的方法其实很不错,放到了下半部去处理。让我想起了前段时候给marvell提的问题,看到他们在中断处理中用了mutex_lock互斥锁,当时别人也没有仔细看,说这个不行,让我提个问题,结果marvell的工程师说这是在下半部里面,才发现,啊,确实是在下半部里,大家都傻B了。
再看看request_irq,原来这个函数是对request_thread_irq的封装,它给request_thread_irq的thread_fn参数传进了一个NULL,也就是只申请中断处理函数,不要thread_fn,看来这样确实有点合适啊,哈哈。
扯来扯去,扯了一大篇了,哈哈。
今天弄高通8的问题,rpc啊,弄得不知道它用rpc传了些啥数据,蛋疼。。。
对了,今天早上去的时候还想弄弄那个触摸屏按键的长按问题,本来前段时间把那个驱动的代码基本重写了一遍,后来发现还是没有实现这个功能,今天早上又突发奇想,在evkeybit上或了一个EV_REP,想试试行不行,没找到手机,所以就没有试,哈哈。不过这个功能也不是特别需要吧。
- request_threaded_irq
- request_threaded_irq()
- request_threaded_irq
- request_threaded_irq
- request_threaded_irq()
- request_threaded_irq()
- request_threaded_irq()
- request_threaded_irq()
- request_threaded_irq()解读
- request_threaded_irq函数
- Linux中断关于 request_threaded_irq
- Linux中断关于 request_threaded_irq
- linux驱动request_threaded_irq()
- request_threaded_irq vs request_irq
- request_threaded_irq----中断线程化
- linux驱动request_threaded_irq
- linux中断申请之request_threaded_irq
- linux中断申请之request_threaded_irq
- Android WakeLock电源管理
- db2 查看执行计划
- c\c++复习基础要点05---assert断言及其自定义实现
- JQuery获取选中的radio
- MySQL的优化步骤总结
- request_threaded_irq()
- Python源码学习(四)-builtins模块的初始化
- 中断请求request_irq
- 站长工具包,站长必备工具,SEO查询工具,统计工具
- OWI监控和收集方法——将database logoff trigger用作数据收集器(1)
- extends 继承
- Java守护线程
- Jquery选中或取消radio
- mysql调优三步曲(慢查询、explain profile)