]> err.no Git - linux-2.6/blobdiff - include/asm-sparc64/isa.h
fix reentrancy bug in arcmsr_get_iop_{r,w}qbuffer()
[linux-2.6] / include / asm-sparc64 / isa.h
index e110435b14ef8bf3f3b657101d638c0b832201d0..ecd9290f78d4f5a87acd85145d3172edfa0ccebb 100644 (file)
@@ -7,13 +7,14 @@
 #ifndef __SPARC64_ISA_H
 #define __SPARC64_ISA_H
 
-#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,23 +22,17 @@ 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;
        struct pci_dev          *self;
        int                     index;
        struct device_node      *prom_node;
-#define linux_prom_isa_ranges linux_prom_ebus_ranges
-       struct linux_prom_isa_ranges    isa_ranges[PROMREG_MAX];
-       int                     num_isa_ranges;
-#define linux_prom_isa_intmap  linux_prom_ebus_intmap
-       struct linux_prom_isa_intmap    isa_intmap[PROMREG_MAX];
-       int                     num_isa_intmap;
-#define linux_prom_isa_intmask linux_prom_ebus_intmask
-       struct linux_prom_isa_intmap    isa_intmask;
 };
+#define to_isa_bridge(d) container_of(d, struct sparc_isa_bridge, ofdev.dev)
 
 extern struct sparc_isa_bridge *isa_chain;