.. | .. |
---|
667 | 667 | struct ov9281 *ov9281 = to_ov9281(sd); |
---|
668 | 668 | const struct ov9281_mode *mode = ov9281->cur_mode; |
---|
669 | 669 | |
---|
670 | | - mutex_lock(&ov9281->mutex); |
---|
671 | 670 | fi->interval = mode->max_fps; |
---|
672 | | - mutex_unlock(&ov9281->mutex); |
---|
673 | 671 | |
---|
674 | 672 | return 0; |
---|
675 | 673 | } |
---|
.. | .. |
---|
1012 | 1010 | return 0; |
---|
1013 | 1011 | } |
---|
1014 | 1012 | |
---|
1015 | | -static int ov9281_g_mbus_config(struct v4l2_subdev *sd, |
---|
| 1013 | +static int ov9281_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
---|
1016 | 1014 | struct v4l2_mbus_config *config) |
---|
1017 | 1015 | { |
---|
1018 | 1016 | u32 val = 0; |
---|
.. | .. |
---|
1020 | 1018 | val = 1 << (OV9281_LANES - 1) | |
---|
1021 | 1019 | V4L2_MBUS_CSI2_CHANNEL_0 | |
---|
1022 | 1020 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; |
---|
1023 | | - config->type = V4L2_MBUS_CSI2; |
---|
| 1021 | + config->type = V4L2_MBUS_CSI2_DPHY; |
---|
1024 | 1022 | config->flags = val; |
---|
1025 | 1023 | |
---|
1026 | 1024 | return 0; |
---|
.. | .. |
---|
1048 | 1046 | static const struct v4l2_subdev_video_ops ov9281_video_ops = { |
---|
1049 | 1047 | .s_stream = ov9281_s_stream, |
---|
1050 | 1048 | .g_frame_interval = ov9281_g_frame_interval, |
---|
1051 | | - .g_mbus_config = ov9281_g_mbus_config, |
---|
1052 | 1049 | }; |
---|
1053 | 1050 | |
---|
1054 | 1051 | static const struct v4l2_subdev_pad_ops ov9281_pad_ops = { |
---|
.. | .. |
---|
1057 | 1054 | .enum_frame_interval = ov9281_enum_frame_interval, |
---|
1058 | 1055 | .get_fmt = ov9281_get_fmt, |
---|
1059 | 1056 | .set_fmt = ov9281_set_fmt, |
---|
| 1057 | + .get_mbus_config = ov9281_g_mbus_config, |
---|
1060 | 1058 | }; |
---|
1061 | 1059 | |
---|
1062 | 1060 | static const struct v4l2_subdev_ops ov9281_subdev_ops = { |
---|