X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-sparc64%2Fpbm.h;h=1396f110939adbfb4bad5b8e7f803658f209c79f;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=dcfa7629358c396c9e977447ee24f56b31cd799e;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/include/asm-sparc64/pbm.h b/include/asm-sparc64/pbm.h index dcfa76293..1396f1109 100644 --- a/include/asm-sparc64/pbm.h +++ b/include/asm-sparc64/pbm.h @@ -15,8 +15,6 @@ #include #include #include -#include -#include #include /* The abstraction used here is that there are PCI controllers, @@ -155,15 +153,16 @@ struct pci_pbm_info { int chip_revision; /* Name used for top-level resources. */ - char *name; + char name[64]; /* OBP specific information. */ - struct device_node *prom_node; - struct linux_prom_pci_ranges *pbm_ranges; + int prom_node; + char prom_name[64]; + struct linux_prom_pci_ranges pbm_ranges[PROM_PCIRNG_MAX]; int num_pbm_ranges; - struct linux_prom_pci_intmap *pbm_intmap; + struct linux_prom_pci_intmap pbm_intmap[PROM_PCIIMAP_MAX]; int num_pbm_intmap; - struct linux_prom_pci_intmask *pbm_intmask; + struct linux_prom_pci_intmask pbm_intmask; u64 ino_bitmap; /* PBM I/O and Memory space resources. */ @@ -210,6 +209,7 @@ struct pci_controller_info { /* Operations which are controller specific. */ void (*scan_bus)(struct pci_controller_info *); + unsigned int (*irq_build)(struct pci_pbm_info *, struct pci_dev *, unsigned int); void (*base_address_update)(struct pci_dev *, int); void (*resource_adjust)(struct pci_dev *, struct resource *, struct resource *); @@ -217,6 +217,8 @@ struct pci_controller_info { struct pci_ops *pci_ops; unsigned int pci_first_busno; unsigned int pci_last_busno; + + void *starfire_cookie; }; /* PCI devices which are not bridges have this placed in their pci_dev @@ -225,8 +227,8 @@ struct pci_controller_info { */ struct pcidev_cookie { struct pci_pbm_info *pbm; - struct device_node *prom_node; - struct of_device *op; + char prom_name[64]; + int prom_node; struct linux_prom_pci_registers prom_regs[PROMREG_MAX]; int num_prom_regs; struct linux_prom_pci_registers prom_assignments[PROMREG_MAX];