media: i2c: sc2239 fixed compile error

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ibe430f5a7398857f742f5fbc40f2b5c71cf529f0
This commit is contained in:
Zefa Chen
2022-09-05 21:35:30 +08:00
committed by Tao Huang
parent 8973f1f7d1
commit 197d1dd185
3 changed files with 22 additions and 4 deletions

View File

@@ -1866,6 +1866,16 @@ config VIDEO_SC2232
This is a Video4Linux2 sensor driver for the SmartSens
SC2232 camera.
config VIDEO_SC2239
tristate "SmartSens SC2239 sensor support"
depends on I2C && VIDEO_V4L2
select MEDIA_CONTROLLER
select VIDEO_V4L2_SUBDEV_API
select V4L2_FWNODE
help
This is a Video4Linux2 sensor driver for the SmartSens
SC2239 camera.
config VIDEO_SC230AI
tristate "SmartSens SC230AI sensor support"
depends on I2C && VIDEO_V4L2

View File

@@ -125,6 +125,7 @@ obj-$(CONFIG_VIDEO_SC132GS) += sc132gs.o
obj-$(CONFIG_VIDEO_SC200AI) += sc200ai.o
obj-$(CONFIG_VIDEO_SC210IOT) += sc210iot.o
obj-$(CONFIG_VIDEO_SC2232) += sc2232.o
obj-$(CONFIG_VIDEO_SC2239) += sc2239.o
obj-$(CONFIG_VIDEO_SC230AI) += sc230ai.o
obj-$(CONFIG_VIDEO_SC301IOT) += sc301iot.o
obj-$(CONFIG_VIDEO_SC3336) += sc3336.o

View File

@@ -542,8 +542,11 @@ static long sc2239_compat_ioctl32(struct v4l2_subdev *sd,
}
ret = sc2239_ioctl(sd, cmd, inf);
if (!ret)
if (!ret) {
ret = copy_to_user(up, inf, sizeof(*inf));
if (ret)
ret = -EFAULT;
}
kfree(inf);
break;
case RKMODULE_AWB_CFG:
@@ -556,12 +559,16 @@ static long sc2239_compat_ioctl32(struct v4l2_subdev *sd,
ret = copy_from_user(cfg, up, sizeof(*cfg));
if (!ret)
ret = sc2239_ioctl(sd, cmd, cfg);
else
ret = -EFAULT;
kfree(cfg);
break;
case RKMODULE_SET_QUICK_STREAM:
ret = copy_from_user(&stream, up, sizeof(u32));
if (!ret)
ret = sc2239_ioctl(sd, cmd, &stream);
else
ret = -EFAULT;
break;
default:
ret = -ENOIOCTLCMD;
@@ -843,14 +850,14 @@ static int sc2239_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
}
#endif
static int sc2239_g_mbus_config(struct v4l2_subdev *sd,
static int sc2239_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
struct v4l2_mbus_config *config)
{
u32 val = 1 << (SC2239_LANES - 1) |
V4L2_MBUS_CSI2_CHANNEL_0 |
V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
config->type = V4L2_MBUS_CSI2;
config->type = V4L2_MBUS_CSI2_DPHY;
config->flags = val;
return 0;
@@ -894,7 +901,6 @@ static const struct v4l2_subdev_core_ops sc2239_core_ops = {
static const struct v4l2_subdev_video_ops sc2239_video_ops = {
.s_stream = sc2239_s_stream,
.g_frame_interval = sc2239_g_frame_interval,
.g_mbus_config = sc2239_g_mbus_config,
};
static const struct v4l2_subdev_pad_ops sc2239_pad_ops = {
@@ -903,6 +909,7 @@ static const struct v4l2_subdev_pad_ops sc2239_pad_ops = {
.enum_frame_interval = sc2239_enum_frame_interval,
.get_fmt = sc2239_get_fmt,
.set_fmt = sc2239_set_fmt,
.get_mbus_config = sc2239_g_mbus_config,
};
static const struct v4l2_subdev_ops sc2239_subdev_ops = {