summary refs log tree commit diff
path: root/include/asm-sparc64/isa.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-06-23 01:44:10 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-06-23 23:15:43 -0700
commita2bd4fd17926d715a470fbe0ebe05128ba410984 (patch)
tree3e39a2f6aaf3a628b955067ef3668cae3456de03 /include/asm-sparc64/isa.h
parent8cd24ed4f8031636fb5dacb04adee9e02556ecd5 (diff)
downloadlinux-a2bd4fd17926d715a470fbe0ebe05128ba410984.tar.gz
[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>
Diffstat (limited to 'include/asm-sparc64/isa.h')
-rw-r--r--include/asm-sparc64/isa.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-sparc64/isa.h b/include/asm-sparc64/isa.h
index 2e7fb18ec1be..d9728b9031fc 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 sparc_isa_device {
 	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 @@ struct sparc_isa_bridge {
 	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;