В настоящее время мы используем драйвер ov490 i2c subdev.мы хотим добавить новую функциональность в наш сенсор, для этого нам нужно добавить дополнительный ioctl в платформу v4l2.поэтому для этого мы добавили ioctl ниже в "v4l2_subdev_core_ops".
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.Как проверить правильность вышеуказанных настроек или все же мы что-то пропустили?