mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
media: i2c: lt7911d: add ioctl RKMODULE_GET_HDMI_MODE
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com> Change-Id: Iedacb279f362651deaba63b44b05a974b1dc3448
This commit is contained in:
@@ -917,6 +917,9 @@ static long lt7911d_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
||||
case RKMODULE_GET_MODULE_INFO:
|
||||
lt7911d_get_module_inf(lt7911d, (struct rkmodule_inf *)arg);
|
||||
break;
|
||||
case RKMODULE_GET_HDMI_MODE:
|
||||
*(int *)arg = RKMODULE_HDMIIN_MODE;
|
||||
break;
|
||||
default:
|
||||
ret = -ENOIOCTLCMD;
|
||||
break;
|
||||
@@ -932,6 +935,7 @@ static long lt7911d_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:
|
||||
@@ -949,7 +953,21 @@ static long lt7911d_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 = lt7911d_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;
|
||||
|
||||
Reference in New Issue
Block a user