我不熟悉Linux内核开发,但我负责更新内核驱动程序,以便它将返回可由应用程序读取的状态码。这将要求驱动程序每秒轮询硬件几次以查看发送的相机格式(PAL,NTSC或无)。Linux V4L驱动程序 - 轮询摄像头输入格式
但是,我对如何实现这一点感到茫然。我了解驱动程序如何与硬件进行通信,但我不明白如何将这些数据传递给应用程序。这种类型的行为是否需要使用ioctl()调用,或者这是一种读取文件操作?此外,如果应用程序正在调用IOCTL或读取函数,然后需要等待硬件响应,这是否会造成性能问题?
另外对于更多的信息,我正在研究2.6版本的内核。我正在按照“Linux设备驱动程序第三版”的方式工作,但没有任何关于如何解决此特定问题的突出内容。 LDD3使它听起来像ioctl(),仅用于向驱动程序发送命令。由于这是一个V4L驱动程序,打开的文件将返回图像数据,而不是我想要的状态信息,我想。