diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-06-23 04:44:10 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-24 02:15:43 -0400 |
commit | a2bd4fd17926d715a470fbe0ebe05128ba410984 (patch) | |
tree | 3e39a2f6aaf3a628b955067ef3668cae3456de03 /include/asm-sparc64/ebus.h | |
parent | 8cd24ed4f8031636fb5dacb04adee9e02556ecd5 (diff) |
[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/ebus.h')
-rw-r--r-- | include/asm-sparc64/ebus.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-sparc64/ebus.h b/include/asm-sparc64/ebus.h index 545882bd3563..a4afe9d5703a 100644 --- a/include/asm-sparc64/ebus.h +++ b/include/asm-sparc64/ebus.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <asm/pbm.h> | 11 | #include <asm/pbm.h> |
12 | #include <asm/oplib.h> | 12 | #include <asm/oplib.h> |
13 | #include <asm/prom.h> | 13 | #include <asm/prom.h> |
14 | #include <asm/of_device.h> | ||
14 | 15 | ||
15 | struct linux_ebus_child { | 16 | struct linux_ebus_child { |
16 | struct linux_ebus_child *next; | 17 | struct linux_ebus_child *next; |
@@ -24,6 +25,7 @@ struct linux_ebus_child { | |||
24 | }; | 25 | }; |
25 | 26 | ||
26 | struct linux_ebus_device { | 27 | struct linux_ebus_device { |
28 | struct of_device ofdev; | ||
27 | struct linux_ebus_device *next; | 29 | struct linux_ebus_device *next; |
28 | struct linux_ebus_child *children; | 30 | struct linux_ebus_child *children; |
29 | struct linux_ebus *bus; | 31 | struct linux_ebus *bus; |
@@ -33,8 +35,10 @@ struct linux_ebus_device { | |||
33 | unsigned int irqs[PROMINTR_MAX]; | 35 | unsigned int irqs[PROMINTR_MAX]; |
34 | int num_irqs; | 36 | int num_irqs; |
35 | }; | 37 | }; |
38 | #define to_ebus_device(d) container_of(d, struct linux_ebus_device, ofdev.dev) | ||
36 | 39 | ||
37 | struct linux_ebus { | 40 | struct linux_ebus { |
41 | struct of_device ofdev; | ||
38 | struct linux_ebus *next; | 42 | struct linux_ebus *next; |
39 | struct linux_ebus_device *devices; | 43 | struct linux_ebus_device *devices; |
40 | struct pci_pbm_info *parent; | 44 | struct pci_pbm_info *parent; |
@@ -43,6 +47,7 @@ struct linux_ebus { | |||
43 | int is_rio; | 47 | int is_rio; |
44 | struct device_node *prom_node; | 48 | struct device_node *prom_node; |
45 | }; | 49 | }; |
50 | #define to_ebus(d) container_of(d, struct linux_ebus, ofdev.dev) | ||
46 | 51 | ||
47 | struct ebus_dma_info { | 52 | struct ebus_dma_info { |
48 | spinlock_t lock; | 53 | spinlock_t lock; |