大家好,我正在编写一个v4l2驱动程序,用于控制一个使用串行接口进行配置的摄像头。我希望驱动程序能够对摄像头进行配置,这样可以使得客户端代码在不同型号的摄像头上保持一致。我的问题是:从驱动模块中访问相机的串行接口最佳方式是什么?
根据我所了解的情况,从内核驱动程序中访问文件是不可取的,但这确实是可行的。因此,目前我正在使用以下代码片段,但感觉这是一种hack方法。
oldfs = get_fs();
set_fs(KERNEL_DS);
fd->f_pos=0;
fd->f_op->write(fd, data, data_len, &fd->f_pos);
set_fs(oldfs);
我的问题实际上是:这该怎么做才是正确的?