| .. | .. |
|---|
| 664 | 664 | struct jpu_ctx *ctx = fh_to_ctx(priv); |
|---|
| 665 | 665 | |
|---|
| 666 | 666 | if (ctx->encoder) |
|---|
| 667 | | - strlcpy(cap->card, DRV_NAME " encoder", sizeof(cap->card)); |
|---|
| 667 | + strscpy(cap->card, DRV_NAME " encoder", sizeof(cap->card)); |
|---|
| 668 | 668 | else |
|---|
| 669 | | - strlcpy(cap->card, DRV_NAME " decoder", sizeof(cap->card)); |
|---|
| 669 | + strscpy(cap->card, DRV_NAME " decoder", sizeof(cap->card)); |
|---|
| 670 | 670 | |
|---|
| 671 | | - strlcpy(cap->driver, DRV_NAME, sizeof(cap->driver)); |
|---|
| 671 | + strscpy(cap->driver, DRV_NAME, sizeof(cap->driver)); |
|---|
| 672 | 672 | snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s", |
|---|
| 673 | 673 | dev_name(ctx->jpu->dev)); |
|---|
| 674 | | - cap->device_caps |= V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M_MPLANE; |
|---|
| 675 | | - cap->capabilities = V4L2_CAP_DEVICE_CAPS | cap->device_caps; |
|---|
| 676 | 674 | memset(cap->reserved, 0, sizeof(cap->reserved)); |
|---|
| 677 | 675 | |
|---|
| 678 | 676 | return 0; |
|---|
| .. | .. |
|---|
| 948 | 946 | static const struct v4l2_ioctl_ops jpu_ioctl_ops = { |
|---|
| 949 | 947 | .vidioc_querycap = jpu_querycap, |
|---|
| 950 | 948 | |
|---|
| 951 | | - .vidioc_enum_fmt_vid_cap_mplane = jpu_enum_fmt_cap, |
|---|
| 952 | | - .vidioc_enum_fmt_vid_out_mplane = jpu_enum_fmt_out, |
|---|
| 949 | + .vidioc_enum_fmt_vid_cap = jpu_enum_fmt_cap, |
|---|
| 950 | + .vidioc_enum_fmt_vid_out = jpu_enum_fmt_out, |
|---|
| 953 | 951 | .vidioc_g_fmt_vid_cap_mplane = jpu_g_fmt, |
|---|
| 954 | 952 | .vidioc_g_fmt_vid_out_mplane = jpu_g_fmt, |
|---|
| 955 | 953 | .vidioc_try_fmt_vid_cap_mplane = jpu_try_fmt, |
|---|
| .. | .. |
|---|
| 1068 | 1066 | } |
|---|
| 1069 | 1067 | |
|---|
| 1070 | 1068 | /* decoder capture queue */ |
|---|
| 1071 | | - if (!ctx->encoder && !V4L2_TYPE_IS_OUTPUT(vb->vb2_queue->type)) |
|---|
| 1069 | + if (!ctx->encoder && V4L2_TYPE_IS_CAPTURE(vb->vb2_queue->type)) |
|---|
| 1072 | 1070 | vb2_set_plane_payload(vb, i, size); |
|---|
| 1073 | 1071 | } |
|---|
| 1074 | 1072 | |
|---|
| .. | .. |
|---|
| 1654 | 1652 | for (i = 0; i < JPU_MAX_QUALITY; i++) |
|---|
| 1655 | 1653 | jpu_generate_hdr(i, (unsigned char *)jpeg_hdrs[i]); |
|---|
| 1656 | 1654 | |
|---|
| 1657 | | - strlcpy(jpu->vfd_encoder.name, DRV_NAME, sizeof(jpu->vfd_encoder.name)); |
|---|
| 1655 | + strscpy(jpu->vfd_encoder.name, DRV_NAME, sizeof(jpu->vfd_encoder.name)); |
|---|
| 1658 | 1656 | jpu->vfd_encoder.fops = &jpu_fops; |
|---|
| 1659 | 1657 | jpu->vfd_encoder.ioctl_ops = &jpu_ioctl_ops; |
|---|
| 1660 | 1658 | jpu->vfd_encoder.minor = -1; |
|---|
| .. | .. |
|---|
| 1662 | 1660 | jpu->vfd_encoder.lock = &jpu->mutex; |
|---|
| 1663 | 1661 | jpu->vfd_encoder.v4l2_dev = &jpu->v4l2_dev; |
|---|
| 1664 | 1662 | jpu->vfd_encoder.vfl_dir = VFL_DIR_M2M; |
|---|
| 1663 | + jpu->vfd_encoder.device_caps = V4L2_CAP_STREAMING | |
|---|
| 1664 | + V4L2_CAP_VIDEO_M2M_MPLANE; |
|---|
| 1665 | 1665 | |
|---|
| 1666 | | - ret = video_register_device(&jpu->vfd_encoder, VFL_TYPE_GRABBER, -1); |
|---|
| 1666 | + ret = video_register_device(&jpu->vfd_encoder, VFL_TYPE_VIDEO, -1); |
|---|
| 1667 | 1667 | if (ret) { |
|---|
| 1668 | 1668 | v4l2_err(&jpu->v4l2_dev, "Failed to register video device\n"); |
|---|
| 1669 | 1669 | goto m2m_init_rollback; |
|---|
| .. | .. |
|---|
| 1671 | 1671 | |
|---|
| 1672 | 1672 | video_set_drvdata(&jpu->vfd_encoder, jpu); |
|---|
| 1673 | 1673 | |
|---|
| 1674 | | - strlcpy(jpu->vfd_decoder.name, DRV_NAME, sizeof(jpu->vfd_decoder.name)); |
|---|
| 1674 | + strscpy(jpu->vfd_decoder.name, DRV_NAME, sizeof(jpu->vfd_decoder.name)); |
|---|
| 1675 | 1675 | jpu->vfd_decoder.fops = &jpu_fops; |
|---|
| 1676 | 1676 | jpu->vfd_decoder.ioctl_ops = &jpu_ioctl_ops; |
|---|
| 1677 | 1677 | jpu->vfd_decoder.minor = -1; |
|---|
| .. | .. |
|---|
| 1679 | 1679 | jpu->vfd_decoder.lock = &jpu->mutex; |
|---|
| 1680 | 1680 | jpu->vfd_decoder.v4l2_dev = &jpu->v4l2_dev; |
|---|
| 1681 | 1681 | jpu->vfd_decoder.vfl_dir = VFL_DIR_M2M; |
|---|
| 1682 | + jpu->vfd_decoder.device_caps = V4L2_CAP_STREAMING | |
|---|
| 1683 | + V4L2_CAP_VIDEO_M2M_MPLANE; |
|---|
| 1682 | 1684 | |
|---|
| 1683 | | - ret = video_register_device(&jpu->vfd_decoder, VFL_TYPE_GRABBER, -1); |
|---|
| 1685 | + ret = video_register_device(&jpu->vfd_decoder, VFL_TYPE_VIDEO, -1); |
|---|
| 1684 | 1686 | if (ret) { |
|---|
| 1685 | 1687 | v4l2_err(&jpu->v4l2_dev, "Failed to register video device\n"); |
|---|
| 1686 | 1688 | goto enc_vdev_register_rollback; |
|---|