| From: |
| Tomi Valkeinen <tomi.valkeinen-AT-ideasonboard.com> |
| To: |
| linux-media-AT-vger.kernel.org, sakari.ailus-AT-linux.intel.com, Jacopo Mondi <jacopo+renesas-AT-jmondi.org>, Laurent Pinchart <laurent.pinchart-AT-ideasonboard.com>, niklas.soderlund+renesas-AT-ragnatech.se, Mauro Carvalho Chehab <mchehab-AT-kernel.org>, Hans Verkuil <hverkuil-cisco-AT-xs4all.nl>, Pratyush Yadav <p.yadav-AT-ti.com>, satish.nagireddy-AT-getcruise.com |
| Subject: |
| [PATCH v8 00/10] v4l: subdev active state |
| Date: |
| Tue, 12 Apr 2022 12:42:39 +0300 |
| Message-ID: |
| <20220412094249.695754-1-tomi.valkeinen@ideasonboard.com> |
| Cc: |
| Tomi Valkeinen <tomi.valkeinen-AT-ideasonboard.com> |
| Archive-link: |
| Article |
Hi,
v8 of the active state series. The v7 can be found from:
https://lore.kernel.org/all/20220407081424.295870-1-tomi....
This version fixes the issues when compiling without
CONFIG_MEDIA_CONTROLLER or CONFIG_VIDEO_V4L2_SUBDEV_API.
I've added two small patches in front, which I made while trying to
understand how those two config options are used.
The new state wrappers are now only compiled with
CONFIG_MEDIA_CONTROLLER, and v4l2_subdev_get_fmt() is available only
with CONFIG_VIDEO_V4L2_SUBDEV_API.
To be honest, I'm not quite sure how the active state series and the
streams series should be designed wrt. CONFIG_MEDIA_CONTROLLER and
CONFIG_VIDEO_V4L2_SUBDEV_API, but I think it's probably best to only
allow active state and streams with CONFIG_VIDEO_V4L2_SUBDEV_API.
In theory we could allow active state without
CONFIG_VIDEO_V4L2_SUBDEV_API, but as try state is not available without
CONFIG_VIDEO_V4L2_SUBDEV_API, I fear it would lead to complications.
Also, I would personally just merge CONFIG_MEDIA_CONTROLLER and
CONFIG_VIDEO_V4L2_SUBDEV_API, but perhaps there's a need for the two
config options, in which case I'd just always use
CONFIG_VIDEO_V4L2_SUBDEV_API on v4l2 side.
Tomi
Tomi Valkeinen (10):
media: v4l2-subdev: fix #endif comments
media: v4l2-subdev: drop extra #ifdef
media: subdev: rename subdev-state alloc & free
media: subdev: add active state to struct v4l2_subdev
media: subdev: rename v4l2_subdev_get_pad_* helpers
media: subdev: pass also the active state to subdevs from ioctls
media: subdev: add subdev state locking
media: subdev: add locking wrappers to subdev op wrappers
media: subdev: add v4l2_subdev_get_fmt() helper function
media: Documentation: add documentation about subdev state
.../driver-api/media/v4l2-subdev.rst | 69 +++++
.../platform/renesas/rcar-vin/rcar-v4l2.c | 9 +-
.../media/platform/renesas/vsp1/vsp1_entity.c | 10 +-
drivers/media/v4l2-core/v4l2-subdev.c | 214 ++++++++++++---
drivers/staging/media/tegra-video/vi.c | 10 +-
include/media/v4l2-subdev.h | 243 +++++++++++++++++-
6 files changed, 507 insertions(+), 48 deletions(-)
--
2.25.1