在v4l2 subdev驱动程序中添加新的ioctl调用

时间:2018-11-27 10:46:31

标签: new-operator ioctl

我们当前正在使用ov490 i2c subdev驱动程序。我们想在传感器中添加新功能,因此我们需要在v4l2框架中添加额外的ioctl。因此,我们在“ v4l2_subdev_core_ops”中添加了以下ioctl。

static const struct v4l2_subdev_core_ops ov490_core_ops = {

    .log_status     = v4l2_ctrl_subdev_log_status,
    .subscribe_event    = v4l2_ctrl_subdev_subscribe_event,
    .unsubscribe_event  = v4l2_event_subdev_unsubscribe,
    .ioctl          = ov490_ioctl,
    };

ov490_ioctl功能如下。

static long ov490_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg) {

printk("%d - %s() \n", __LINE__, __FUNCTION__ );

switch (cmd) {

    case OV490_EXPOSURE:

        return ov490_exposure(sd, (struct ov490_exposure *)arg);

    default:

        return -EINVAL;

    }

    return 0;
}

我们使用的是4.9.59内核版本。 如何检查以上设置是否正确,还是我们错过了什么?

0 个答案:

没有答案