| .. | .. |
|---|
| 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 = { |
|---|