| .. | .. |
|---|
| 110 | 110 | |
|---|
| 111 | 111 | #define OV2718_NAME "ov2718" |
|---|
| 112 | 112 | |
|---|
| 113 | | -enum ov2718_max_pad { |
|---|
| 114 | | - PAD0, /* link to isp */ |
|---|
| 115 | | - PAD1, /* link to csi wr0 | hdr x2:L x3:M */ |
|---|
| 116 | | - PAD2, /* link to csi wr1 | hdr x3:L */ |
|---|
| 117 | | - PAD3, /* link to csi wr2 | hdr x2:M x3:S */ |
|---|
| 118 | | - PAD_MAX, |
|---|
| 119 | | -}; |
|---|
| 120 | | - |
|---|
| 121 | 113 | struct ov2718_gpio { |
|---|
| 122 | 114 | int pltfrm_gpio; |
|---|
| 123 | 115 | const char *label; |
|---|
| .. | .. |
|---|
| 7921 | 7913 | struct ov2718 *ov2718 = to_ov2718(sd); |
|---|
| 7922 | 7914 | const struct ov2718_mode *mode = ov2718->cur_mode; |
|---|
| 7923 | 7915 | |
|---|
| 7924 | | - mutex_lock(&ov2718->mutex); |
|---|
| 7925 | 7916 | fi->interval = mode->max_fps; |
|---|
| 7926 | | - mutex_unlock(&ov2718->mutex); |
|---|
| 7927 | 7917 | |
|---|
| 7928 | 7918 | return 0; |
|---|
| 7929 | 7919 | } |
|---|
| .. | .. |
|---|
| 7998 | 7988 | } |
|---|
| 7999 | 7989 | } |
|---|
| 8000 | 7990 | |
|---|
| 8001 | | -static int ov2718_g_mbus_config(struct v4l2_subdev *sd, |
|---|
| 7991 | +static int ov2718_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
|---|
| 8002 | 7992 | struct v4l2_mbus_config *config) |
|---|
| 8003 | 7993 | { |
|---|
| 8004 | 7994 | struct ov2718 *ov2718 = to_ov2718(sd); |
|---|
| .. | .. |
|---|
| 8015 | 8005 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK | |
|---|
| 8016 | 8006 | V4L2_MBUS_CSI2_CHANNEL_1; |
|---|
| 8017 | 8007 | |
|---|
| 8018 | | - config->type = V4L2_MBUS_CSI2; |
|---|
| 8008 | + config->type = V4L2_MBUS_CSI2_DPHY; |
|---|
| 8019 | 8009 | config->flags = val; |
|---|
| 8020 | 8010 | |
|---|
| 8021 | 8011 | return 0; |
|---|
| .. | .. |
|---|
| 8572 | 8562 | static const struct v4l2_subdev_video_ops ov2718_video_ops = { |
|---|
| 8573 | 8563 | .s_stream = ov2718_s_stream, |
|---|
| 8574 | 8564 | .g_frame_interval = ov2718_g_frame_interval, |
|---|
| 8575 | | - .g_mbus_config = ov2718_g_mbus_config, |
|---|
| 8576 | 8565 | }; |
|---|
| 8577 | 8566 | |
|---|
| 8578 | 8567 | static const struct v4l2_subdev_pad_ops ov2718_pad_ops = { |
|---|
| .. | .. |
|---|
| 8581 | 8570 | .enum_frame_interval = ov2718_enum_frame_interval, |
|---|
| 8582 | 8571 | .get_fmt = ov2718_get_fmt, |
|---|
| 8583 | 8572 | .set_fmt = ov2718_set_fmt, |
|---|
| 8573 | + .get_mbus_config = ov2718_g_mbus_config, |
|---|
| 8584 | 8574 | }; |
|---|
| 8585 | 8575 | |
|---|
| 8586 | 8576 | static const struct v4l2_subdev_core_ops ov2718_core_ops = { |
|---|