All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: linux-serial@vger.kernel.org
Cc: Alan Cox <alan@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	linux-kernel@vger.kernel.org,
	devicetree-discuss@lists.ozlabs.org,
	<linux-arm-kernel@lists.infradead.org>,
	Sascha Hauer <s.hauer@pengutronix.de>
Subject: [PATCH] serial: i.MX: evaluate linux,stdout-path property
Date: Thu,  4 Oct 2012 12:39:51 +0200	[thread overview]
Message-ID: <1349347191-7406-1-git-send-email-s.hauer@pengutronix.de> (raw)

devicetrees may have the linux,stdout-path property to specify the
console. This patch adds support to the i.MX serial driver for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---

I was originally looking for a more generic way to handle this, but
since a struct console has no device associated to it, it's not
possible to match a console with a device in a generic way. So we
just call add_preferred_console from the driver and let it go down
to a string matching in the console code.
If anyone has a better idea how to handle this, please let me know.
Otherwise I'm happy to see this patch applied aswell.

Thanks
 Sascha

 drivers/tty/serial/imx.c |   29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index e309e8b..b52c4a7 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1397,6 +1397,32 @@ static int serial_imx_resume(struct platform_device *dev)
 
 #ifdef CONFIG_OF
 /*
+ * Check if this device matches the linux,stdout-path property
+ * in the chosen node. return true if yes, false otherwise
+ */
+static int serial_imx_is_stdoutpath(struct platform_device *pdev)
+{
+	struct device_node *dn;
+	const char *name;
+
+	if (!IS_ENABLED(CONFIG_SERIAL_IMX_CONSOLE))
+		return 0;
+
+	name = of_get_property(of_chosen, "linux,stdout-path", NULL);
+	if (name == NULL)
+		return 0;
+
+	dn = of_find_node_by_path(name);
+	if (!dn)
+		return 0;
+
+	if (dn == pdev->dev.of_node)
+		return 1;
+
+	return 0;
+}
+
+/*
  * This function returns 1 iff pdev isn't a device instatiated by dt, 0 iff it
  * could successfully get all information from dt or a negative errno.
  */
@@ -1427,6 +1453,9 @@ static int serial_imx_probe_dt(struct imx_port *sport,
 
 	sport->devdata = of_id->data;
 
+	if (serial_imx_is_stdoutpath(pdev))
+		add_preferred_console(imx_reg.cons->name, sport->port.line, 0);
+
 	return 0;
 }
 #else
-- 
1.7.10.4


WARNING: multiple messages have this Message-ID (diff)
From: Sascha Hauer <s.hauer@pengutronix.de>
To: linux-serial@vger.kernel.org
Cc: Alan Cox <alan@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	linux-kernel@vger.kernel.org,
	devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org,
	Sascha Hauer <s.hauer@pengutronix.de>
Subject: [PATCH] serial: i.MX: evaluate linux,stdout-path property
Date: Thu,  4 Oct 2012 12:39:51 +0200	[thread overview]
Message-ID: <1349347191-7406-1-git-send-email-s.hauer@pengutronix.de> (raw)

devicetrees may have the linux,stdout-path property to specify the
console. This patch adds support to the i.MX serial driver for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---

I was originally looking for a more generic way to handle this, but
since a struct console has no device associated to it, it's not
possible to match a console with a device in a generic way. So we
just call add_preferred_console from the driver and let it go down
to a string matching in the console code.
If anyone has a better idea how to handle this, please let me know.
Otherwise I'm happy to see this patch applied aswell.

