mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
media: i2c: rk628: add RKMODULE_GET_DSI_MODE ioctl for dsi mode
Change-Id: I47e642c5535469c6df0d0a2252613b6585bc124d Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
This commit is contained in:
@@ -2249,6 +2249,9 @@ static long rk628_csi_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
||||
case RK_HDMIRX_CMD_GET_COLOR_SPACE:
|
||||
*(int *)arg = rk628_hdmirx_get_color_space(csi->rk628);
|
||||
break;
|
||||
case RKMODULE_GET_DSI_MODE:
|
||||
*(int *)arg = csi->dsi.vid_mode;
|
||||
break;
|
||||
default:
|
||||
ret = -ENOIOCTLCMD;
|
||||
break;
|
||||
@@ -2533,6 +2536,7 @@ static long rk628_csi_compat_ioctl32(struct v4l2_subdev *sd,
|
||||
}
|
||||
kfree(seq);
|
||||
break;
|
||||
|
||||
case RK_HDMIRX_CMD_GET_COLOR_SPACE:
|
||||
seq = kzalloc(sizeof(*seq), GFP_KERNEL);
|
||||
if (!seq) {
|
||||
@@ -2547,6 +2551,20 @@ static long rk628_csi_compat_ioctl32(struct v4l2_subdev *sd,
|
||||
}
|
||||
kfree(seq);
|
||||
break;
|
||||
case RKMODULE_GET_DSI_MODE:
|
||||
seq = kzalloc(sizeof(*seq), GFP_KERNEL);
|
||||
if (!seq) {
|
||||
ret = -ENOMEM;
|
||||
return ret;
|
||||
}
|
||||
ret = rk628_csi_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