Skip to contentSkip to conversation

*** SUBJECT HERE ***

PATCH In review Tobias Klauser 6 participants 29 messages Feb 9, 2011 – Feb 28, 2011

Subsystems (3)
lore
Share & tools
lore

Tobias Klauser

author maintainer
#0 lore raw

cover *** SUBJECT HERE ***

*** BLURB HERE ***

Tobias Klauser (4):
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
tty: serial: altera_uart: Use port->regshift to store bus shift
tty: serial: altera_uart: Add devicetree support
MAINTAINERS: Add myself as a maintainer for
altera_uart/altera_jtaguart

 .../devicetree/bindings/serial/altera_uart.txt     |    7 ++
 MAINTAINERS                                        |   10 +++
 drivers/tty/serial/altera_uart.c                   |   69 ++++++++++++++++----
 3 files changed, 74 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
author maintainer
#1 lore raw

PATCH 1/4 tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove

Commit 6b5756f176568a710d008d3b478128fafb6707f0 introduced the possibility for pdev->id being -1 but the change was not done equally in altera_uart_remove. This patch fixes this.

---
 drivers/tty/serial/altera_uart.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/tty/serial/altera_uart.c +7 -1
index 7212162..dee7a0e 100644
@@ -561,9 +561,15 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 
 static int __devexit altera_uart_remove(struct platform_device *pdev)
 {
-	struct uart_port *port = &altera_uart_ports[pdev->id].port;
+	struct uart_port *port;
+	int i = pdev->id;
 
+	if (i == -1)
+		i = 0;
+
+	port = &altera_uart_ports[i].port;
 	uart_remove_one_port(&altera_uart_driver, port);
+
 	return 0;
 }
 
Signature · 1 line
1.7.0.4
author maintainer
#2 lore raw

Re: [PATCH 1/4] tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove

Quoted 3 lines · Tobias Klauser

Commit 6b5756f176568a710d008d3b478128fafb6707f0 introduced the possibility for pdev->id being -1 but the change was not done equally in altera_uart_remove. This patch fixes this.

Please disregard this patch. I'll send it again as a follow up to the correct cover letter.

Sorry for the mess
Tobias

Quoted 31 lines
---
 drivers/tty/serial/altera_uart.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/tty/serial/altera_uart.c +7 -1
index 7212162..dee7a0e 100644
@@ -561,9 +561,15 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 
 static int __devexit altera_uart_remove(struct platform_device *pdev)
 {
-	struct uart_port *port = &altera_uart_ports[pdev->id].port;
+	struct uart_port *port;
+	int i = pdev->id;
 
+	if (i == -1)
+		i = 0;
+
+	port = &altera_uart_ports[i].port;
 	uart_remove_one_port(&altera_uart_driver, port);
+
 	return 0;
 }
 
Signature · 1 line
1.7.0.4
author maintainer
#3 lore raw
In reply to Tobias Klauser
Quoted 1 line · Tobias Klauser

*** BLURB HERE ***

Sorry for this mess. I've accidentialy overwritten my original cover letter. Will send again with the correct subject and text (and better test my submissions in the future).

Quoted 14 lines

Tobias Klauser (4):
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
tty: serial: altera_uart: Use port->regshift to store bus shift
tty: serial: altera_uart: Add devicetree support
MAINTAINERS: Add myself as a maintainer for
altera_uart/altera_jtaguart

 .../devicetree/bindings/serial/altera_uart.txt     |    7 ++
 MAINTAINERS                                        |   10 +++
 drivers/tty/serial/altera_uart.c                   |   69 ++++++++++++++++----
 3 files changed, 74 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
author maintainer
#4 lore raw

cover tty: serial: Updates for altera_uart driver

In reply to Tobias Klauser

This patchset adds some updates to the altera_uart taken from the Nios2 Linux port (currently out-of-tree) repository, the most important one probably being the added devicetree support.

Tobias Klauser (4):
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
tty: serial: altera_uart: Use port->regshift to store bus shift
tty: serial: altera_uart: Add devicetree support
MAINTAINERS: Add myself as a maintainer for
altera_uart/altera_jtaguart

 .../devicetree/bindings/serial/altera_uart.txt     |    7 ++
 MAINTAINERS                                        |   10 +++
 drivers/tty/serial/altera_uart.c                   |   69 ++++++++++++++++----
 3 files changed, 74 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
author maintainer
#5 lore raw

PATCH 1/4 tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove

Commit 6b5756f176568a710d008d3b478128fafb6707f0 introduced the possibility for pdev->id being -1 but the change was not done equally in altera_uart_remove. This patch fixes this.

---
 drivers/tty/serial/altera_uart.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/tty/serial/altera_uart.c +7 -1
index 7212162..dee7a0e 100644
@@ -561,9 +561,15 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 
 static int __devexit altera_uart_remove(struct platform_device *pdev)
 {
-	struct uart_port *port = &altera_uart_ports[pdev->id].port;
+	struct uart_port *port;
+	int i = pdev->id;
 
+	if (i == -1)
+		i = 0;
+
+	port = &altera_uart_ports[i].port;
 	uart_remove_one_port(&altera_uart_driver, port);
+
 	return 0;
 }
 
Signature · 1 line
1.7.0.4
Acked-by on v1 1/4
#6 lore raw

Re: [PATCH 1/4] tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove

Quoted 6 lines · Tobias Klauser

Commit 6b5756f176568a710d008d3b478128fafb6707f0 introduced the possibility for pdev->id being -1 but the change was not done equally in altera_uart_remove. This patch fixes this.

Thanks!

Signature · 2 lines
Anton Vorontsov
Email: [email protected]
author maintainer
#7 lore raw

