media: v4l2-subdev: Document and enforce .s_stream() requirements
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 18 Sep 2023 12:48:38 +0000 (15:48 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 27 Sep 2023 07:39:57 +0000 (09:39 +0200)
commit009905ec50433259c05f474251000b040098564e
tree8ed63e6498fda63971982fd024c24ed84264ba85
parent397b2a25b8c0b66dd5e317db620eb5c72dc25827
media: v4l2-subdev: Document and enforce .s_stream() requirements

The subdev .s_stream() operation must not be called to start an already
started subdev, or stop an already stopped one. This requirement has
never been formally documented. Fix it, and catch possible offenders
with a WARN_ON() in the call_s_stream() wrapper.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/v4l2-core/v4l2-subdev.c
include/media/v4l2-subdev.h