|
|
Subscribe / Log in / New account

v4l: subdev active state

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



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds