From: Sakari Ailus <sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: niklas.soderlund-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org,
robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org,
laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH v5 0/5] Unified fwnode endpoint parser
Date: Tue, 29 Aug 2017 14:03:08 +0300 [thread overview]
Message-ID: <20170829110313.19538-1-sakari.ailus@linux.intel.com> (raw)
Hi folks,
We have a large influx of new, unmerged, drivers that are now parsing
fwnode endpoints and each one of them is doing this a little bit
differently. The needs are still exactly the same for the graph data
structure is device independent. This is still a non-trivial task and the
majority of the driver implementations are buggy, just buggy in different
ways.
Facilitate parsing endpoints by adding a convenience function for parsing
the endpoints, and make the omap3isp and rcar-vin drivers use them as an
example.
since v4:
- Prepend the set with three documentation fixes.
- The driver's async struct must begin with struct v4l2_async_subdev. Fix this
for omap3isp and document it.
- Improve documentation for new functions.
- Don't use devm_ family of functions for allocating memory. Introduce
v4l2_async_notifier_release() to release memory resources.
- Rework both v4l2_async_notifier_fwnode_parse_endpoints() and
v4l2_async_notifier_fwnode_parse_endpoint() and the local functions they
call. This should make the code cleaner. Despite the name, for linking
and typical usage reasons the functions remain in v4l2-fwnode.c.
- Convert rcar-vin to use v4l2_async_notifier_fwnode_parse_endpoint().
- Use kvmalloc() for allocating the notifier's subdevs array.
- max_subdevs argument for notifier_realloc is now the total maximum
number of subdevs, not the number of available subdevs.
- Use fwnode_device_is_available() to make sure the device actually
exists.
- Move the note telling v4l2_async_notifier_fwnode_parse_endpoints()
should not be used by new drivers to the last patch adding
v4l2_async_notifier_fwnode_parse_endpoint().
since v3:
- Rebase on current mediatree master.
since v2:
- Rebase on CCP2 support patches.
- Prepend a patch cleaning up omap3isp driver a little.
since v1:
- The first patch has been merged (it was a bugfix).
- In anticipation that the parsing can take place over several iterations,
take the existing number of async sub-devices into account when
re-allocating an array of async sub-devices.
- Rework the first patch to better anticipate parsing single endpoint at a
time by a driver.
- Add a second patch that adds a function for parsing endpoints one at a
time based on port and endpoint numbers.
Sakari Ailus (5):
v4l: fwnode: Move KernelDoc documentation to the header
v4l: async: Add V4L2 async documentation to the documentation build
docs-rst: v4l: Include Qualcomm CAMSS in documentation build
v4l: fwnode: Support generic parsing of graph endpoints in a device
v4l: fwnode: Support generic parsing of graph endpoints in a single
port
Documentation/media/kapi/v4l2-async.rst | 3 +
Documentation/media/kapi/v4l2-core.rst | 1 +
Documentation/media/v4l-drivers/index.rst | 1 +
drivers/media/platform/omap3isp/isp.c | 115 ++++---------
drivers/media/platform/omap3isp/isp.h | 5 +-
drivers/media/platform/rcar-vin/rcar-core.c | 111 ++++--------
drivers/media/platform/rcar-vin/rcar-dma.c | 10 +-
drivers/media/platform/rcar-vin/rcar-v4l2.c | 14 +-
drivers/media/platform/rcar-vin/rcar-vin.h | 4 +-
drivers/media/v4l2-core/v4l2-async.c | 16 ++
drivers/media/v4l2-core/v4l2-fwnode.c | 254 ++++++++++++++++++++--------
include/media/v4l2-async.h | 20 ++-
include/media/v4l2-fwnode.h | 159 ++++++++++++++++-
13 files changed, 459 insertions(+), 254 deletions(-)
create mode 100644 Documentation/media/kapi/v4l2-async.rst
--
2.11.0
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-media@vger.kernel.org
Cc: niklas.soderlund@ragnatech.se, robh@kernel.org,
hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com,
devicetree@vger.kernel.org
Subject: [PATCH v5 0/5] Unified fwnode endpoint parser
Date: Tue, 29 Aug 2017 14:03:08 +0300 [thread overview]
Message-ID: <20170829110313.19538-1-sakari.ailus@linux.intel.com> (raw)
Hi folks,
We have a large influx of new, unmerged, drivers that are now parsing
fwnode endpoints and each one of them is doing this a little bit
differently. The needs are still exactly the same for the graph data
structure is device independent. This is still a non-trivial task and the
majority of the driver implementations are buggy, just buggy in different
ways.
Facilitate parsing endpoints by adding a convenience function for parsing
the endpoints, and make the omap3isp and rcar-vin drivers use them as an
example.
since v4:
- Prepend the set with three documentation fixes.
- The driver's async struct must begin with struct v4l2_async_subdev. Fix this
for omap3isp and document it.
- Improve documentation for new functions.
- Don't use devm_ family of functions for allocating memory. Introduce
v4l2_async_notifier_release() to release memory resources.
- Rework both v4l2_async_notifier_fwnode_parse_endpoints() and
v4l2_async_notifier_fwnode_parse_endpoint() and the local functions they
call. This should make the code cleaner. Despite the name, for linking
and typical usage reasons the functions remain in v4l2-fwnode.c.
- Convert rcar-vin to use v4l2_async_notifier_fwnode_parse_endpoint().
- Use kvmalloc() for allocating the notifier's subdevs array.
- max_subdevs argument for notifier_realloc is now the total maximum
number of subdevs, not the number of available subdevs.
- Use fwnode_device_is_available() to make sure the device actually
exists.
- Move the note telling v4l2_async_notifier_fwnode_parse_endpoints()
should not be used by new drivers to the last patch adding
v4l2_async_notifier_fwnode_parse_endpoint().
since v3:
- Rebase on current mediatree master.
since v2:
- Rebase on CCP2 support patches.
- Prepend a patch cleaning up omap3isp driver a little.
since v1:
- The first patch has been merged (it was a bugfix).
- In anticipation that the parsing can take place over several iterations,
take the existing number of async sub-devices into account when
re-allocating an array of async sub-devices.
- Rework the first patch to better anticipate parsing single endpoint at a
time by a driver.
- Add a second patch that adds a function for parsing endpoints one at a
time based on port and endpoint numbers.
Sakari Ailus (5):
v4l: fwnode: Move KernelDoc documentation to the header
v4l: async: Add V4L2 async documentation to the documentation build
docs-rst: v4l: Include Qualcomm CAMSS in documentation build
v4l: fwnode: Support generic parsing of graph endpoints in a device
v4l: fwnode: Support generic parsing of graph endpoints in a single
port
Documentation/media/kapi/v4l2-async.rst | 3 +
Documentation/media/kapi/v4l2-core.rst | 1 +
Documentation/media/v4l-drivers/index.rst | 1 +
drivers/media/platform/omap3isp/isp.c | 115 ++++---------
drivers/media/platform/omap3isp/isp.h | 5 +-
drivers/media/platform/rcar-vin/rcar-core.c | 111 ++++--------
drivers/media/platform/rcar-vin/rcar-dma.c | 10 +-
drivers/media/platform/rcar-vin/rcar-v4l2.c | 14 +-
drivers/media/platform/rcar-vin/rcar-vin.h | 4 +-
drivers/media/v4l2-core/v4l2-async.c | 16 ++
drivers/media/v4l2-core/v4l2-fwnode.c | 254 ++++++++++++++++++++--------
include/media/v4l2-async.h | 20 ++-
include/media/v4l2-fwnode.h | 159 ++++++++++++++++-
13 files changed, 459 insertions(+), 254 deletions(-)
create mode 100644 Documentation/media/kapi/v4l2-async.rst
--
2.11.0
next reply other threads:[~2017-08-29 11:03 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-29 11:03 Sakari Ailus [this message]
2017-08-29 11:03 ` [PATCH v5 0/5] Unified fwnode endpoint parser Sakari Ailus
[not found] ` <20170829110313.19538-1-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-08-29 11:03 ` [PATCH v5 1/5] v4l: fwnode: Move KernelDoc documentation to the header Sakari Ailus
2017-08-29 11:03 ` Sakari Ailus
[not found] ` <20170829110313.19538-2-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-08-29 12:50 ` Niklas Söderlund
2017-08-29 12:50 ` Niklas Söderlund
2017-08-29 13:15 ` Laurent Pinchart
2017-08-29 13:20 ` Sakari Ailus
2017-08-29 13:20 ` Sakari Ailus
2017-08-29 13:22 ` Sakari Ailus
2017-08-29 11:03 ` [PATCH v5 2/5] v4l: async: Add V4L2 async documentation to the documentation build Sakari Ailus
2017-08-29 11:03 ` Sakari Ailus
2017-08-29 12:52 ` Niklas Söderlund
2017-08-29 11:03 ` [PATCH v5 4/5] v4l: fwnode: Support generic parsing of graph endpoints in a device Sakari Ailus
2017-08-29 11:03 ` Sakari Ailus
[not found] ` <20170829110313.19538-5-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-08-29 14:02 ` Laurent Pinchart
2017-08-29 14:02 ` Laurent Pinchart
2017-08-29 14:31 ` Sakari Ailus
2017-08-29 14:31 ` Sakari Ailus
[not found] ` <20170829143121.6sjdx3lgcoxm6mva-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-09-01 8:55 ` Laurent Pinchart
2017-09-01 8:55 ` Laurent Pinchart
2017-09-01 9:04 ` Sakari Ailus
2017-08-29 11:03 ` [PATCH v5 3/5] docs-rst: v4l: Include Qualcomm CAMSS in documentation build Sakari Ailus
[not found] ` <20170829110313.19538-4-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2017-08-29 13:32 ` Laurent Pinchart
2017-08-29 13:32 ` Laurent Pinchart
2017-08-29 11:03 ` [PATCH v5 5/5] v4l: fwnode: Support generic parsing of graph endpoints in a single port Sakari Ailus
2017-08-29 12:57 ` Niklas Söderlund
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=20170829110313.19538-1-sakari.ailus@linux.intel.com \
--to=sakari.ailus-vuqaysv1563yd54fqh9/ca@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org \
--cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=niklas.soderlund-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org \
--cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.