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

Commit 864a1212 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

[media] v4l: Don't warn during link validation when encountering a V4L2 devnode



v4l2_subdev_link_validate_get_format() retrieves the remote pad format
depending on the entity type and prints a warning if the entity type is
not supported. The type check doesn't take the subtype into account, and
thus always prints a warning for device node types, even when supported.
Fix it.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent b6f50b49
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -412,20 +412,20 @@ static int
v4l2_subdev_link_validate_get_format(struct media_pad *pad,
				     struct v4l2_subdev_format *fmt)
{
	switch (media_entity_type(pad->entity)) {
	case MEDIA_ENT_T_V4L2_SUBDEV:
	if (media_entity_type(pad->entity) == MEDIA_ENT_T_V4L2_SUBDEV) {
		struct v4l2_subdev *sd =
			media_entity_to_v4l2_subdev(pad->entity);

		fmt->which = V4L2_SUBDEV_FORMAT_ACTIVE;
		fmt->pad = pad->index;
		return v4l2_subdev_call(media_entity_to_v4l2_subdev(
						pad->entity),
					pad, get_fmt, NULL, fmt);
	default:
		WARN(1, "Driver bug! Wrong media entity type %d, entity %s\n",
		     media_entity_type(pad->entity), pad->entity->name);
		/* Fall through */
	case MEDIA_ENT_T_DEVNODE_V4L:
		return -EINVAL;
		return v4l2_subdev_call(sd, pad, get_fmt, NULL, fmt);
	}

	WARN(pad->entity->type != MEDIA_ENT_T_DEVNODE_V4L,
	     "Driver bug! Wrong media entity type 0x%08x, entity %s\n",
	     pad->entity->type, pad->entity->name);

	return -EINVAL;
}

int v4l2_subdev_link_validate(struct media_link *link)