Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / include / asm-sparc64 / ebus.h
index 7a408a0..a4afe9d 100644 (file)
 
 #include <asm/pbm.h>
 #include <asm/oplib.h>
+#include <asm/prom.h>
+#include <asm/of_device.h>
 
 struct linux_ebus_child {
        struct linux_ebus_child         *next;
        struct linux_ebus_device        *parent;
        struct linux_ebus               *bus;
-       int                              prom_node;
-       char                             prom_name[64];
+       struct device_node              *prom_node;
        struct resource                  resource[PROMREG_MAX];
        int                              num_addrs;
        unsigned int                     irqs[PROMINTR_MAX];
@@ -24,32 +25,29 @@ struct linux_ebus_child {
 };
 
 struct linux_ebus_device {
+       struct of_device                ofdev;
        struct linux_ebus_device        *next;
        struct linux_ebus_child         *children;
        struct linux_ebus               *bus;
-       int                              prom_node;
-       char                             prom_name[64];
+       struct device_node              *prom_node;
        struct resource                  resource[PROMREG_MAX];
        int                              num_addrs;
        unsigned int                     irqs[PROMINTR_MAX];
        int                              num_irqs;
 };
+#define to_ebus_device(d) container_of(d, struct linux_ebus_device, ofdev.dev)
 
 struct linux_ebus {
+       struct of_device                ofdev;
        struct linux_ebus               *next;
        struct linux_ebus_device        *devices;
        struct pci_pbm_info             *parent;
        struct pci_dev                  *self;
        int                              index;
        int                              is_rio;
-       int                              prom_node;
-       char                             prom_name[64];
-       struct linux_prom_ebus_ranges    ebus_ranges[PROMREG_MAX];
-       int                              num_ebus_ranges;
-       struct linux_prom_ebus_intmap    ebus_intmap[PROMREG_MAX];
-       int                              num_ebus_intmap;
-       struct linux_prom_ebus_intmask   ebus_intmask;
+       struct device_node              *prom_node;
 };
+#define to_ebus(d) container_of(d, struct linux_ebus, ofdev.dev)
 
 struct ebus_dma_info {
        spinlock_t      lock;