Patchwork [1/2,v4] sparc32,leon: APBUART driver must use archdata to get IRQ number

login
register
mail settings
Submitter Daniel Hellstrom
Date March 30, 2011, 11:12 a.m.
Message ID <1301483561-1402-1-git-send-email-daniel@gaisler.com>
Download mbox | patch
Permalink /patch/88907/
State Accepted
Delegated to: David Miller
Headers show

Comments

Daniel Hellstrom - March 30, 2011, 11:12 a.m.
See Commit id 1636f8ac2b08410df4766449f7c86b912443cd99 (sparc/of:
Move of_device fields into struct pdev_archdata), this patch
is similar to 19e4875fb21a69fbf620e84769a74d189c69c58d (of/sparc:
fix build regression from of_device changes)

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
---
 drivers/tty/serial/apbuart.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)
David Miller - March 30, 2011, 11:29 a.m.
From: Daniel Hellstrom <daniel@gaisler.com>
Date: Wed, 30 Mar 2011 13:12:40 +0200

> See Commit id 1636f8ac2b08410df4766449f7c86b912443cd99 (sparc/of:
> Move of_device fields into struct pdev_archdata), this patch
> is similar to 19e4875fb21a69fbf620e84769a74d189c69c58d (of/sparc:
> fix build regression from of_device changes)
> 
> Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sam Ravnborg - March 30, 2011, 4:32 p.m.
On Wed, Mar 30, 2011 at 04:29:49AM -0700, David Miller wrote:
> From: Daniel Hellstrom <daniel@gaisler.com>
> Date: Wed, 30 Mar 2011 13:12:40 +0200
> 
> > See Commit id 1636f8ac2b08410df4766449f7c86b912443cd99 (sparc/of:
> > Move of_device fields into struct pdev_archdata), this patch
> > is similar to 19e4875fb21a69fbf620e84769a74d189c69c58d (of/sparc:
> > fix build regression from of_device changes)
> > 
> > Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
> > Acked-by: Sam Ravnborg <sam@ravnborg.org>
> 
> Applied.

Good to see these applied.
I am busy with day-time stuff atm. but will return to do some
more sparc stuff in a few weeks.
I get some "new" sparc gear next week which may allow me to
do better testing.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/tty/serial/apbuart.c b/drivers/tty/serial/apbuart.c
index 1ab999b..12d4e7c 100644
--- a/drivers/tty/serial/apbuart.c
+++ b/drivers/tty/serial/apbuart.c
@@ -555,10 +555,9 @@  static struct uart_driver grlib_apbuart_driver = {
 
 static int __devinit apbuart_probe(struct platform_device *op)
 {
-	int i = -1;
+	int i;
 	struct uart_port *port = NULL;
 
-	i = 0;
 	for (i = 0; i < grlib_apbuart_port_nr; i++) {
 		if (op->dev.of_node == grlib_apbuart_nodes[i])
 			break;
@@ -566,6 +565,7 @@  static int __devinit apbuart_probe(struct platform_device *op)
 
 	port = &grlib_apbuart_ports[i];
 	port->dev = &op->dev;
+	port->irq = op->archdata.irqs[0];
 
 	uart_add_one_port(&grlib_apbuart_driver, (struct uart_port *) port);
 
@@ -615,7 +615,7 @@  static int grlib_apbuart_configure(void)
 	freq_khz = *prop;
 
 	for_each_matching_node(np, apbuart_match) {
-		const int *irqs, *ampopts;
+		const int *ampopts;
 		const struct amba_prom_registers *regs;
 		struct uart_port *port;
 		unsigned long addr;
@@ -623,11 +623,9 @@  static int grlib_apbuart_configure(void)
 		ampopts = of_get_property(np, "ampopts", NULL);
 		if (ampopts && (*ampopts == 0))
 			continue; /* Ignore if used by another OS instance */
-
-		irqs = of_get_property(np, "interrupts", NULL);
 		regs = of_get_property(np, "reg", NULL);
 
-		if (!irqs || !regs)
+		if (!regs)
 			continue;
 
 		grlib_apbuart_nodes[line] = np;
@@ -638,7 +636,7 @@  static int grlib_apbuart_configure(void)
 
 		port->mapbase = addr;
 		port->membase = ioremap(addr, sizeof(struct grlib_apbuart_regs_map));
-		port->irq = *irqs;
+		port->irq = 0;
 		port->iotype = UPIO_MEM;
 		port->ops = &grlib_apbuart_ops;
 		port->flags = UPF_BOOT_AUTOCONF;