media: i2c: lt6911uxc: add ioctl RKMODULE_GET_HDMI_MODE

Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: Iffde98bbf7529122e9c474ad91de03e949cbea22
This commit is contained in:
Jianwei Fan
2022-08-02 07:55:41 +00:00
committed by Tao Huang
parent 25f5becb7d
commit 6b4c37ce13

View File

@@ -956,6 +956,9 @@ static long lt6911uxc_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
case RKMODULE_GET_MODULE_INFO:
lt6911uxc_get_module_inf(lt6911uxc, (struct rkmodule_inf *)arg);
break;
case RKMODULE_GET_HDMI_MODE:
*(int *)arg = RKMODULE_HDMIIN_MODE;
break;
default:
ret = -ENOIOCTLCMD;
break;
@@ -971,6 +974,7 @@ static long lt6911uxc_compat_ioctl32(struct v4l2_subdev *sd,
void __user *up = compat_ptr(arg);
struct rkmodule_inf *inf;
long ret;
int *seq;
switch (cmd) {
case RKMODULE_GET_MODULE_INFO:
@@ -988,7 +992,21 @@ static long lt6911uxc_compat_ioctl32(struct v4l2_subdev *sd,
}
kfree(inf);
break;
case RKMODULE_GET_HDMI_MODE:
seq = kzalloc(sizeof(*seq), GFP_KERNEL);
if (!seq) {
ret = -ENOMEM;
return ret;
}
ret = lt6911uxc_ioctl(sd, cmd, seq);
if (!ret) {
ret = copy_to_user(up, seq, sizeof(*seq));
if (ret)
ret = -EFAULT;
}
kfree(seq);
break;
default:
ret = -ENOIOCTLCMD;
break;