PATCH 2/4 tty: serial: altera_uart: Use port->regshift to store bus shift

In reply to Tobias Klauser

Use the regshift member of struct uart_port to store the address stride from platform data. This way we can save one dereference per call of altera_uart_readl and altera_uart_writel.

This also allows us to use the driver without platform data, which is needed for device tree support in the Nios2 port.

---
 drivers/tty/serial/altera_uart.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
drivers/tty/serial/altera_uart.c +7 -7
index dee7a0e..3a57352 100644
@@ -86,16 +86,12 @@ struct altera_uart {
 
 static u32 altera_uart_readl(struct uart_port *port, int reg)
 {
-	struct altera_uart_platform_uart *platp = port->private_data;
-
-	return readl(port->membase + (reg << platp->bus_shift));
+	return readl(port->membase + (reg << port->regshift));
 }
 
 static void altera_uart_writel(struct uart_port *port, u32 dat, int reg)
 {
-	struct altera_uart_platform_uart *platp = port->private_data;
-
-	writel(dat, port->membase + (reg << platp->bus_shift));
+	writel(dat, port->membase + (reg << port->regshift));
 }
 
 static unsigned int altera_uart_tx_empty(struct uart_port *port)
@@ -546,13 +542,17 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	if (!port->membase)
 		return -ENOMEM;
 
+	if (platp)
+		port->regshift = platp->bus_shift;
+	else
+		port->regshift = 0;
+
 	port->line = i;
 	port->type = PORT_ALTERA_UART;
 	port->iotype = SERIAL_IO_MEM;
 	port->uartclk = platp->uartclk;
 	port->ops = &altera_uart_ops;
 	port->flags = UPF_BOOT_AUTOCONF;
-	port->private_data = platp;
 
 	uart_add_one_port(&altera_uart_driver, port);
 
Signature · 1 line
1.7.0.4
Acked-by on v1 2/4
#8 lore raw

Re: [PATCH 2/4] tty: serial: altera_uart: Use port->regshift to store bus shift

Quoted 9 lines · Tobias Klauser

Use the regshift member of struct uart_port to store the address stride from platform data. This way we can save one dereference per call of altera_uart_readl and altera_uart_writel.

This also allows us to use the driver without platform data, which is needed for device tree support in the Nios2 port.

Thanks!

Signature · 2 lines
Anton Vorontsov
Email: [email protected]
author maintainer
#9 lore raw

PATCH 3/4 tty: serial: altera_uart: Add devicetree support

In reply to Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---
 .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
 drivers/tty/serial/altera_uart.c                   |   47 ++++++++++++++++++--
 2 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..2ab151c
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+ 
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +43 -4

87 lines not on this page · raw message

Signature · 1 line
1.7.0.4
#10 lore raw

Re: [PATCH 3/4] tty: serial: altera_uart: Add devicetree support

Quoted 60 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---
 .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
 drivers/tty/serial/altera_uart.c                   |   47 ++++++++++++++++++--
 2 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..2ab151c
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+ 
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +18 -0
index 3a57352..5b46ca7 100644
@@ -24,6 +24,7 @@
 #include <linux/serial.h>
 #include <linux/serial_core.h>
 #include <linux/platform_device.h>
+#include <linux/of.h>
 #include <linux/io.h>
 #include <linux/altera_uart.h>
 
@@ -507,6 +508,34 @@ static struct uart_driver altera_uart_driver = {
 	.cons		= ALTERA_UART_CONSOLE,
 };
 
+#ifdef CONFIG_OF
+static int altera_uart_get_uartclk(struct platform_device *pdev,
+				   struct uart_port *port)
+{
+	const __be32 *clk = of_get_property(pdev->dev.of_node, "clock-frequency", NULL);
+
+	if (!clk)
+		return -ENODEV;
+
+	port->uartclk = be32_to_cpup(clk);
+
+	return 0;
+}
+#else
+static int altera_uart_get_uartclk(struct platform_device *pdev,
+				   struct uart_port *port)
+{

drivers/tty/serial/altera_uart.c static struct uart_driver altera_uart_driver = { · line 537

Quoted 10 lines
drivers/tty/serial/altera_uart.c +10 -0
+	struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
+
+	if (!platp)
+		return -ENODEV;
+
+	port->uartclk = platp->uartclk;
+
+	return 0;
+}
+#endif /* CONFIG_OF */

This either/or situation isn't really desirable. The driver should be written so that platform_data works regardless of whether or not CONFIG_OF is set. So, if the of_node pointer is set, use it to get the configuration, but fall back to platform data if it is NULL.

Quoted 32 lines
drivers/tty/serial/altera_uart.c +6 -1
+
 static int __devinit altera_uart_probe(struct platform_device *pdev)
 {
 	struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
@@ -514,6 +543,7 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	struct resource *res_mem;
 	struct resource *res_irq;
 	int i = pdev->id;
+	int ret;
 
 	/* -1 emphasizes that the platform must have one port, no .N suffix */
 	if (i == -1)
@@ -538,6 +568,10 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	else if (platp->irq)
 		port->irq = platp->irq;
 
+	ret = altera_uart_get_uartclk(pdev, port);
+	if (ret)
+		return ret;
+
 	port->membase = ioremap(port->mapbase, ALTERA_UART_SIZE);
 	if (!port->membase)
 		return -ENOMEM;
@@ -550,7 +584,6 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	port->line = i;
 	port->type = PORT_ALTERA_UART;
 	port->iotype = SERIAL_IO_MEM;
-	port->uartclk = platp->uartclk;
 	port->ops = &altera_uart_ops;
 	port->flags = UPF_BOOT_AUTOCONF;
 

drivers/tty/serial/altera_uart.c static int __devexit altera_uart_remove(struct platform_device *pdev) · line 613

Quoted 8 lines
drivers/tty/serial/altera_uart.c +5 -0
@@ -573,13 +606,19 @@ static int __devexit altera_uart_remove(struct platform_device *pdev)
 	return 0;
 }
 
+static struct of_device_id altera_uart_match[] = {
+	{ .compatible = "altr,uart-1.0", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, altera_uart_match);

Need to protect the MODULE_DEVICE_TABLE with #ifdef/#endif. You don't want to advertise device tree support when CONFIG_OF isn't selected.

Quoted 17 lines
drivers/tty/serial/altera_uart.c +4 -3
+
 static struct platform_driver altera_uart_platform_driver = {
 	.probe	= altera_uart_probe,
 	.remove	= __devexit_p(altera_uart_remove),
 	.driver	= {
-		.name	= DRV_NAME,
-		.owner	= THIS_MODULE,
-		.pm	= NULL,
+		.name		= DRV_NAME,
+		.owner		= THIS_MODULE,
+		.of_match_table	= altera_uart_match,
 	},
 };
 
Signature · 1 line
1.7.0.4
author maintainer
#11 lore raw

Re: [PATCH 3/4] tty: serial: altera_uart: Add devicetree support

Quoted 68 lines · Grant Likely
Quoted 67 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---
 .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
 drivers/tty/serial/altera_uart.c                   |   47 ++++++++++++++++++--
 2 files changed, 50 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..2ab151c
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+ 
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +25 -0
index 3a57352..5b46ca7 100644
@@ -24,6 +24,7 @@
 #include <linux/serial.h>
 #include <linux/serial_core.h>
 #include <linux/platform_device.h>
+#include <linux/of.h>
 #include <linux/io.h>
 #include <linux/altera_uart.h>
 
@@ -507,6 +508,34 @@ static struct uart_driver altera_uart_driver = {
 	.cons		= ALTERA_UART_CONSOLE,
 };
 
+#ifdef CONFIG_OF
+static int altera_uart_get_uartclk(struct platform_device *pdev,
+				   struct uart_port *port)
+{
+	const __be32 *clk = of_get_property(pdev->dev.of_node, "clock-frequency", NULL);
+
+	if (!clk)
+		return -ENODEV;
+
+	port->uartclk = be32_to_cpup(clk);
+
+	return 0;
+}
+#else
+static int altera_uart_get_uartclk(struct platform_device *pdev,
+				   struct uart_port *port)
+{
+	struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
+
+	if (!platp)
+		return -ENODEV;
+
+	port->uartclk = platp->uartclk;
+
Quoted 8 lines

drivers/tty/serial/altera_uart.c static struct uart_driver altera_uart_driver = { · line 537

Quoted 3 lines
drivers/tty/serial/altera_uart.c +3 -0
+	return 0;
+}
+#endif /* CONFIG_OF */

This either/or situation isn't really desirable. The driver should be written so that platform_data works regardless of whether or not CONFIG_OF is set. So, if the of_node pointer is set, use it to get the configuration, but fall back to platform data if it is NULL.

Agreed, I'll fix this. Though that case will most probably never happen, we either use device tree data or platform data.

Quoted 35 lines
Quoted 35 lines
drivers/tty/serial/altera_uart.c +6 -1
+
 static int __devinit altera_uart_probe(struct platform_device *pdev)
 {
 	struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
@@ -514,6 +543,7 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	struct resource *res_mem;
 	struct resource *res_irq;
 	int i = pdev->id;
+	int ret;
 
 	/* -1 emphasizes that the platform must have one port, no .N suffix */
 	if (i == -1)
@@ -538,6 +568,10 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	else if (platp->irq)
 		port->irq = platp->irq;
 
+	ret = altera_uart_get_uartclk(pdev, port);
+	if (ret)
+		return ret;
+
 	port->membase = ioremap(port->mapbase, ALTERA_UART_SIZE);
 	if (!port->membase)
 		return -ENOMEM;
@@ -550,7 +584,6 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
 	port->line = i;
 	port->type = PORT_ALTERA_UART;
 	port->iotype = SERIAL_IO_MEM;
-	port->uartclk = platp->uartclk;
 	port->ops = &altera_uart_ops;
 	port->flags = UPF_BOOT_AUTOCONF;
 
@@ -573,13 +606,19 @@ static int __devexit altera_uart_remove(struct platform_device *pdev)
 	return 0;
 }
 
Quoted 8 lines

drivers/tty/serial/altera_uart.c static int __devexit altera_uart_remove(struct platform_device *pdev) · line 613

Quoted 5 lines
drivers/tty/serial/altera_uart.c +5 -0
+static struct of_device_id altera_uart_match[] = {
+	{ .compatible = "altr,uart-1.0", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, altera_uart_match);

Need to protect the MODULE_DEVICE_TABLE with #ifdef/#endif. You don't want to advertise device tree support when CONFIG_OF isn't selected.

Shall I put the #ifdef around the whole table and define it as NULL if CONFIG_OF is not defined - like this:

	#ifdef CONFIG_OF
	static struct of_device_id altera_uart_match[] = {
		{ .compatible = "altr,uart-1.0", },
		{},
	};
	MODULE_DEVICE_TABLE(of, altera_uart_match);
	#else
	#define altera_uart_match NULL
	#endif /* CONFIG_OF */

or will it be sufficient to just #ifdef the MODULE_DEVICE_TABLE:

	static struct of_device_id altera_uart_match[] = {
		{ .compatible = "altr,uart-1.0", },
		{},
	};
	#ifdef CONFIG_OF
	MODULE_DEVICE_TABLE(of, altera_uart_match);
	#endif
Quoted 18 lines
Quoted 17 lines
drivers/tty/serial/altera_uart.c +4 -3
+
 static struct platform_driver altera_uart_platform_driver = {
 	.probe	= altera_uart_probe,
 	.remove	= __devexit_p(altera_uart_remove),
 	.driver	= {
-		.name	= DRV_NAME,
-		.owner	= THIS_MODULE,
-		.pm	= NULL,
+		.name		= DRV_NAME,
+		.owner		= THIS_MODULE,
+		.of_match_table	= altera_uart_match,
 	},
 };
 
Signature · 1 line
1.7.0.4
#12 lore raw

Re: [PATCH 3/4] tty: serial: altera_uart: Add devicetree support

Quoted 11 lines · Tobias Klauser
Quoted 10 lines · Grant Likely
Quoted 9 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---

[...]

Quoted 24 lines
Quoted 8 lines

drivers/tty/serial/altera_uart.c static int __devexit altera_uart_remove(struct platform_device *pdev) · line 613

Quoted 5 lines
drivers/tty/serial/altera_uart.c +5 -0
+static struct of_device_id altera_uart_match[] = {
+	{ .compatible = "altr,uart-1.0", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, altera_uart_match);

Need to protect the MODULE_DEVICE_TABLE with #ifdef/#endif. You don't want to advertise device tree support when CONFIG_OF isn't selected.

Shall I put the #ifdef around the whole table and define it as NULL if CONFIG_OF is not defined - like this:

	#ifdef CONFIG_OF
	static struct of_device_id altera_uart_match[] = {
		{ .compatible = "altr,uart-1.0", },
		{},
	};
	MODULE_DEVICE_TABLE(of, altera_uart_match);
	#else
	#define altera_uart_match NULL
	#endif /* CONFIG_OF */

or will it be sufficient to just #ifdef the MODULE_DEVICE_TABLE:

Quoted 7 lines
	static struct of_device_id altera_uart_match[] = {
		{ .compatible = "altr,uart-1.0", },
		{},
	};
	#ifdef CONFIG_OF
	MODULE_DEVICE_TABLE(of, altera_uart_match);
	#endif

Either is fine, but the first will have a smaller memory footprint when CONFIG_OF is deselected.

g.

author maintainer
#13 lore raw

PATCH v2 1/1 tty: serial: altera_uart: Add devicetree support

In reply to Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---
Thanks to Grant Likely for the review.

changes in v2:
- fall back to uartclk from platform data if the device tree property is not available.
- Only include MODULE_DEVICE_TABLE if CONFIG_OF is set so we don't advertise device tree support if CONFIG_OF isn't active.
- change vendor prefix in match table to be uppercase for consistency with documentation

 .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
 drivers/tty/serial/altera_uart.c                   |   50 ++++++++++++++++++--
 2 files changed, 53 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..71cae3f
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +46 -4

90 lines not on this page · raw message

Signature · 1 line
1.7.0.4
#14 lore raw

Re: [Nios2-dev] [PATHV v2] tty: serial: altera_uart: Add devicetree support

Hi Tobias,

Quoted 89 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---
Thanks to Grant Likely for the review.

changes in v2:
- fall back to uartclk from platform data if the device tree property is not available.
- Only include MODULE_DEVICE_TABLE if CONFIG_OF is set so we don't advertise device tree support if CONFIG_OF isn't active.
- change vendor prefix in match table to be uppercase for consistency with documentation

  .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
  drivers/tty/serial/altera_uart.c                   |   50 ++++++++++++++++++--
  2 files changed, 53 insertions(+), 4 deletions(-)

create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt

Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..71cae3f
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +25 -0
index 5e80977..4f0898c 100644
@@ -24,6 +24,7 @@
  #include<linux/serial.h>
  #include<linux/serial_core.h>
  #include<linux/platform_device.h>
+#include<linux/of.h>
  #include<linux/io.h>
  #include<linux/altera_uart.h>
 
@@ -484,6 +485,29 @@ static struct uart_driver altera_uart_driver = {
  	.cons		= ALTERA_UART_CONSOLE,
  };
 
+#ifdef CONFIG_OF
+static int altera_uart_get_of_uartclk(struct platform_device *pdev,
+				      struct uart_port *port)
+{
+	int len;
+	const __be32 *clk;
+
+	clk = of_get_property(pdev->dev.of_node, "clock-frequency",&len);
+	if (!clk || len<  sizeof(__be32))
+		return -ENODEV;
+
+	port->uartclk = be32_to_cpup(clk);
+
+	return 0;
+}
+#else
+static int altera_uart_get_of_uartclk(struct platform_device *pdev,
+				      struct uart_port *port)
+{
+	return -ENODEV;
+}
+#endif /* CONFIG_OF */
+
  static int __devinit altera_uart_probe(struct platform_device *pdev)
  {
  	struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
@@ -491,6 +515,7 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
  	struct resource *res_mem;
  	struct resource *res_irq;
  	int i = pdev->id;
+	int ret;
 
  	/* -1 emphasizes that the platform must have one port, no .N suffix */
  	if (i == -1)

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 544

Quoted 5 lines
drivers/tty/serial/altera_uart.c +2 -0
@@ -515,6 +540,14 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
  	else if (platp->irq)
  		port->irq = platp->irq;
 
+	/* Try to get the uartclk from devicetree, fall back to platform data
+	 * otherwise */

Please follow multi-line comment style.

/*
* xxxx
* xxxx
*/

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 550

Quoted 6 lines
drivers/tty/serial/altera_uart.c +6 -0
+	ret = altera_uart_get_of_uartclk(pdev, port);
+	if (ret&&  platp)
+		port->uartclk = platp->uartclk;
+	else if (ret)
+		return ret;
+

Better reverse the priority, with platform data checked first.

	if (platp)
		port->uartclk = platp->uartclk;
	else {
		ret = altera_uart_get_of_uartclk(pdev, port);
		if (ret)
			return ret;
	}
Quoted 28 lines
drivers/tty/serial/altera_uart.c +10 -1
  	port->membase = ioremap(port->mapbase, ALTERA_UART_SIZE);
  	if (!port->membase)
  		return -ENOMEM;
@@ -527,7 +560,6 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
  	port->line = i;
  	port->type = PORT_ALTERA_UART;
  	port->iotype = SERIAL_IO_MEM;
-	port->uartclk = platp->uartclk;
  	port->ops =&altera_uart_ops;
  	port->flags = UPF_BOOT_AUTOCONF;
 
@@ -550,13 +582,23 @@ static int __devexit altera_uart_remove(struct platform_device *pdev)
  	return 0;
  }
 
+#ifdef CONFIG_OF
+static struct of_device_id altera_uart_match[] = {
+	{ .compatible = "ALTR,uart-1.0", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, altera_uart_match);
+#else
+#define altera_uart_match NULL
+#endif /* CONFIG_OF */
+
  static struct platform_driver altera_uart_platform_driver = {
  	.probe	= altera_uart_probe,
  	.remove	= __devexit_p(altera_uart_remove),

drivers/tty/serial/altera_uart.c static int __devexit altera_uart_remove(struct platform_device *pdev) · line 604

Quoted 10 lines
drivers/tty/serial/altera_uart.c +3 -3
  	.driver	= {
-		.name	= DRV_NAME,
-		.owner	= THIS_MODULE,
-		.pm	= NULL,
+		.name		= DRV_NAME,
+		.owner		= THIS_MODULE,
+		.of_match_table	= altera_uart_match,
  	},
  };
 

Regards,
Thomas

author maintainer
#15 lore raw

Re: [Nios2-dev] [PATHV v2] tty: serial: altera_uart: Add devicetree support

Hi Thomas,

Thanks a lot for your comments.

Quoted 98 lines · Thomas Chou
Quoted 89 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---
Thanks to Grant Likely for the review.

changes in v2:
- fall back to uartclk from platform data if the device tree property is not available.
- Only include MODULE_DEVICE_TABLE if CONFIG_OF is set so we don't advertise device tree support if CONFIG_OF isn't active.
- change vendor prefix in match table to be uppercase for consistency with documentation

  .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
  drivers/tty/serial/altera_uart.c                   |   50 ++++++++++++++++++--
  2 files changed, 53 insertions(+), 4 deletions(-)

create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt

Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..71cae3f
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +25 -0
index 5e80977..4f0898c 100644
@@ -24,6 +24,7 @@
  #include<linux/serial.h>
  #include<linux/serial_core.h>
  #include<linux/platform_device.h>
+#include<linux/of.h>
  #include<linux/io.h>
  #include<linux/altera_uart.h>
 
@@ -484,6 +485,29 @@ static struct uart_driver altera_uart_driver = {
  	.cons		= ALTERA_UART_CONSOLE,
  };
 
+#ifdef CONFIG_OF
+static int altera_uart_get_of_uartclk(struct platform_device *pdev,
+				      struct uart_port *port)
+{
+	int len;
+	const __be32 *clk;
+
+	clk = of_get_property(pdev->dev.of_node, "clock-frequency",&len);
+	if (!clk || len<  sizeof(__be32))
+		return -ENODEV;
+
+	port->uartclk = be32_to_cpup(clk);
+
+	return 0;
+}
+#else
+static int altera_uart_get_of_uartclk(struct platform_device *pdev,
+				      struct uart_port *port)
+{
+	return -ENODEV;
+}
+#endif /* CONFIG_OF */
+
  static int __devinit altera_uart_probe(struct platform_device *pdev)
  {
  	struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
@@ -491,6 +515,7 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
  	struct resource *res_mem;
  	struct resource *res_irq;
  	int i = pdev->id;
+	int ret;
 
  	/* -1 emphasizes that the platform must have one port, no .N suffix */
  	if (i == -1)

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 544

Quoted 5 lines
drivers/tty/serial/altera_uart.c +2 -0
@@ -515,6 +540,14 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
  	else if (platp->irq)
  		port->irq = platp->irq;
 
+	/* Try to get the uartclk from devicetree, fall back to platform data
+	 * otherwise */

Please follow multi-line comment style.

Quoted 4 lines

/*
* xxxx
* xxxx
*/

I will fix this.

Quoted 9 lines

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 550

Quoted 6 lines
drivers/tty/serial/altera_uart.c +6 -0
+	ret = altera_uart_get_of_uartclk(pdev, port);
+	if (ret&&  platp)
+		port->uartclk = platp->uartclk;
+	else if (ret)
+		return ret;
+

Better reverse the priority, with platform data checked first.

Quoted 7 lines
	if (platp)
		port->uartclk = platp->uartclk;
	else {
		ret = altera_uart_get_of_uartclk(pdev, port);
		if (ret)
			return ret;
	}

Do you have a specific reasoning for this? I thought it might make sense to do it in the same order as with the resources above, but I have no problem changing it to the way you suggest.

Quoted 30 lines
Quoted 30 lines
drivers/tty/serial/altera_uart.c +10 -1
  	port->membase = ioremap(port->mapbase, ALTERA_UART_SIZE);
  	if (!port->membase)
  		return -ENOMEM;
@@ -527,7 +560,6 @@ static int __devinit altera_uart_probe(struct platform_device *pdev)
  	port->line = i;
  	port->type = PORT_ALTERA_UART;
  	port->iotype = SERIAL_IO_MEM;
-	port->uartclk = platp->uartclk;
  	port->ops =&altera_uart_ops;
  	port->flags = UPF_BOOT_AUTOCONF;
 
@@ -550,13 +582,23 @@ static int __devexit altera_uart_remove(struct platform_device *pdev)
  	return 0;
  }
 
+#ifdef CONFIG_OF
+static struct of_device_id altera_uart_match[] = {
+	{ .compatible = "ALTR,uart-1.0", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, altera_uart_match);
+#else
+#define altera_uart_match NULL
+#endif /* CONFIG_OF */
+
  static struct platform_driver altera_uart_platform_driver = {
  	.probe	= altera_uart_probe,
  	.remove	= __devexit_p(altera_uart_remove),
  	.driver	= {
Quoted 8 lines

drivers/tty/serial/altera_uart.c static int __devexit altera_uart_remove(struct platform_device *pdev) · line 603

Quoted 8 lines
drivers/tty/serial/altera_uart.c +3 -3
-		.name	= DRV_NAME,
-		.owner	= THIS_MODULE,
-		.pm	= NULL,
+		.name		= DRV_NAME,
+		.owner		= THIS_MODULE,
+		.of_match_table	= altera_uart_match,
  	},
  };

Cheers
Tobias

#16 lore raw

Re: [Nios2-dev] [PATHV v2] tty: serial: altera_uart: Add devicetree support

Quoted 17 lines · Tobias Klauser
Quoted 9 lines

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 550

Quoted 6 lines
drivers/tty/serial/altera_uart.c +6 -0
+	ret = altera_uart_get_of_uartclk(pdev, port);
+	if (ret&&   platp)
+		port->uartclk = platp->uartclk;
+	else if (ret)
+		return ret;
+

Better reverse the priority, with platform data checked first.

Quoted 7 lines
	if (platp)
		port->uartclk = platp->uartclk;
	else {
		ret = altera_uart_get_of_uartclk(pdev, port);
		if (ret)
			return ret;
	}
Quoted 3 lines

Do you have a specific reasoning for this? I thought it might make sense to do it in the same order as with the resources above, but I have no problem changing it to the way you suggest.

Not quite sure. But I see some drivers follow this order, and I just followed, too.

- Thomas

#17 lore raw

Re: [Nios2-dev] [PATHV v2] tty: serial: altera_uart: Add devicetree support

Quoted 19 lines · Thomas Chou
Quoted 18 lines · Tobias Klauser
Quoted 17 lines

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 550

Quoted 7 lines
drivers/tty/serial/altera_uart.c +6 -0
+       ret = altera_uart_get_of_uartclk(pdev, port);
+       if (ret&&   platp)
+               port->uartclk = platp->uartclk;
+       else if (ret)
+               return ret;
+

Better reverse the priority, with platform data checked first.

       if (platp)
               port->uartclk = platp->uartclk;
       else {
               ret = altera_uart_get_of_uartclk(pdev, port);
               if (ret)
                       return ret;
       }
Quoted 6 lines
Quoted 3 lines

Do you have a specific reasoning for this? I thought it might make sense to do it in the same order as with the resources above, but I have no problem changing it to the way you suggest.

Not quite sure. But I see some drivers follow this order, and I just followed, too.

The reason to check for platform_data first is that if a device has *both* platform data and a device node pointer, then more than likely the platform_data is indented to override the device node data.

g.

author maintainer
#18 lore raw

Re: [Nios2-dev] [PATHV v2] tty: serial: altera_uart: Add devicetree support

Quoted 24 lines · Grant Likely
Quoted 23 lines · Thomas Chou
Quoted 21 lines · Tobias Klauser
Quoted 10 lines

drivers/tty/serial/altera_uart.c static int __devinit altera_uart_probe(struct platform_device *pdev) · line 550

Quoted 7 lines
drivers/tty/serial/altera_uart.c +6 -0
+       ret = altera_uart_get_of_uartclk(pdev, port);
+       if (ret&&   platp)
+               port->uartclk = platp->uartclk;
+       else if (ret)
+               return ret;
+

Better reverse the priority, with platform data checked first.

Quoted 7 lines
       if (platp)
               port->uartclk = platp->uartclk;
       else {
               ret = altera_uart_get_of_uartclk(pdev, port);
               if (ret)
                       return ret;
       }

Do you have a specific reasoning for this? I thought it might make sense to do it in the same order as with the resources above, but I have no problem changing it to the way you suggest.

Quoted 6 lines
Quoted 2 lines

Not quite sure. But I see some drivers follow this order, and I just followed, too.

The reason to check for platform_data first is that if a device has *both* platform data and a device node pointer, then more than likely the platform_data is indented to override the device node data.

Thanks Grant and Thomas for the explanation. I was just wondering. I'll send an updated patch including the changes suggested by Thomas.

Tobias

author maintainer
#19 lore raw

PATCH v3 3/4 tty: serial: altera_uart: Add devicetree support

In reply to Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

---

Greg: This patch will have the same compile problem in your tree as the altera_jtaguart patch has. As this patch depends on the previous ones of this series it might be best to apply it once commit c9e358dfc "driver-core: remove conditionals around devicetree pointers" from Grant's tree is merged.

Thanks to Grant Likely and Thomas Chou for their comments.

v3:
- Change order for getting uartclk.
v2:
- fall back to uartclk from platform data if the device tree property is not available.
- Only include MODULE_DEVICE_TABLE if CONFIG_OF is set so we don't advertise device tree support if CONFIG_OF isn't active.
- change vendor prefix in match table to be uppercase for consistency with documentation

 .../devicetree/bindings/serial/altera_uart.txt     |    7 +++
 drivers/tty/serial/altera_uart.c                   |   51 ++++++++++++++++++--
 2 files changed, 54 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
Documentation/devicetree/bindings/serial/altera_uart.txt new file +7 -0
new file mode 100644
index 0000000..71cae3f
@@ -0,0 +1,7 @@
+Altera UART
+
+Required properties:
+- compatible : should be "ALTR,uart-1.0"
+
+Optional properties:
+- clock-frequency : frequency of the clock input to the UART
drivers/tty/serial/altera_uart.c +47 -4

91 lines not on this page · raw message

Signature · 1 line
1.7.0.4
Acked-by Greg Kroah-Hartman on v3 3/4
#20 lore raw

Re: [PATCH 3/4 v3] tty: serial: altera_uart: Add devicetree support

Quoted 9 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

Quoted 7 lines

---

Greg: This patch will have the same compile problem in your tree as the altera_jtaguart patch has. As this patch depends on the previous ones of this series it might be best to apply it once commit c9e358dfc "driver-core: remove conditionals around devicetree pointers" from Grant's tree is merged.

Ok, I can't take this then, Grant, can you?

Please feel free to add:

to it.

thanks,

greg k-h

Applied
#21 lore raw

Re: [PATCH 3/4 v3] tty: serial: altera_uart: Add devicetree support

Quoted 18 lines · Greg KH
Quoted 9 lines · Tobias Klauser

With the recent switch of the (currently still out-of-tree) Nios2 Linux port to devicetree we want to be able to retreive the resources and properties from dts.

The old method to retreive resources and properties from platform data is still supported.

Cc Grant Likely <grant.likely-s3s/[email protected]>
Quoted 7 lines

---

Greg: This patch will have the same compile problem in your tree as the altera_jtaguart patch has. As this patch depends on the previous ones of this series it might be best to apply it once commit c9e358dfc "driver-core: remove conditionals around devicetree pointers" from Grant's tree is merged.

Quoted 5 lines

Ok, I can't take this then, Grant, can you?

Please feel free to add:

to it.

Merged, thanks,

g.

author maintainer
#22 lore raw

PATCH 4/4 MAINTAINERS: Add myself as a maintainer for altera_uart/altera_jtaguart

In reply to Tobias Klauser
---
 MAINTAINERS |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
MAINTAINERS +10 -0
index ecef0f1..4e86a11 100644
@@ -465,6 +465,16 @@ M:	Matt Turner <[email protected]>
 L:	[email protected]
 F:	arch/alpha/
 
+ALTERA UART/JTAG UART SERIAL DRIVERS
+M:	Tobias Klauser <[email protected]>
+L:	[email protected]
+L:	[email protected] (moderated for non-subscribers)
+S:	Maintained
+F:	drivers/tty/serial/altera_uart.c
+F:	drivers/tty/serial/altera_jtaguart.c
+F:	include/linux/altera_uart.h
+F:	include/linux/altera_jtaguart.h
+
 AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
 M:	Thomas Dahlmann <[email protected]>
 L:	[email protected] (moderated for non-subscribers)
Signature · 1 line
1.7.0.4
#23 lore raw

Re: [Nios2-dev] [PATCH 4/4] MAINTAINERS: Add myself as a maintainer for altera_uart/altera_jtaguart

Quoted 16 lines · Tobias Klauser
---
  MAINTAINERS |   10 ++++++++++
  1 files changed, 10 insertions(+), 0 deletions(-)
MAINTAINERS +3 -0
index ecef0f1..4e86a11 100644
@@ -465,6 +465,16 @@ M:	Matt Turner<[email protected]>
  L:	[email protected]
  F:	arch/alpha/
 
+ALTERA UART/JTAG UART SERIAL DRIVERS
+M:	Tobias Klauser<[email protected]>
+L:	[email protected]

MAINTAINERS M: Matt Turner<[email protected]> · line 480

Quoted 10 lines
MAINTAINERS +7 -0
+L:	[email protected] (moderated for non-subscribers)
+S:	Maintained
+F:	drivers/tty/serial/altera_uart.c
+F:	drivers/tty/serial/altera_jtaguart.c
+F:	include/linux/altera_uart.h
+F:	include/linux/altera_jtaguart.h
+
  AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
  M:	Thomas Dahlmann<[email protected]>
  L:	[email protected] (moderated for non-subscribers)

Hi Tobias,

As we get more drivers merged into mainline, we might consider adding a general entry for all altera related drivers to our mailing list. We could add "F: arch/nios2" to this entry in the near future.

1) subject: MAINTAINERS: add Altera related drivers entry send this to Andrew Morton.

ALTERA EMBEDDED ARCH AND PERIPHERALS DRIVERS
L: [email protected] (moderated for non-subscribers)
S: Maintained
K: altera

2) subject: MAINTAINERS: add Altera UART/JTAG UART maintainer

ALTERA UART/JTAG UART SERIAL DRIVERS
M: Tobias Klauser <[email protected]>
L: [email protected]
S: Maintained
F: drivers/tty/serial/altera_uart.c
F: drivers/tty/serial/altera_jtaguart.c
F: include/linux/altera_uart.h
F: include/linux/altera_jtaguart.h

Regards,
Thomas

author maintainer
#24 lore raw

Re: [Nios2-dev] [PATCH 4/4] MAINTAINERS: Add myself as a maintainer for altera_uart/altera_jtaguart

Hi Thomas

Quoted 30 lines · Thomas Chou
Quoted 16 lines · Tobias Klauser
---
  MAINTAINERS |   10 ++++++++++
  1 files changed, 10 insertions(+), 0 deletions(-)
MAINTAINERS +3 -0
index ecef0f1..4e86a11 100644
@@ -465,6 +465,16 @@ M:	Matt Turner<[email protected]>
  L:	[email protected]
  F:	arch/alpha/
 
+ALTERA UART/JTAG UART SERIAL DRIVERS
+M:	Tobias Klauser<[email protected]>
+L:	[email protected]

MAINTAINERS M: Matt Turner<[email protected]> · line 480

Quoted 10 lines
MAINTAINERS +7 -0
+L:	[email protected] (moderated for non-subscribers)
+S:	Maintained
+F:	drivers/tty/serial/altera_uart.c
+F:	drivers/tty/serial/altera_jtaguart.c
+F:	include/linux/altera_uart.h
+F:	include/linux/altera_jtaguart.h
+
  AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
  M:	Thomas Dahlmann<[email protected]>
  L:	[email protected] (moderated for non-subscribers)

Hi Tobias,

Quoted 3 lines

As we get more drivers merged into mainline, we might consider adding a general entry for all altera related drivers to our mailing list. We could add "F: arch/nios2" to this entry in the near future.

That's great. I didn't know about the K: section entry.

I will send a patch as below.

Quoted 10 lines

1) subject: MAINTAINERS: add Altera related drivers entry send this to Andrew Morton.

ALTERA EMBEDDED ARCH AND PERIPHERALS DRIVERS
L: [email protected] (moderated for non-subscribers)
S: Maintained
K: altera

2) subject: MAINTAINERS: add Altera UART/JTAG UART maintainer

Quoted 8 lines

ALTERA UART/JTAG UART SERIAL DRIVERS
M: Tobias Klauser <[email protected]>
L: [email protected]
S: Maintained
F: drivers/tty/serial/altera_uart.c
F: drivers/tty/serial/altera_jtaguart.c
F: include/linux/altera_uart.h
F: include/linux/altera_jtaguart.h

Thanks
Tobias

#25 lore raw

Re: [Nios2-dev] [PATCH 4/4] MAINTAINERS: Add myself as a maintainer for altera_uart/altera_jtaguart

In reply to Thomas Chou
Quoted 3 lines · Thomas Chou

As we get more drivers merged into mainline, we might consider adding a general entry for all altera related drivers to our mailing list. We could add "F: arch/nios2" to this entry in the near future.

On a related topic, are there plans to submit the nios2 arch code for review any time soon?

I'm usually reviewing all architectures that come in, and unicore32 is almost ready to go in, so there is room to start reviewing the next one.

I expect nios2, lm32 and c64x to be submitted this year, but I'll probably only be able to review one at time. First come, first serve.

Arnd

author maintainer
#26 lore raw

Re: [Nios2-dev] [PATCH 4/4] MAINTAINERS: Add myself as a maintainer for altera_uart/altera_jtaguart

Hi Arnd,

Quoted 7 lines · Arnd Bergmann
Quoted 3 lines · Thomas Chou

As we get more drivers merged into mainline, we might consider adding a general entry for all altera related drivers to our mailing list. We could add "F: arch/nios2" to this entry in the near future.

On a related topic, are there plans to submit the nios2 arch code for review any time soon?

I'm currently in contact with Altera on exactly this matter. We're planning to submit the nios2 architecture code for review really soon now.

Quoted 3 lines

I'm usually reviewing all architectures that come in, and unicore32 is almost ready to go in, so there is room to start reviewing the next one.

That's great to hear. I followed the submission and review of unicore32 a bit and read some of your replies on how to proceed. I already learned a lot from that and will try to apply it for the nios2 submission.

Quoted 3 lines

I expect nios2, lm32 and c64x to be submitted this year, but I'll probably only be able to review one at time. First come, first serve.

So I hope we'll be the first ones then :-)

Thanks a lot for your notice

Tobias

#27 lore raw

Re: [PATCH 0/4] tty: serial: Updates for altera_uart driver

In reply to Tobias Klauser
Quoted 10 lines · Tobias Klauser

This patchset adds some updates to the altera_uart taken from the Nios2 Linux port (currently out-of-tree) repository, the most important one probably being the added devicetree support.

Tobias Klauser (4):
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
tty: serial: altera_uart: Use port->regshift to store bus shift
tty: serial: altera_uart: Add devicetree support
MAINTAINERS: Add myself as a maintainer for
altera_uart/altera_jtaguart

I've applied 3 of these patches, skipping the device tree patch, as it looks like you are going to rework it.

thanks,

greg k-h

author maintainer
#28 lore raw

Re: [PATCH 0/4] tty: serial: Updates for altera_uart driver

Quoted 12 lines · Greg KH
Quoted 10 lines · Tobias Klauser

This patchset adds some updates to the altera_uart taken from the Nios2 Linux port (currently out-of-tree) repository, the most important one probably being the added devicetree support.

Tobias Klauser (4):
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
tty: serial: altera_uart: Use port->regshift to store bus shift
tty: serial: altera_uart: Add devicetree support
MAINTAINERS: Add myself as a maintainer for
altera_uart/altera_jtaguart

Quoted 2 lines

I've applied 3 of these patches, skipping the device tree patch, as it looks like you are going to rework it.

Yup, I'm currently waiting for a reply from Thomas and will update it accordingly then. I'll send the updated patch later on (hopefully with correct subject line this time).

Thanks a lot
Tobias