Thanks
 Sascha

 drivers/tty/serial/imx.c |   29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index e309e8b..b52c4a7 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1397,6 +1397,32 @@ static int serial_imx_resume(struct platform_device *dev)
 
 #ifdef CONFIG_OF
 /*
+ * Check if this device matches the linux,stdout-path property
+ * in the chosen node. return true if yes, false otherwise
+ */
+static int serial_imx_is_stdoutpath(struct platform_device *pdev)
+{
+	struct device_node *dn;
+	const char *name;
+
+	if (!IS_ENABLED(CONFIG_SERIAL_IMX_CONSOLE))
+		return 0;
+
+	name = of_get_property(of_chosen, "linux,stdout-path", NULL);
+	if (name == NULL)
+		return 0;
+
+	dn = of_find_node_by_path(name);
+	if (!dn)
+		return 0;
+
+	if (dn == pdev->dev.of_node)
+		return 1;
+
+	return 0;
+}
+
+/*
  * This function returns 1 iff pdev isn't a device instatiated by dt, 0 iff it
  * could successfully get all information from dt or a negative errno.
  */
@@ -1427,6 +1453,9 @@ static int serial_imx_probe_dt(struct imx_port *sport,
 
 	sport->devdata = of_id->data;
 
+	if (serial_imx_is_stdoutpath(pdev))
+		add_preferred_console(imx_reg.cons->name, sport->port.line, 0);
+
 	return 0;
 }
 #else
-- 
1.7.10.4

WARNING: multiple messages have this Message-ID (diff)
From: s.hauer@pengutronix.de (Sascha Hauer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] serial: i.MX: evaluate linux,stdout-path property
Date: Thu,  4 Oct 2012 12:39:51 +0200	[thread overview]
Message-ID: <1349347191-7406-1-git-send-email-s.hauer@pengutronix.de> (raw)

devicetrees may have the linux,stdout-path property to specify the
console. This patch adds support to the i.MX serial driver for this.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---

I was originally looking for a more generic way to handle this, but
since a struct console has no device associated to it, it's not
possible to match a console with a device in a generic way. So we
just call add_preferred_console from the driver and let it go down
to a string matching in the console code.
If anyone has a better idea how to handle this, please let me know.
Otherwise I'm happy to see this patch applied aswell.

Thanks
 Sascha

 drivers/tty/serial/imx.c |   29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index e309e8b..b52c4a7 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1397,6 +1397,32 @@ static int serial_imx_resume(struct platform_device *dev)
 
 #ifdef CONFIG_OF
 /*
+ * Check if this device matches the linux,stdout-path property
+ * in the chosen node. return true if yes, false otherwise
+ */
+static int serial_imx_is_stdoutpath(struct platform_device *pdev)
+{
+	struct device_node *dn;
+	const char *name;
+
+	if (!IS_ENABLED(CONFIG_SERIAL_IMX_CONSOLE))
+		return 0;
+
+	name = of_get_property(of_chosen, "linux,stdout-path", NULL);
+	if (name == NULL)
+		return 0;
+
+	dn = of_find_node_by_path(name);
+	if (!dn)
+		return 0;
+
+	if (dn == pdev->dev.of_node)
+		return 1;
+
+	return 0;
+}
+
+/*
  * This function returns 1 iff pdev isn't a device instatiated by dt, 0 iff it
  * could successfully get all information from dt or a negative errno.
  */
@@ -1427,6 +1453,9 @@ static int serial_imx_probe_dt(struct imx_port *sport,
 
 	sport->devdata = of_id->data;
 
+	if (serial_imx_is_stdoutpath(pdev))
+		add_preferred_console(imx_reg.cons->name, sport->port.line, 0);
+
 	return 0;
 }
 #else
-- 
1.7.10.4

             reply	other threads:[~2012-10-04 10:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-04 10:39 Sascha Hauer [this message]
2012-10-04 10:39 ` [PATCH] serial: i.MX: evaluate linux,stdout-path property Sascha Hauer
2012-10-04 10:39 ` Sascha Hauer
2012-10-04 12:44 ` Rob Herring
2012-10-04 12:44   ` Rob Herring
2012-10-04 13:12   ` Sascha Hauer
2012-10-04 13:12     ` Sascha Hauer

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=1349347191-7406-1-git-send-email-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=alan@linux.intel.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=rob.herring@calxeda.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 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.