| .. | .. |
|---|
| 558 | 558 | struct imx323 *imx323 = to_imx323(sd); |
|---|
| 559 | 559 | const struct imx323_mode *mode = imx323->cur_mode; |
|---|
| 560 | 560 | |
|---|
| 561 | | - mutex_lock(&imx323->mutex); |
|---|
| 562 | 561 | fi->interval = mode->max_fps; |
|---|
| 563 | | - mutex_unlock(&imx323->mutex); |
|---|
| 564 | 562 | |
|---|
| 565 | 563 | return 0; |
|---|
| 566 | 564 | } |
|---|
| .. | .. |
|---|
| 706 | 704 | } |
|---|
| 707 | 705 | #endif |
|---|
| 708 | 706 | |
|---|
| 709 | | -static int imx323_g_mbus_config(struct v4l2_subdev *sd, |
|---|
| 707 | +static int imx323_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
|---|
| 710 | 708 | struct v4l2_mbus_config *config) |
|---|
| 711 | 709 | { |
|---|
| 712 | 710 | config->type = V4L2_MBUS_BT656; |
|---|
| .. | .. |
|---|
| 723 | 721 | if (fie->index >= ARRAY_SIZE(supported_modes)) |
|---|
| 724 | 722 | return -EINVAL; |
|---|
| 725 | 723 | |
|---|
| 726 | | - if (fie->code != PIX_FORMAT) |
|---|
| 727 | | - return -EINVAL; |
|---|
| 728 | | - |
|---|
| 724 | + fie->code = PIX_FORMAT; |
|---|
| 729 | 725 | fie->width = supported_modes[fie->index].width; |
|---|
| 730 | 726 | fie->height = supported_modes[fie->index].height; |
|---|
| 731 | 727 | fie->interval = supported_modes[fie->index].max_fps; |
|---|
| .. | .. |
|---|
| 753 | 749 | |
|---|
| 754 | 750 | static const struct v4l2_subdev_video_ops imx323_video_ops = { |
|---|
| 755 | 751 | .s_stream = imx323_s_stream, |
|---|
| 756 | | - .g_mbus_config = imx323_g_mbus_config, |
|---|
| 757 | 752 | .g_frame_interval = imx323_g_frame_interval, |
|---|
| 758 | 753 | }; |
|---|
| 759 | 754 | |
|---|
| .. | .. |
|---|
| 763 | 758 | .enum_frame_interval = imx323_enum_frame_interval, |
|---|
| 764 | 759 | .get_fmt = imx323_get_fmt, |
|---|
| 765 | 760 | .set_fmt = imx323_set_fmt, |
|---|
| 761 | + .get_mbus_config = imx323_g_mbus_config, |
|---|
| 766 | 762 | }; |
|---|
| 767 | 763 | |
|---|
| 768 | 764 | static const struct v4l2_subdev_ops imx323_subdev_ops = { |
|---|