From: Marco Felsch <m.felsch@pengutronix.de>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: devicetree@vger.kernel.org, robh+dt@kernel.org,
jacopo+renesas@jmondi.org, laurent.pinchart@ideasonboard.com,
kernel@pengutronix.de, hans.verkuil@cisco.com,
mchehab@kernel.org, linux-media@vger.kernel.org
Subject: Re: [PATCH v12 04/19] media: v4l2-fwnode: add endpoint id field to v4l2_fwnode_link
Date: Wed, 11 Mar 2020 09:39:16 +0100 [thread overview]
Message-ID: <20200311083916.5kxcpsyj56o6jun3@pengutronix.de> (raw)
In-Reply-To: <20200311081518.GE5379@paasikivi.fi.intel.com>
Hi Sakari,
On 20-03-11 10:15, Sakari Ailus wrote:
> Hi Marco,
>
> On Mon, Mar 09, 2020 at 11:14:13AM +0100, Marco Felsch wrote:
> > A link is between two endpoints not between two ports to be more
> > precise. Add the local_id/remote_id field which stores the endpoint
> > reg/port property to the link. Now the link holds all necessary
> > information about a link.
> >
> > Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
> > ---
> >
> > v12:
> > - New in this serie
> >
> > drivers/media/v4l2-core/v4l2-fwnode.c | 2 ++
> > include/media/v4l2-fwnode.h | 4 ++++
> > 2 files changed, 6 insertions(+)
> >
> > diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
> > index 6ece4320e1d2..78c32aebbe03 100644
> > --- a/drivers/media/v4l2-core/v4l2-fwnode.c
> > +++ b/drivers/media/v4l2-core/v4l2-fwnode.c
> > @@ -565,6 +565,7 @@ int v4l2_fwnode_parse_link(struct fwnode_handle *__fwnode,
> >
> > memset(link, 0, sizeof(*link));
> >
> > + fwnode_property_read_u32(__fwnode, "reg", &link->local_id);
> > fwnode = fwnode_get_parent(__fwnode);
> > fwnode_property_read_u32(fwnode, port_prop, &link->local_port);
> > fwnode = fwnode_get_next_parent(fwnode);
> > @@ -578,6 +579,7 @@ int v4l2_fwnode_parse_link(struct fwnode_handle *__fwnode,
> > return -ENOLINK;
> > }
> >
> > + fwnode_property_read_u32(fwnode, "reg", &link->remote_id);
>
> This code really should use fwnode_graph_parse_endpoint(), and not
> implement the parsing locally.
>
> I do think the end result would be better if the code using this function
> would be calling the fwnode graph APIs directly.
I think doing it manually was used due to the
"port" (ACPI) <-> "reg" (DT) property difference. I'm completely with
you to change it to fwnode_graph_parse_endpoint() since ACPI also uses
"reg" as port numbering (as you explained it to me).
Regards,
Marco
> > fwnode = fwnode_get_parent(fwnode);
> > fwnode_property_read_u32(fwnode, port_prop, &link->remote_port);
> > fwnode = fwnode_get_next_parent(fwnode);
> > diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
> > index f6a7bcd13197..7bba6dfa3fd6 100644
> > --- a/include/media/v4l2-fwnode.h
> > +++ b/include/media/v4l2-fwnode.h
> > @@ -113,14 +113,18 @@ struct v4l2_fwnode_endpoint {
> > * struct v4l2_fwnode_link - a link between two endpoints
> > * @local_node: pointer to device_node of this endpoint
> > * @local_port: identifier of the port this endpoint belongs to
> > + * @local_id: identifier of the id this endpoint belongs to
> > * @remote_node: pointer to device_node of the remote endpoint
> > * @remote_port: identifier of the port the remote endpoint belongs to
> > + * @remote_id: identifier of the id the remote endpoint belongs to
> > */
> > struct v4l2_fwnode_link {
> > struct fwnode_handle *local_node;
> > unsigned int local_port;
> > + unsigned int local_id;
> > struct fwnode_handle *remote_node;
> > unsigned int remote_port;
> > + unsigned int remote_id;
> > };
> >
> > /**
>
> --
> Sakari Ailus
>
next prev parent reply other threads:[~2020-03-11 8:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-09 10:14 [PATCH v12 00/19] TVP5150 Features and Fixes Marco Felsch
2020-03-09 10:14 ` [PATCH v12 01/19] dt-bindings: connector: analog: add sdtv standards property Marco Felsch
2020-03-09 10:14 ` [PATCH v12 02/19] dt-bindings: display: add sdtv-standards defines Marco Felsch
2020-03-09 10:14 ` [PATCH v12 03/19] media: v4l: link dt-bindings and uapi Marco Felsch
2020-03-09 10:14 ` [PATCH v12 04/19] media: v4l2-fwnode: add endpoint id field to v4l2_fwnode_link Marco Felsch
2020-03-11 8:15 ` Sakari Ailus
2020-03-11 8:39 ` Marco Felsch [this message]
2020-03-09 10:14 ` [PATCH v12 05/19] media: v4l2-fwnode: add v4l2_fwnode_connector Marco Felsch
2020-03-09 10:14 ` [PATCH v12 06/19] media: v4l2-fwnode: add initial connector parsing support Marco Felsch
2020-03-11 8:17 ` Sakari Ailus
2020-03-11 8:43 ` Marco Felsch
2020-03-11 9:03 ` Sakari Ailus
2020-03-11 9:12 ` Marco Felsch
2020-03-09 10:14 ` [PATCH v12 07/19] partial revert of "[media] tvp5150: add HW input connectors support" Marco Felsch
2020-03-09 10:14 ` [PATCH v12 08/19] media: tvp5150: add input source selection of_graph support Marco Felsch
2020-03-09 10:14 ` [PATCH v12 09/19] media: dt-bindings: tvp5150: Add input port connectors DT bindings Marco Felsch
2020-03-09 10:14 ` [PATCH v12 10/19] media: tvp5150: fix set_selection rectangle handling Marco Felsch
2020-03-09 10:14 ` [PATCH v12 11/19] media: tvp5150: add FORMAT_TRY support for get/set selection handlers Marco Felsch
2020-03-09 10:14 ` [PATCH v12 12/19] media: tvp5150: initialize subdev before parsing device tree Marco Felsch
2020-03-09 10:14 ` [PATCH v12 13/19] media: tvp5150: move irq en-/disable into runtime-pm ops Marco Felsch
2020-03-09 10:14 ` [PATCH v12 14/19] media: tvp5150: add v4l2-event support Marco Felsch
2020-03-09 10:14 ` [PATCH v12 15/19] media: tvp5150: add subdev open/close callbacks Marco Felsch
2020-03-09 10:14 ` [PATCH v12 16/19] media: dt-bindings: tvp5150: cleanup bindings stlye Marco Felsch
2020-03-09 10:14 ` [PATCH v12 17/19] media: dt-bindings: tvp5150: add optional sdtv standards documentation Marco Felsch
2020-03-09 10:14 ` [PATCH v12 18/19] media: tvp5150: add support to limit sdtv standards Marco Felsch
2020-03-09 10:14 ` [PATCH v12 19/19] media: tvp5150: make debug output more readable Marco Felsch
2020-03-11 8:33 ` [PATCH v12 00/19] TVP5150 Features and Fixes Sakari Ailus
2020-03-11 9:08 ` Hans Verkuil
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=20200311083916.5kxcpsyj56o6jun3@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).