Commit 10544f12 authored by Daniel Hellstrom's avatar Daniel Hellstrom Committed by David S. Miller

sparc32, leon: APBUART driver must use archdata to get IRQ number

See Commit id 1636f8ac (sparc/of:
Move of_device fields into struct pdev_archdata), this patch
is similar to 19e4875f (of/sparc:
fix build regression from of_device changes)
Signed-off-by: default avatarDaniel Hellstrom <daniel@gaisler.com>
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 97c278e3
...@@ -555,10 +555,9 @@ static struct uart_driver grlib_apbuart_driver = { ...@@ -555,10 +555,9 @@ static struct uart_driver grlib_apbuart_driver = {
static int __devinit apbuart_probe(struct platform_device *op) static int __devinit apbuart_probe(struct platform_device *op)
{ {
int i = -1; int i;
struct uart_port *port = NULL; struct uart_port *port = NULL;
i = 0;
for (i = 0; i < grlib_apbuart_port_nr; i++) { for (i = 0; i < grlib_apbuart_port_nr; i++) {
if (op->dev.of_node == grlib_apbuart_nodes[i]) if (op->dev.of_node == grlib_apbuart_nodes[i])
break; break;
...@@ -566,6 +565,7 @@ static int __devinit apbuart_probe(struct platform_device *op) ...@@ -566,6 +565,7 @@ static int __devinit apbuart_probe(struct platform_device *op)
port = &grlib_apbuart_ports[i]; port = &grlib_apbuart_ports[i];
port->dev = &op->dev; port->dev = &op->dev;
port->irq = op->archdata.irqs[0];
uart_add_one_port(&grlib_apbuart_driver, (struct uart_port *) port); uart_add_one_port(&grlib_apbuart_driver, (struct uart_port *) port);
...@@ -615,7 +615,7 @@ static int grlib_apbuart_configure(void) ...@@ -615,7 +615,7 @@ static int grlib_apbuart_configure(void)
freq_khz = *prop; freq_khz = *prop;
for_each_matching_node(np, apbuart_match) { for_each_matching_node(np, apbuart_match) {
const int *irqs, *ampopts; const int *ampopts;
const struct amba_prom_registers *regs; const struct amba_prom_registers *regs;
struct uart_port *port; struct uart_port *port;
unsigned long addr; unsigned long addr;
...@@ -623,11 +623,9 @@ static int grlib_apbuart_configure(void) ...@@ -623,11 +623,9 @@ static int grlib_apbuart_configure(void)
ampopts = of_get_property(np, "ampopts", NULL); ampopts = of_get_property(np, "ampopts", NULL);
if (ampopts && (*ampopts == 0)) if (ampopts && (*ampopts == 0))
continue; /* Ignore if used by another OS instance */ continue; /* Ignore if used by another OS instance */
irqs = of_get_property(np, "interrupts", NULL);
regs = of_get_property(np, "reg", NULL); regs = of_get_property(np, "reg", NULL);
if (!irqs || !regs) if (!regs)
continue; continue;
grlib_apbuart_nodes[line] = np; grlib_apbuart_nodes[line] = np;
...@@ -638,7 +636,7 @@ static int grlib_apbuart_configure(void) ...@@ -638,7 +636,7 @@ static int grlib_apbuart_configure(void)
port->mapbase = addr; port->mapbase = addr;
port->membase = ioremap(addr, sizeof(struct grlib_apbuart_regs_map)); port->membase = ioremap(addr, sizeof(struct grlib_apbuart_regs_map));
port->irq = *irqs; port->irq = 0;
port->iotype = UPIO_MEM; port->iotype = UPIO_MEM;
port->ops = &grlib_apbuart_ops; port->ops = &grlib_apbuart_ops;
port->flags = UPF_BOOT_AUTOCONF; port->flags = UPF_BOOT_AUTOCONF;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment