diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-06-22 22:12:03 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-24 02:15:28 -0400 |
commit | 690c8fd31f1e35985d0f35772fde514da59ec9d1 (patch) | |
tree | 8a5a0036b3780a9eb315ea2201a2562570de1ebe /drivers/serial | |
parent | de8d28b16f5614aeb12bb69c8f9a38578b8d3ada (diff) |
[SPARC64]: Use in-kernel PROM tree for EBUS and ISA.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/sunsab.c | 12 | ||||
-rw-r--r-- | drivers/serial/sunsu.c | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index bfbe9dc90cca..e4c0fd2d6a9d 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c | |||
@@ -984,19 +984,19 @@ static void __init for_each_sab_edev(void (*callback)(struct linux_ebus_device * | |||
984 | 984 | ||
985 | for_each_ebus(ebus) { | 985 | for_each_ebus(ebus) { |
986 | for_each_ebusdev(edev, ebus) { | 986 | for_each_ebusdev(edev, ebus) { |
987 | if (!strcmp(edev->prom_name, "se")) { | 987 | if (!strcmp(edev->prom_node->name, "se")) { |
988 | callback(edev, arg); | 988 | callback(edev, arg); |
989 | continue; | 989 | continue; |
990 | } else if (!strcmp(edev->prom_name, "serial")) { | 990 | } else if (!strcmp(edev->prom_node->name, "serial")) { |
991 | char compat[32]; | 991 | char *compat; |
992 | int clen; | 992 | int clen; |
993 | 993 | ||
994 | /* On RIO this can be an SE, check it. We could | 994 | /* On RIO this can be an SE, check it. We could |
995 | * just check ebus->is_rio, but this is more portable. | 995 | * just check ebus->is_rio, but this is more portable. |
996 | */ | 996 | */ |
997 | clen = prom_getproperty(edev->prom_node, "compatible", | 997 | compat = of_get_property(edev->prom_node, |
998 | compat, sizeof(compat)); | 998 | "compatible", &clen); |
999 | if (clen > 0) { | 999 | if (compat && clen > 0) { |
1000 | if (strncmp(compat, "sab82532", 8) == 0) { | 1000 | if (strncmp(compat, "sab82532", 8) == 0) { |
1001 | callback(edev, arg); | 1001 | callback(edev, arg); |
1002 | continue; | 1002 | continue; |
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index 4cdb610cdd37..0268b307c01e 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c | |||
@@ -1053,7 +1053,7 @@ static void sunsu_autoconfig(struct uart_sunsu_port *up) | |||
1053 | */ | 1053 | */ |
1054 | for_each_ebus(ebus) { | 1054 | for_each_ebus(ebus) { |
1055 | for_each_ebusdev(dev, ebus) { | 1055 | for_each_ebusdev(dev, ebus) { |
1056 | if (dev->prom_node == up->port_node) { | 1056 | if (dev->prom_node->node == up->port_node) { |
1057 | /* | 1057 | /* |
1058 | * The EBus is broken on sparc; it delivers | 1058 | * The EBus is broken on sparc; it delivers |
1059 | * virtual addresses in resources. Oh well... | 1059 | * virtual addresses in resources. Oh well... |
@@ -1073,7 +1073,7 @@ static void sunsu_autoconfig(struct uart_sunsu_port *up) | |||
1073 | #ifdef CONFIG_SPARC64 | 1073 | #ifdef CONFIG_SPARC64 |
1074 | for_each_isa(isa_br) { | 1074 | for_each_isa(isa_br) { |
1075 | for_each_isadev(isa_dev, isa_br) { | 1075 | for_each_isadev(isa_dev, isa_br) { |
1076 | if (isa_dev->prom_node == up->port_node) { | 1076 | if (isa_dev->prom_node->node == up->port_node) { |
1077 | /* Same on sparc64. Cool architecure... */ | 1077 | /* Same on sparc64. Cool architecure... */ |
1078 | up->port.membase = (char *) isa_dev->resource.start; | 1078 | up->port.membase = (char *) isa_dev->resource.start; |
1079 | up->port.mapbase = isa_dev->resource.start; | 1079 | up->port.mapbase = isa_dev->resource.start; |