mirror of
https://github.com/torvalds/linux.git
synced 2026-07-29 18:51:21 +02:00
media: adv7180: implement g_register and s_register
The g_register and s_register callbacks are useful for debugging the adv7180. Implement the callbacks to expose the register debugging to userspace. Signed-off-by: Thorsten Schmelzer <tschmelzer@topcon.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
57b96d4a23
commit
2473b46c48
|
|
@ -969,6 +969,32 @@ static int adv7180_subscribe_event(struct v4l2_subdev *sd,
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_VIDEO_ADV_DEBUG
|
||||
static int adv7180_g_register(struct v4l2_subdev *sd,
|
||||
struct v4l2_dbg_register *reg)
|
||||
{
|
||||
struct adv7180_state *state = to_state(sd);
|
||||
int ret;
|
||||
|
||||
ret = adv7180_read(state, reg->reg);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
reg->val = ret;
|
||||
reg->size = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int adv7180_s_register(struct v4l2_subdev *sd,
|
||||
const struct v4l2_dbg_register *reg)
|
||||
{
|
||||
struct adv7180_state *state = to_state(sd);
|
||||
|
||||
return adv7180_write(state, reg->reg, reg->val);
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct v4l2_subdev_video_ops adv7180_video_ops = {
|
||||
.s_std = adv7180_s_std,
|
||||
.g_std = adv7180_g_std,
|
||||
|
|
@ -982,6 +1008,10 @@ static const struct v4l2_subdev_video_ops adv7180_video_ops = {
|
|||
static const struct v4l2_subdev_core_ops adv7180_core_ops = {
|
||||
.subscribe_event = adv7180_subscribe_event,
|
||||
.unsubscribe_event = v4l2_event_subdev_unsubscribe,
|
||||
#ifdef CONFIG_VIDEO_ADV_DEBUG
|
||||
.g_register = adv7180_g_register,
|
||||
.s_register = adv7180_s_register,
|
||||
#endif
|
||||
};
|
||||
|
||||
static const struct v4l2_subdev_pad_ops adv7180_pad_ops = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user