From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
To: Rob Herring <robh+dt@kernel.org>, Mark Brown <broonie@kernel.org>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>,
Liam Girdwood <lgirdwood@gmail.com>, Simon <horms@verge.net.au>,
Laurent <laurent.pinchart@ideasonboard.com>,
Guennadi <g.liakhovetski@gmx.de>,
Grant Likely <grant.likely@linaro.org>,
Frank Rowand <frowand.list@gmail.com>,
Linux-DT <devicetree@vger.kernel.org>,
Linux-Kernel <linux-kernel@vger.kernel.org>
Subject: [PATCH v5 03/14] of_graph: add of_graph_port_type_is()
Date: Mon, 28 Nov 2016 02:45:28 +0000 [thread overview]
Message-ID: <87fumcwcg1.wl%kuninori.morimoto.gx@renesas.com> (raw)
In-Reply-To: <87k2bowckx.wl%kuninori.morimoto.gx@renesas.com>
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
OF graph indicates each devices connection. But it doesn't support type
of each port. For example HDMI case, it has video port and sound port
in one device node.
In this case, current driver can't handle each port correctly.
This patch adds of_graph_port_type_is() for it,
and adds of_graph_port_type_is_sound macro
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
drivers/of/base.c | 14 ++++++++++++++
include/linux/of_graph.h | 8 ++++++++
2 files changed, 22 insertions(+)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index fed109d..d6237ba 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -2480,3 +2480,17 @@ 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);
+
+bool of_graph_port_type_is(struct device_node *port, char *type)
+{
+ const char *prop = NULL;
+
+ of_property_read_string(port, "type", &prop);
+
+ if (prop &&
+ strcmp(prop, type) == 0)
+ return true;
+
+ return false;
+}
+EXPORT_SYMBOL(of_graph_port_type_is);
diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h
index d9d6d9c..0a06441 100644
--- a/include/linux/of_graph.h
+++ b/include/linux/of_graph.h
@@ -40,9 +40,12 @@ struct of_endpoint {
for (child = of_graph_get_next_endpoint(parent, NULL); child != NULL; \
child = of_graph_get_next_endpoint(parent, child))
+#define of_graph_port_type_is_sound(n) of_graph_port_type_is(n, "sound")
+
#ifdef CONFIG_OF
int of_graph_parse_endpoint(const struct device_node *node,
struct of_endpoint *endpoint);
+bool of_graph_port_type_is(struct device_node *port, char *type);
struct device_node *of_graph_get_port_by_id(struct device_node *node, u32 id);
struct device_node *of_graph_get_next_endpoint(const struct device_node *parent,
struct device_node *previous);
@@ -61,6 +64,11 @@ static inline int of_graph_parse_endpoint(const struct device_node *node,
return -ENOSYS;
}
+static bool of_graph_port_type_is(struct device_node *port, char *type)
+{
+ return false;
+}
+
static inline struct device_node *of_graph_get_port_by_id(
struct device_node *node, u32 id)
{
--
1.9.1
next prev parent reply other threads:[~2016-11-28 2:45 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-28 2:42 [PATCH v5 00/14] ASoC: add OF graph base simple-card Kuninori Morimoto
2016-11-28 2:44 ` [PATCH v5 01/14] Documentation: of: add type property Kuninori Morimoto
2016-12-01 16:26 ` Rob Herring
2016-12-08 1:57 ` Kuninori Morimoto
2016-11-28 2:45 ` [PATCH v5 02/14] of_graph: add of_graph_get_remote_endpoint() Kuninori Morimoto
2016-11-28 2:45 ` Kuninori Morimoto [this message]
2016-11-28 2:45 ` [PATCH v5 04/14] of_graph: add of_graph_get_port_parent() Kuninori Morimoto
2016-11-28 2:46 ` [PATCH v5 05/14] of_graph: add of_graph_get_top_port() Kuninori Morimoto
2016-11-28 2:46 ` [PATCH v5 06/14] of_graph: add for_each_of_port() / for_each_of_endpoint_in_port() Kuninori Morimoto
2016-11-28 2:46 ` [PATCH v5 07/14] of_graph: add of_graph_get_endpoint_count() Kuninori Morimoto
2016-11-28 2:46 ` [PATCH v5 08/14] ASoC: simple-card-utils: adjust for graph on asoc_simple_card_parse_card_name Kuninori Morimoto
2016-11-28 2:47 ` [PATCH v5 09/14] ASoC: simple-card-utils: add asoc_simple_card_parse_graph_dai() Kuninori Morimoto
2016-11-28 3:41 ` kbuild test robot
2016-11-28 4:10 ` Kuninori Morimoto
2016-11-28 2:47 ` [PATCH v5 10/14] ASoC: simple-card-utils: add asoc_simple_card_try_to_probe_graph_card() Kuninori Morimoto
2016-11-28 2:47 ` [PATCH v5 11/14] ASoC: add simple-graph-card document Kuninori Morimoto
2016-12-02 13:50 ` Rob Herring
2016-12-04 23:48 ` Kuninori Morimoto
2016-12-05 2:38 ` Kuninori Morimoto
2016-12-05 22:58 ` Rob Herring
2016-12-06 0:57 ` Kuninori Morimoto
2016-12-06 15:03 ` Rob Herring
2016-12-07 0:10 ` Kuninori Morimoto
2016-12-05 2:21 ` Kuninori Morimoto
2016-11-28 2:48 ` [PATCH v5 12/14] ASoC: add simple-graph-card support Kuninori Morimoto
2016-11-28 4:19 ` kbuild test robot
2016-11-28 2:48 ` [PATCH v5 13/14] ASoC: add simple-graph-scu-card document Kuninori Morimoto
2016-12-05 22:40 ` Rob Herring
2016-12-06 6:33 ` Kuninori Morimoto
2016-11-28 2:48 ` [PATCH v5 14/14] ASoC: add simple-graph-scu-card support Kuninori Morimoto
2016-11-28 4:36 ` kbuild test robot
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=87fumcwcg1.wl%kuninori.morimoto.gx@renesas.com \
--to=kuninori.morimoto.gx@renesas.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=g.liakhovetski@gmx.de \
--cc=grant.likely@linaro.org \
--cc=horms@verge.net.au \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®