[SPARC64]: Add of_device layer and make ebus/isa use it.

Sparcspkr and power drivers are converted, to make sure it works.
Eventually the SBUS device layer will use this as a sub-class.

I really cannot cut loose on that bit until sparc32 is given the
same infrastructure.

Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/include/asm-sparc64/isa.h b/include/asm-sparc64/isa.h
index 2e7fb18..d9728b9 100644
--- a/include/asm-sparc64/isa.h
+++ b/include/asm-sparc64/isa.h
@@ -10,10 +10,12 @@
 #include <asm/pbm.h>
 #include <asm/oplib.h>
 #include <asm/prom.h>
+#include <asm/of_device.h>
 
 struct sparc_isa_bridge;
 
 struct sparc_isa_device {
+	struct of_device	ofdev;
 	struct sparc_isa_device	*next;
 	struct sparc_isa_device	*child;
 	struct sparc_isa_bridge	*bus;
@@ -21,8 +23,10 @@
 	struct resource		resource;
 	unsigned int		irq;
 };
+#define to_isa_device(d) container_of(d, struct sparc_isa_device, ofdev.dev)
 
 struct sparc_isa_bridge {
+	struct of_device	ofdev;
 	struct sparc_isa_bridge	*next;
 	struct sparc_isa_device	*devices;
 	struct pci_pbm_info	*parent;
@@ -30,6 +34,7 @@
 	int			index;
 	struct device_node	*prom_node;
 };
+#define to_isa_bridge(d) container_of(d, struct sparc_isa_bridge, ofdev.dev)
 
 extern struct sparc_isa_bridge	*isa_chain;