diff options
Diffstat (limited to 'include/asm-sparc64/ebus.h')
-rw-r--r-- | include/asm-sparc64/ebus.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/include/asm-sparc64/ebus.h b/include/asm-sparc64/ebus.h index 7a408a030f52..a4afe9d5703a 100644 --- a/include/asm-sparc64/ebus.h +++ b/include/asm-sparc64/ebus.h | |||
@@ -10,13 +10,14 @@ | |||
10 | 10 | ||
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> | ||
14 | #include <asm/of_device.h> | ||
13 | 15 | ||
14 | struct linux_ebus_child { | 16 | struct linux_ebus_child { |
15 | struct linux_ebus_child *next; | 17 | struct linux_ebus_child *next; |
16 | struct linux_ebus_device *parent; | 18 | struct linux_ebus_device *parent; |
17 | struct linux_ebus *bus; | 19 | struct linux_ebus *bus; |
18 | int prom_node; | 20 | struct device_node *prom_node; |
19 | char prom_name[64]; | ||
20 | struct resource resource[PROMREG_MAX]; | 21 | struct resource resource[PROMREG_MAX]; |
21 | int num_addrs; | 22 | int num_addrs; |
22 | unsigned int irqs[PROMINTR_MAX]; | 23 | unsigned int irqs[PROMINTR_MAX]; |
@@ -24,32 +25,29 @@ 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; |
30 | int prom_node; | 32 | struct device_node *prom_node; |
31 | char prom_name[64]; | ||
32 | struct resource resource[PROMREG_MAX]; | 33 | struct resource resource[PROMREG_MAX]; |
33 | int num_addrs; | 34 | int num_addrs; |
34 | unsigned int irqs[PROMINTR_MAX]; | 35 | unsigned int irqs[PROMINTR_MAX]; |
35 | int num_irqs; | 36 | int num_irqs; |
36 | }; | 37 | }; |
38 | #define to_ebus_device(d) container_of(d, struct linux_ebus_device, ofdev.dev) | ||
37 | 39 | ||
38 | struct linux_ebus { | 40 | struct linux_ebus { |
41 | struct of_device ofdev; | ||
39 | struct linux_ebus *next; | 42 | struct linux_ebus *next; |
40 | struct linux_ebus_device *devices; | 43 | struct linux_ebus_device *devices; |
41 | struct pci_pbm_info *parent; | 44 | struct pci_pbm_info *parent; |
42 | struct pci_dev *self; | 45 | struct pci_dev *self; |
43 | int index; | 46 | int index; |
44 | int is_rio; | 47 | int is_rio; |
45 | int prom_node; | 48 | struct device_node *prom_node; |
46 | char prom_name[64]; | ||
47 | struct linux_prom_ebus_ranges ebus_ranges[PROMREG_MAX]; | ||
48 | int num_ebus_ranges; | ||
49 | struct linux_prom_ebus_intmap ebus_intmap[PROMREG_MAX]; | ||
50 | int num_ebus_intmap; | ||
51 | struct linux_prom_ebus_intmask ebus_intmask; | ||
52 | }; | 49 | }; |
50 | #define to_ebus(d) container_of(d, struct linux_ebus, ofdev.dev) | ||
53 | 51 | ||
54 | struct ebus_dma_info { | 52 | struct ebus_dma_info { |
55 | spinlock_t lock; | 53 | spinlock_t lock; |