media: i2c: tc35874x: add RKMODULE_GET_HDMI_MODE ioctl

Change-Id: Ia3952f78b03c7947de8f94174f35180e2d32c270
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
This commit is contained in:
Jianwei Fan
2024-08-23 11:42:21 +08:00
committed by Tao Huang
parent 1a5486e7e7
commit 5d9b65e8a7

View File

@@ -1954,6 +1954,9 @@ static long tc35874x_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
case RKMODULE_GET_MODULE_INFO:
tc35874x_get_module_inf(tc35874x, (struct rkmodule_inf *)arg);
break;
case RKMODULE_GET_HDMI_MODE:
*(int *)arg = RKMODULE_HDMIIN_MODE;
break;
default:
ret = -ENOIOCTLCMD;
break;
@@ -1970,6 +1973,7 @@ static long tc35874x_compat_ioctl32(struct v4l2_subdev *sd,
struct rkmodule_inf *inf;
struct rkmodule_awb_cfg *cfg;
long ret;
int *seq;
switch (cmd) {
case RKMODULE_GET_MODULE_INFO:
@@ -2001,6 +2005,21 @@ static long tc35874x_compat_ioctl32(struct v4l2_subdev *sd,
ret = -EFAULT;
kfree(cfg);
break;
case RKMODULE_GET_HDMI_MODE:
seq = kzalloc(sizeof(*seq), GFP_KERNEL);
if (!seq) {
ret = -ENOMEM;
return ret;
}
ret = tc35874x_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;