[SPARC64]: Use in-kernel PROM tree for EBUS and ISA.

Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index bfbe9dc..e4c0fd2 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -984,19 +984,19 @@
 
 	for_each_ebus(ebus) {
 		for_each_ebusdev(edev, ebus) {
-			if (!strcmp(edev->prom_name, "se")) {
+			if (!strcmp(edev->prom_node->name, "se")) {
 				callback(edev, arg);
 				continue;
-			} else if (!strcmp(edev->prom_name, "serial")) {
-				char compat[32];
+			} else if (!strcmp(edev->prom_node->name, "serial")) {
+				char *compat;
 				int clen;
 
 				/* On RIO this can be an SE, check it.  We could
 				 * just check ebus->is_rio, but this is more portable.
 				 */
-				clen = prom_getproperty(edev->prom_node, "compatible",
-							compat, sizeof(compat));
-				if (clen > 0) {
+				compat = of_get_property(edev->prom_node,
+							 "compatible", &clen);
+				if (compat && clen > 0) {
 					if (strncmp(compat, "sab82532", 8) == 0) {
 						callback(edev, arg);
 						continue;
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 4cdb610..0268b30 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1053,7 +1053,7 @@
 	 */
 	for_each_ebus(ebus) {
 		for_each_ebusdev(dev, ebus) {
-			if (dev->prom_node == up->port_node) {
+			if (dev->prom_node->node == up->port_node) {
 				/*
 				 * The EBus is broken on sparc; it delivers
 				 * virtual addresses in resources. Oh well...
@@ -1073,7 +1073,7 @@
 #ifdef CONFIG_SPARC64
 	for_each_isa(isa_br) {
 		for_each_isadev(isa_dev, isa_br) {
-			if (isa_dev->prom_node == up->port_node) {
+			if (isa_dev->prom_node->node == up->port_node) {
 				/* Same on sparc64. Cool architecure... */
 				up->port.membase = (char *) isa_dev->resource.start;
 				up->port.mapbase = isa_dev->resource.start;