| .. | .. |
|---|
| 93 | 93 | |
|---|
| 94 | 94 | #define to_gc02m2(sd) container_of(sd, struct gc02m2, subdev) |
|---|
| 95 | 95 | |
|---|
| 96 | | -enum gc02m2_max_pad { |
|---|
| 97 | | - PAD0, |
|---|
| 98 | | - PAD_MAX, |
|---|
| 99 | | -}; |
|---|
| 100 | | - |
|---|
| 101 | 96 | struct regval { |
|---|
| 102 | 97 | u8 addr; |
|---|
| 103 | 98 | u8 val; |
|---|
| .. | .. |
|---|
| 606 | 601 | struct gc02m2 *gc02m2 = to_gc02m2(sd); |
|---|
| 607 | 602 | const struct gc02m2_mode *mode = gc02m2->cur_mode; |
|---|
| 608 | 603 | |
|---|
| 609 | | - mutex_lock(&gc02m2->mutex); |
|---|
| 610 | 604 | fi->interval = mode->max_fps; |
|---|
| 611 | | - mutex_unlock(&gc02m2->mutex); |
|---|
| 612 | 605 | |
|---|
| 613 | 606 | return 0; |
|---|
| 614 | 607 | } |
|---|
| .. | .. |
|---|
| 975 | 968 | } |
|---|
| 976 | 969 | #endif |
|---|
| 977 | 970 | |
|---|
| 978 | | -static int gc02m2_g_mbus_config(struct v4l2_subdev *sd, |
|---|
| 971 | +static int gc02m2_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
|---|
| 979 | 972 | struct v4l2_mbus_config *config) |
|---|
| 980 | 973 | { |
|---|
| 981 | 974 | struct gc02m2 *gc02m2 = to_gc02m2(sd); |
|---|
| .. | .. |
|---|
| 987 | 980 | V4L2_MBUS_CSI2_CHANNEL_0 | |
|---|
| 988 | 981 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; |
|---|
| 989 | 982 | |
|---|
| 990 | | - config->type = V4L2_MBUS_CSI2; |
|---|
| 983 | + config->type = V4L2_MBUS_CSI2_DPHY; |
|---|
| 991 | 984 | config->flags = val; |
|---|
| 992 | 985 | return 0; |
|---|
| 993 | 986 | } |
|---|
| .. | .. |
|---|
| 1029 | 1022 | static const struct v4l2_subdev_video_ops gc02m2_video_ops = { |
|---|
| 1030 | 1023 | .s_stream = gc02m2_s_stream, |
|---|
| 1031 | 1024 | .g_frame_interval = gc02m2_g_frame_interval, |
|---|
| 1032 | | - .g_mbus_config = gc02m2_g_mbus_config, |
|---|
| 1033 | 1025 | }; |
|---|
| 1034 | 1026 | |
|---|
| 1035 | 1027 | static const struct v4l2_subdev_pad_ops gc02m2_pad_ops = { |
|---|
| .. | .. |
|---|
| 1038 | 1030 | .enum_frame_interval = gc02m2_enum_frame_interval, |
|---|
| 1039 | 1031 | .get_fmt = gc02m2_get_fmt, |
|---|
| 1040 | 1032 | .set_fmt = gc02m2_set_fmt, |
|---|
| 1033 | + .get_mbus_config = gc02m2_g_mbus_config, |
|---|
| 1041 | 1034 | }; |
|---|
| 1042 | 1035 | |
|---|
| 1043 | 1036 | static const struct v4l2_subdev_ops gc02m2_subdev_ops = { |
|---|