summaryrefslogtreecommitdiff
path: root/drivers/media/i2c/alvium-csi2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/i2c/alvium-csi2.c')
-rw-r--r--drivers/media/i2c/alvium-csi2.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/media/i2c/alvium-csi2.c b/drivers/media/i2c/alvium-csi2.c
index c8827603eb23..a173abb0509f 100644
--- a/drivers/media/i2c/alvium-csi2.c
+++ b/drivers/media/i2c/alvium-csi2.c
@@ -1649,6 +1649,7 @@ static int alvium_hw_init(struct alvium_dev *alvium)
/* --------------- Subdev Operations --------------- */
static int alvium_g_frame_interval(struct v4l2_subdev *sd,
+ struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_frame_interval *fi)
{
struct alvium_dev *alvium = sd_to_alvium(sd);
@@ -1696,23 +1697,19 @@ static int alvium_set_frame_interval(struct alvium_dev *alvium,
}
static int alvium_s_frame_interval(struct v4l2_subdev *sd,
+ struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_frame_interval *fi)
{
struct alvium_dev *alvium = sd_to_alvium(sd);
- struct v4l2_subdev_state *state;
int ret;
if (alvium->streaming)
return -EBUSY;
- state = v4l2_subdev_lock_and_get_active_state(sd);
-
ret = alvium_set_frame_interval(alvium, fi);
if (!ret)
ret = alvium_set_frame_rate(alvium);
- v4l2_subdev_unlock_state(state);
-
return ret;
}
@@ -2238,8 +2235,6 @@ static const struct v4l2_subdev_core_ops alvium_core_ops = {
};
static const struct v4l2_subdev_video_ops alvium_video_ops = {
- .g_frame_interval = alvium_g_frame_interval,
- .s_frame_interval = alvium_s_frame_interval,
.s_stream = alvium_s_stream,
};
@@ -2249,6 +2244,8 @@ static const struct v4l2_subdev_pad_ops alvium_pad_ops = {
.set_fmt = alvium_set_fmt,
.get_selection = alvium_get_selection,
.set_selection = alvium_set_selection,
+ .get_frame_interval = alvium_g_frame_interval,
+ .set_frame_interval = alvium_s_frame_interval,
};
static const struct v4l2_subdev_internal_ops alvium_internal_ops = {