All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Scally <djrscally@gmail.com>
To: linux-media@vger.kernel.org, libcamera-devel@lists.libcamera.org
Cc: sakari.ailus@linux.intel.com, laurent.pinchart@ideasonboard.com,
	hanlinchen@chromium.org, tfiga@chromium.org, hdegoede@redhat.com,
	kieran.bingham@ideasonboard.com, hpa@redhat.com
Subject: [PATCH v2 0/6] Introduce ancillary links
Date: Sun, 30 Jan 2022 23:58:15 +0000	[thread overview]
Message-ID: <20220130235821.48076-1-djrscally@gmail.com> (raw)

Hello all

At present there's no means in the kernel of describing the supporting
relationship between subdevices that work together to form an effective single
unit - the type example in this case being a camera sensor and its
corresponding vcm. To attempt to solve that, this series adds a new type of
media link called MEDIA_LNK_FL_ANCILLARY_LINK, which connects two instances of
struct media_entity.

The mechanism of connection I have modelled as a notifier and async subdev,
which seemed the best route since sensor drivers already typically will call
v4l2_async_register_subdev_sensor() on probe, and that function already looks
for a reference to a firmware node with the reference named "lens-focus". To
avoid boilerplate in the sensor drivers, I added some new functions in
v4l2-async that are called in v4l2_async_match_notify() to create the ancillary
links - checking the entity.function of both notifier and subdev to make sure
that's appropriate. I haven't gone further than that yet, but I suspect we could
cut down on code elsewhere by, for example, also creating pad-to-pad links in
the same place.

Series-level changes since v1:

	- New patch adding some documentation to the uAPI pages.

Dan

Daniel Scally (6):
  media: entity: Skip non-data links in graph iteration
  media: media.h: Add new media link type
  media: docs: Add entries documenting ancillary links
  media: entity: Add link_type_name() helper
  media: entity: Add support for ancillary links
  media: v4l2-async: Create links during v4l2_async_match_notify()

 .../media/mediactl/media-controller-model.rst |  6 ++
 .../media/mediactl/media-types.rst            |  9 ++-
 drivers/media/mc/mc-entity.c                  | 46 ++++++++++++++-
 drivers/media/v4l2-core/v4l2-async.c          | 56 +++++++++++++++++++
 include/media/media-entity.h                  | 21 +++++++
 include/uapi/linux/media.h                    |  1 +
 6 files changed, 135 insertions(+), 4 deletions(-)

-- 
2.25.1


             reply	other threads:[~2022-01-30 23:59 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-30 23:58 Daniel Scally [this message]
2022-01-30 23:58 ` [PATCH v2 1/6] media: entity: Skip non-data links in graph iteration Daniel Scally
2022-01-30 23:58 ` [PATCH v2 2/6] media: media.h: Add new media link type Daniel Scally
2022-02-02 23:15   ` Laurent Pinchart
2022-01-30 23:58 ` [PATCH v2 3/6] media: docs: Add entries documenting ancillary links Daniel Scally
2022-02-02 23:25   ` Laurent Pinchart
2022-01-30 23:58 ` [PATCH v2 4/6] media: entity: Add link_type_name() helper Daniel Scally
2022-01-30 23:58 ` [PATCH v2 5/6] media: entity: Add support for ancillary links Daniel Scally
2022-01-31 16:00   ` kernel test robot
2022-01-31 16:00     ` kernel test robot
2022-02-02 23:32   ` Laurent Pinchart
2022-02-02 23:32     ` Laurent Pinchart
2022-01-30 23:58 ` [PATCH v2 6/6] media: v4l2-async: Create links during v4l2_async_match_notify() Daniel Scally
2022-02-02 16:38   ` Sakari Ailus
2022-02-02 21:48     ` Daniel Scally
2022-02-10 23:51       ` Daniel Scally
2022-02-11 11:26       ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220130235821.48076-1-djrscally@gmail.com \
    --to=djrscally@gmail.com \
    --cc=hanlinchen@chromium.org \
    --cc=hdegoede@redhat.com \
    --cc=hpa@redhat.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=libcamera-devel@lists.libcamera.org \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tfiga@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.