linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marco Felsch <m.felsch@pengutronix.de>
To: mchehab@kernel.org, sakari.ailus@linux.intel.com,
	hans.verkuil@cisco.com, jacopo+renesas@jmondi.org,
	robh+dt@kernel.org, laurent.pinchart@ideasonboard.com
Cc: devicetree@vger.kernel.org, kernel@pengutronix.de,
	linux-media@vger.kernel.org
Subject: [PATCH v11 03/15] media: v4l2-fwnode: add v4l2_fwnode_connector
Date: Mon, 30 Sep 2019 11:38:48 +0200	[thread overview]
Message-ID: <20190930093900.16524-4-m.felsch@pengutronix.de> (raw)
In-Reply-To: <20190930093900.16524-1-m.felsch@pengutronix.de>

Currently every driver needs to parse the connector endpoints by it self.
This is the initial work to make this generic. A generic connector has
common members and connector specific members. The common members are:
  - type
  - label (optional)
  - links
  - nr_of_links

The specific members are stored within a union, since only one of them
can be available at the time. Since this is the initial support the
patch adds only the analog-connector specific ones.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
[1] https://patchwork.kernel.org/cover/10794703/

v10:
- drop unused V4L2_CONN_HDMI support

v8:
- rename CON -> CONN
- supported_tvnorms_stds -> sdtv_stds and adapt description

v7:
- fix spelling issues
- constify label
- support variable label size
- replace single remote_port/id members by links member of variable
  size
- squash v4l2-connector into v4l2-fwnode

@Jacopo: I dropped your r b tag because I changed the port/id logic.

v6:
- fix some spelling and style issues
- rm unnecessary comments
- drop vga and dvi connector
- fix misspelt connector

v2-v4:
- nothing since the patch was squashed from series [1] into this
  series.
---
 include/media/v4l2-fwnode.h | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
index f6a7bcd13197..65da646b579e 100644
--- a/include/media/v4l2-fwnode.h
+++ b/include/media/v4l2-fwnode.h
@@ -123,6 +123,49 @@ struct v4l2_fwnode_link {
 	unsigned int remote_port;
 };
 
+/**
+ * enum v4l2_connector_type - connector type
+ * @V4L2_CONN_UNKNOWN:   unknown connector type, no V4L2 connector configuration
+ * @V4L2_CONN_COMPOSITE: analog composite connector
+ * @V4L2_CONN_SVIDEO:    analog svideo connector
+ */
+enum v4l2_connector_type {
+	V4L2_CONN_UNKNOWN,
+	V4L2_CONN_COMPOSITE,
+	V4L2_CONN_SVIDEO,
+};
+
+/**
+ * struct v4l2_fwnode_connector_analog - analog connector data structure
+ * @sdtv_stds: sdtv standards this connector supports, set to V4L2_STD_ALL
+ *             if no restrictions are specified.
+ */
+struct v4l2_fwnode_connector_analog {
+	v4l2_std_id sdtv_stds;
+};
+
+/**
+ * struct v4l2_fwnode_connector - the connector data structure
+ * @label: optional connector label
+ * @type: connector type
+ * @links: list of &struct v4l2_fwnode_link links the connector is connected to
+ * @nr_of_links: total number of links
+ * @connector: connector configuration
+ * @connector.analog: analog connector configuration
+ *                    &struct v4l2_fwnode_connector_analog
+ */
+struct v4l2_fwnode_connector {
+	const char *label;
+	enum v4l2_connector_type type;
+	struct v4l2_fwnode_link *links;
+	unsigned int nr_of_links;
+
+	union {
+		struct v4l2_fwnode_connector_analog analog;
+		/* future connectors */
+	} connector;
+};
+
 /**
  * v4l2_fwnode_endpoint_parse() - parse all fwnode node properties
  * @fwnode: pointer to the endpoint's fwnode handle
-- 
2.20.1


  parent reply	other threads:[~2019-09-30  9:39 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-30  9:38 [PATCH v11 00/15] TVP5150 Features and fixes Marco Felsch
2019-09-30  9:38 ` [PATCH v11 01/15] dt-bindings: connector: analog: add sdtv standards property Marco Felsch
2019-09-30  9:38 ` [PATCH v11 02/15] media: v4l: link dt-bindings and uapi Marco Felsch
2019-09-30  9:38 ` Marco Felsch [this message]
2019-09-30  9:38 ` [PATCH v11 04/15] media: v4l2-fwnode: add initial connector parsing support Marco Felsch
2019-11-15 23:34   ` Sakari Ailus
2019-11-19 11:37     ` Marco Felsch
2019-11-27  8:17       ` Marco Felsch
2020-01-08 15:36     ` Marco Felsch
2020-01-09  7:07       ` Marco Felsch
2020-01-15 17:06     ` Marco Felsch
2020-02-18 12:18       ` Sakari Ailus
2019-09-30  9:38 ` [PATCH v11 05/15] partial revert of "[media] tvp5150: add HW input connectors support" Marco Felsch
2019-09-30  9:38 ` [PATCH v11 06/15] media: tvp5150: add input source selection of_graph support Marco Felsch
2019-09-30  9:38 ` [PATCH v11 07/15] media: dt-bindings: tvp5150: Add input port connectors DT bindings Marco Felsch
2019-09-30  9:38 ` [PATCH v11 08/15] media: tvp5150: fix set_selection rectangle handling Marco Felsch
2019-09-30  9:38 ` [PATCH v11 09/15] media: tvp5150: add FORMAT_TRY support for get/set selection handlers Marco Felsch
2019-09-30  9:38 ` [PATCH v11 10/15] media: tvp5150: initialize subdev before parsing device tree Marco Felsch
2019-09-30  9:38 ` [PATCH v11 11/15] media: tvp5150: add s_power callback Marco Felsch
2019-10-24 11:59   ` Sakari Ailus
2019-11-08 10:25     ` Marco Felsch
2019-11-08 10:38       ` Sakari Ailus
2019-09-30  9:38 ` [PATCH v11 12/15] media: dt-bindings: tvp5150: cleanup bindings stlye Marco Felsch
2019-09-30  9:38 ` [PATCH v11 13/15] media: dt-bindings: tvp5150: add optional sdtv standards documentation Marco Felsch
2019-09-30  9:38 ` [PATCH v11 14/15] media: tvp5150: add support to limit sdtv standards Marco Felsch
2019-09-30  9:39 ` [PATCH v11 15/15] media: tvp5150: make debug output more readable Marco Felsch

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=20190930093900.16524-4-m.felsch@pengutronix.de \
    --to=m.felsch@pengutronix.de \
    --cc=devicetree@vger.kernel.org \
    --cc=hans.verkuil@cisco.com \
    --cc=jacopo+renesas@jmondi.org \
    --cc=kernel@pengutronix.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).