poll_dev 调试笔记

linux kernel 提供了轮询设备poll_dev机制,如果你想写一个用轮询方式的驱动,以前都是用定时器做的。。这个有些蹩脚了。。用这个poll_dev会很方便的。但是别忘了在调试阶段打开 Event Debugging选项,否则你就看不到你注册的那个轮询函数被调用了。因为poll_dev在注册的时候会注册一个open函数,这个函数是poll_dev架构实现的一个东西,如果上层要使用你注册的poll_dev则必须先打开你的这个poll_dev,而这个open里面实现了轮询所需的工作队列机制,所以只有这个open被调用了,你的轮询函数才能起作用!而Event Debugging 的实现中就调用了你的open。。。。。

你可能感兴趣的:(工作,linux,debugging)