From: Daniel Vetter <daniel@ffwll.ch> To: Rob Herring <robh@kernel.org> Cc: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel.vetter@intel.com>, Sean Paul <seanpaul@chromium.org>, Neil Armstrong <narmstrong@baylibre.com>, Liviu Dudau <liviu.dudau@arm.com>, dri-devel@lists.freedesktop.org, Tomi Valkeinen <tomi.valkeinen@ti.com>, Frank Rowand <frowand.list@gmail.com>, Marek Vasut <marex@denx.de>, Kevin Hilman <khilman@baylibre.com>, Chen-Yu Tsai <wens@csie.org>, Krzysztof Kozlowski <krzk@kernel.org>, Xinliang Liu <z.liuxinliang@hisilicon.com>, Javier Martinez Canillas <javier@osg.samsung.com>, Xinwei Kong <kong.kongxinwei@hisilicon.com>, Kukjin Kim <kgene@kernel.org>, Mali DP Maintainers <malidp@foss.arm.com>, devicetree@vger.kernel.org, Chen Feng <puck.chen@hisilicon.com>, Jyri Sarha <jsarha@ti.com>, Carlo Caione <carlo@caione.org>, Russell King <rmk+kernel@armlinux.org.uk>, Matthias Brugger <matthias.bgg@gmail.com>, Alison Wang <alison.wang@freescale.com>, Jingoo Han <jingoohan1@gmail.com>, Seung-Woo Kim <sw0312.kim@samsung.com>, linux-kernel@vger.kernel.org, Kyungmin Park <kyungmin.park@samsung.com>, Rongrong Zou <zourongrong@gmail.com>, Maxime Ripard <maxime.ripard@free-electrons.com> Subject: Re: [PATCH 1/5] of: introduce of_graph_get_remote_node Date: Mon, 6 Feb 2017 09:50:23 +0100 [thread overview] Message-ID: <20170206085023.onmsh5dcmn6ofpp5@phenom.ffwll.local> (raw) In-Reply-To: <20170204033635.10250-2-robh@kernel.org> On Fri, Feb 03, 2017 at 09:36:31PM -0600, Rob Herring wrote: > The OF graph API leaves too much of the graph walking to clients when > in many cases the driver doesn't care about accessing the port or > endpoint nodes. The drivers typically just want the device connected via > a particular graph connection. of_graph_get_remote_node provides this > functionality. > > Signed-off-by: Rob Herring <robh@kernel.org> Just a quick procedural comment: drm-misc for 4.11 is closed already, but if we can get this core patch into 4.11 still then that would avoid cross-tree sync pains in 4.12 ... -Daniel > --- > drivers/of/base.c | 28 ++++++++++++++++++++++++++++ > include/linux/of_graph.h | 8 ++++++++ > 2 files changed, 36 insertions(+) > > diff --git a/drivers/of/base.c b/drivers/of/base.c > index d4bea3c797d6..ea18ab16b92c 100644 > --- a/drivers/of/base.c > +++ b/drivers/of/base.c > @@ -2469,3 +2469,31 @@ struct device_node *of_graph_get_remote_port(const struct device_node *node) > return of_get_next_parent(np); > } > EXPORT_SYMBOL(of_graph_get_remote_port); > + > +struct device_node *of_graph_get_remote_node(const struct device_node *node, > + int port, int endpoint) > +{ > + struct device_node *endpoint_node, *remote; > + > + endpoint_node = of_graph_get_endpoint_by_regs(node, port, endpoint); > + if (!endpoint_node) { > + pr_debug("no valid endpoint (%d, %d) for node %s\n", > + port, endpoint, node->full_name); > + return NULL; > + } > + > + remote = of_graph_get_remote_port_parent(endpoint_node); > + of_node_put(endpoint); > + if (!remote) { > + pr_debug("no valid remote node\n"); > + return NULL; > + } > + > + if (!of_device_is_available(remote)) { > + pr_debug("not available for remote node\n"); > + return NULL; > + } > + > + return remote; > +} > +EXPORT_SYMBOL(of_graph_get_remote_node); > diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h > index bb3a5a2cd570..7b71d3e09209 100644 > --- a/include/linux/of_graph.h > +++ b/include/linux/of_graph.h > @@ -51,6 +51,8 @@ struct device_node *of_graph_get_endpoint_by_regs( > struct device_node *of_graph_get_remote_port_parent( > const struct device_node *node); > struct device_node *of_graph_get_remote_port(const struct device_node *node); > +struct device_node *of_graph_get_remote_node(const struct device_node *node, > + int port, int endpoint); > #else > > static inline int of_graph_parse_endpoint(const struct device_node *node, > @@ -89,6 +91,12 @@ static inline struct device_node *of_graph_get_remote_port( > { > return NULL; > } > +static inline struct device_node *of_graph_get_remote_node( > + const struct device_node *node, > + int port, int endpoint) > +{ > + return NULL; > +} > > #endif /* CONFIG_OF */ > > -- > 2.10.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch> To: Rob Herring <robh@kernel.org> Cc: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel.vetter@intel.com>, Sean Paul <seanpaul@chromium.org>, Neil Armstrong <narmstrong@baylibre.com>, Liviu Dudau <liviu.dudau@arm.com>, dri-devel@lists.freedesktop.org, Tomi Valkeinen <tomi.valkeinen@ti.com>, Frank Rowand <frowand.list@gmail.com>, Marek Vasut <marex@denx.de>, Kevin Hilman <khilman@baylibre.com>, Chen-Yu Tsai <wens@csie.org>, Krzysztof Kozlowski <krzk@kernel.org>, Xinliang Liu <z.liuxinliang@hisilicon.com>, Javier Martinez Canillas <javier@osg.samsung.com>, Xinwei Kong <kong.kongxinwei@hisilicon.com>, Kukjin Kim <kgene@kernel.org>, Mali DP Maintainers <malidp@foss.arm.com>, devicetree@vger.kernel.org, Chen Feng <puck.chen@hisilicon.com>, Jyri Sarha <jsarha@ti.com>, Carlo Subject: Re: [PATCH 1/5] of: introduce of_graph_get_remote_node Date: Mon, 6 Feb 2017 09:50:23 +0100 [thread overview] Message-ID: <20170206085023.onmsh5dcmn6ofpp5@phenom.ffwll.local> (raw) In-Reply-To: <20170204033635.10250-2-robh@kernel.org> On Fri, Feb 03, 2017 at 09:36:31PM -0600, Rob Herring wrote: > The OF graph API leaves too much of the graph walking to clients when > in many cases the driver doesn't care about accessing the port or > endpoint nodes. The drivers typically just want the device connected via > a particular graph connection. of_graph_get_remote_node provides this > functionality. > > Signed-off-by: Rob Herring <robh@kernel.org> Just a quick procedural comment: drm-misc for 4.11 is closed already, but if we can get this core patch into 4.11 still then that would avoid cross-tree sync pains in 4.12 ... -Daniel > --- > drivers/of/base.c | 28 ++++++++++++++++++++++++++++ > include/linux/of_graph.h | 8 ++++++++ > 2 files changed, 36 insertions(+) > > diff --git a/drivers/of/base.c b/drivers/of/base.c > index d4bea3c797d6..ea18ab16b92c 100644 > --- a/drivers/of/base.c > +++ b/drivers/of/base.c > @@ -2469,3 +2469,31 @@ struct device_node *of_graph_get_remote_port(const struct device_node *node) > return of_get_next_parent(np); > } > EXPORT_SYMBOL(of_graph_get_remote_port); > + > +struct device_node *of_graph_get_remote_node(const struct device_node *node, > + int port, int endpoint) > +{ > + struct device_node *endpoint_node, *remote; > + > + endpoint_node = of_graph_get_endpoint_by_regs(node, port, endpoint); > + if (!endpoint_node) { > + pr_debug("no valid endpoint (%d, %d) for node %s\n", > + port, endpoint, node->full_name); > + return NULL; > + } > + > + remote = of_graph_get_remote_port_parent(endpoint_node); > + of_node_put(endpoint); > + if (!remote) { > + pr_debug("no valid remote node\n"); > + return NULL; > + } > + > + if (!of_device_is_available(remote)) { > + pr_debug("not available for remote node\n"); > + return NULL; > + } > + > + return remote; > +} > +EXPORT_SYMBOL(of_graph_get_remote_node); > diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h > index bb3a5a2cd570..7b71d3e09209 100644 > --- a/include/linux/of_graph.h > +++ b/include/linux/of_graph.h > @@ -51,6 +51,8 @@ struct device_node *of_graph_get_endpoint_by_regs( > struct device_node *of_graph_get_remote_port_parent( > const struct device_node *node); > struct device_node *of_graph_get_remote_port(const struct device_node *node); > +struct device_node *of_graph_get_remote_node(const struct device_node *node, > + int port, int endpoint); > #else > > static inline int of_graph_parse_endpoint(const struct device_node *node, > @@ -89,6 +91,12 @@ static inline struct device_node *of_graph_get_remote_port( > { > return NULL; > } > +static inline struct device_node *of_graph_get_remote_node( > + const struct device_node *node, > + int port, int endpoint) > +{ > + return NULL; > +} > > #endif /* CONFIG_OF */ > > -- > 2.10.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
next prev parent reply other threads:[~2017-02-06 8:51 UTC|newest] Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-04 3:36 [PATCH 0/5] DRM OF graph clean-up Rob Herring 2017-02-04 3:36 ` Rob Herring 2017-02-04 3:36 ` [PATCH 1/5] of: introduce of_graph_get_remote_node Rob Herring 2017-02-04 3:36 ` Rob Herring 2017-02-04 16:10 ` Vladimir Zapolskiy 2017-02-04 16:10 ` Vladimir Zapolskiy 2017-02-06 8:50 ` Daniel Vetter [this message] 2017-02-06 8:50 ` Daniel Vetter 2017-02-06 13:41 ` Rob Herring 2017-02-06 13:41 ` Rob Herring 2017-02-06 10:32 ` Philipp Zabel 2017-02-06 10:32 ` Philipp Zabel 2017-02-06 13:54 ` Rob Herring 2017-02-06 13:54 ` Rob Herring 2017-02-06 14:03 ` Philipp Zabel 2017-02-06 14:03 ` Philipp Zabel 2017-02-04 3:36 ` [PATCH 2/5] drm: of: introduce drm_of_find_panel_or_bridge Rob Herring 2017-02-04 3:36 ` Rob Herring 2017-02-06 10:18 ` Liviu Dudau 2017-02-06 10:18 ` Liviu Dudau 2017-02-06 16:20 ` Rob Herring 2017-02-06 16:20 ` Rob Herring 2017-02-06 10:42 ` Philipp Zabel 2017-02-06 10:42 ` Philipp Zabel 2017-02-06 16:53 ` Rob Herring 2017-02-06 16:53 ` Rob Herring 2017-02-06 17:45 ` Philipp Zabel 2017-02-06 17:45 ` Philipp Zabel 2017-02-10 19:42 ` Frank Rowand 2017-02-10 19:42 ` Frank Rowand 2017-02-04 3:36 ` [PATCH 3/5] drm: convert drivers to use of_graph_get_remote_node Rob Herring 2017-02-04 3:36 ` Rob Herring 2017-02-06 8:31 ` Jyri Sarha 2017-02-06 8:31 ` Jyri Sarha 2017-02-06 10:17 ` Neil Armstrong 2017-02-06 10:17 ` Neil Armstrong 2017-02-06 10:29 ` Liviu Dudau 2017-02-06 10:29 ` Liviu Dudau 2017-02-06 17:09 ` Rob Herring 2017-02-06 17:09 ` Rob Herring 2017-02-06 17:23 ` Liviu Dudau 2017-02-06 17:23 ` Liviu Dudau 2017-02-06 17:34 ` Russell King - ARM Linux 2017-02-06 17:34 ` Russell King - ARM Linux 2017-02-06 17:55 ` Liviu Dudau 2017-02-06 17:55 ` Liviu Dudau 2017-02-06 18:09 ` Russell King - ARM Linux 2017-02-06 18:09 ` Russell King - ARM Linux 2017-02-06 17:42 ` Rob Herring 2017-02-06 17:42 ` Rob Herring 2017-02-06 10:52 ` Philipp Zabel 2017-02-06 10:52 ` Philipp Zabel 2017-02-06 13:40 ` Rob Herring 2017-02-06 13:40 ` Rob Herring 2017-02-08 11:57 ` Liviu Dudau 2017-02-08 11:57 ` Liviu Dudau 2017-02-08 20:44 ` Eric Anholt 2017-02-08 20:44 ` Eric Anholt 2017-02-04 3:36 ` [PATCH 4/5] drm: convert drivers to use drm_of_find_panel_or_bridge Rob Herring 2017-02-04 3:36 ` Rob Herring 2017-02-04 20:26 ` Fabio Estevam 2017-02-04 20:26 ` Fabio Estevam 2017-02-05 22:25 ` Rob Herring 2017-02-05 22:25 ` Rob Herring 2017-02-06 0:01 ` Fabio Estevam 2017-02-06 0:01 ` Fabio Estevam 2017-02-06 1:22 ` Fabio Estevam 2017-02-06 1:22 ` Fabio Estevam 2017-02-06 10:03 ` Maxime Ripard 2017-02-06 10:03 ` Maxime Ripard 2017-02-06 17:32 ` Rob Herring 2017-02-06 17:32 ` Rob Herring 2017-02-08 7:46 ` Maxime Ripard 2017-02-08 7:46 ` Maxime Ripard 2017-02-06 11:07 ` Philipp Zabel 2017-02-06 11:07 ` Philipp Zabel 2017-02-04 3:36 ` [PATCH 5/5] drm: omap: use common OF graph helpers Rob Herring 2017-02-04 3:36 ` Rob Herring 2017-02-04 10:47 ` [PATCH 0/5] DRM OF graph clean-up Russell King - ARM Linux 2017-02-04 10:47 ` Russell King - ARM Linux
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=20170206085023.onmsh5dcmn6ofpp5@phenom.ffwll.local \ --to=daniel@ffwll.ch \ --cc=airlied@linux.ie \ --cc=alison.wang@freescale.com \ --cc=carlo@caione.org \ --cc=daniel.vetter@intel.com \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=frowand.list@gmail.com \ --cc=javier@osg.samsung.com \ --cc=jingoohan1@gmail.com \ --cc=jsarha@ti.com \ --cc=kgene@kernel.org \ --cc=khilman@baylibre.com \ --cc=kong.kongxinwei@hisilicon.com \ --cc=krzk@kernel.org \ --cc=kyungmin.park@samsung.com \ --cc=linux-kernel@vger.kernel.org \ --cc=liviu.dudau@arm.com \ --cc=malidp@foss.arm.com \ --cc=marex@denx.de \ --cc=matthias.bgg@gmail.com \ --cc=maxime.ripard@free-electrons.com \ --cc=narmstrong@baylibre.com \ --cc=puck.chen@hisilicon.com \ --cc=rmk+kernel@armlinux.org.uk \ --cc=robh@kernel.org \ --cc=seanpaul@chromium.org \ --cc=sw0312.kim@samsung.com \ --cc=tomi.valkeinen@ti.com \ --cc=wens@csie.org \ --cc=z.liuxinliang@hisilicon.com \ --cc=zourongrong@gmail.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: linkBe 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.