Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48519838 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] adv7604/adv7842: replace FMT_CHANGED by V4L2_DEVICE_NOTIFY_EVENT



This makes it easier for the bridge driver to just passthrough such
events to the corresponding device node.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 17e48468
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -341,6 +341,11 @@ static const struct adv76xx_video_standards adv76xx_prim_mode_hdmi_gr[] = {
	{ },
};

static const struct v4l2_event adv76xx_ev_fmt = {
	.type = V4L2_EVENT_SOURCE_CHANGE,
	.u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION,
};

/* ----------------------------------------------------------------------- */

static inline struct adv76xx_state *to_state(struct v4l2_subdev *sd)
@@ -1744,11 +1749,11 @@ static int adv76xx_s_routing(struct v4l2_subdev *sd,
	state->selected_input = input;

	disable_input(sd);

	select_input(sd);

	enable_input(sd);

	v4l2_subdev_notify(sd, V4L2_DEVICE_NOTIFY_EVENT,
			   (void *)&adv76xx_ev_fmt);
	return 0;
}

@@ -1915,7 +1920,8 @@ static int adv76xx_isr(struct v4l2_subdev *sd, u32 status, bool *handled)
			"%s: fmt_change = 0x%x, fmt_change_digital = 0x%x\n",
			__func__, fmt_change, fmt_change_digital);

		v4l2_subdev_notify(sd, ADV76XX_FMT_CHANGE, NULL);
		v4l2_subdev_notify(sd, V4L2_DEVICE_NOTIFY_EVENT,
				   (void *)&adv76xx_ev_fmt);

		if (handled)
			*handled = true;
+9 −2
Original line number Diff line number Diff line
@@ -242,6 +242,11 @@ static const struct adv7842_video_standards adv7842_prim_mode_hdmi_gr[] = {
	{ },
};

static const struct v4l2_event adv7842_ev_fmt = {
	.type = V4L2_EVENT_SOURCE_CHANGE,
	.u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION,
};

/* ----------------------------------------------------------------------- */

static inline struct adv7842_state *to_state(struct v4l2_subdev *sd)
@@ -1975,7 +1980,8 @@ static int adv7842_s_routing(struct v4l2_subdev *sd,
	select_input(sd, state->vid_std_select);
	enable_input(sd);

	v4l2_subdev_notify(sd, ADV7842_FMT_CHANGE, NULL);
	v4l2_subdev_notify(sd, V4L2_DEVICE_NOTIFY_EVENT,
			   (void *)&adv7842_ev_fmt);

	return 0;
}
@@ -2208,7 +2214,8 @@ static int adv7842_isr(struct v4l2_subdev *sd, u32 status, bool *handled)
			 "%s: fmt_change_cp = 0x%x, fmt_change_digital = 0x%x, fmt_change_sdp = 0x%x\n",
			 __func__, fmt_change_cp, fmt_change_digital,
			 fmt_change_sdp);
		v4l2_subdev_notify(sd, ADV7842_FMT_CHANGE, NULL);
		v4l2_subdev_notify(sd, V4L2_DEVICE_NOTIFY_EVENT,
				   (void *)&adv7842_ev_fmt);
		if (handled)
			*handled = true;
	}
+0 −1
Original line number Diff line number Diff line
@@ -168,6 +168,5 @@ enum adv76xx_pad {

/* notify events */
#define ADV76XX_HOTPLUG		1
#define ADV76XX_FMT_CHANGE	2

#endif
+0 −3
Original line number Diff line number Diff line
@@ -230,9 +230,6 @@ struct adv7842_platform_data {
#define V4L2_CID_ADV_RX_FREE_RUN_COLOR_MANUAL	(V4L2_CID_DV_CLASS_BASE + 0x1001)
#define V4L2_CID_ADV_RX_FREE_RUN_COLOR		(V4L2_CID_DV_CLASS_BASE + 0x1002)

/* notify events */
#define ADV7842_FMT_CHANGE	1

/* custom ioctl, used to test the external RAM that's used by the
 * deinterlacer. */
#define ADV7842_CMD_RAM_TEST _IO('V', BASE_VIDIOC_PRIVATE)