1 /* $Id: isa.h,v 1.1 2001/05/11 04:31:55 davem Exp $ 2 * isa.h: Sparc64 layer for PCI to ISA bridge devices. 3 * 4 * Copyright (C) 2001 David S. Miller (davem@redhat.com) 5 */ 6 7 #ifndef __SPARC64_ISA_H 8 #define __SPARC64_ISA_H 9 10 #include <asm/pbm.h> 11 #include <asm/oplib.h> 12 13 struct isa_device { 14 struct isa_device *next; 15 struct isa_device *child; 16 struct isa_bridge *bus; 17 int prom_node; 18 char prom_name[64]; 19 char compatible[64]; 20 struct resource resource; 21 unsigned int irq; 22 }; 23 24 struct isa_bridge { 25 struct isa_bridge *next; 26 struct isa_device *devices; 27 struct pci_pbm_info *parent; 28 struct pci_dev *self; 29 int index; 30 int prom_node; 31 char prom_name[64]; 32 #define linux_prom_isa_ranges linux_prom_ebus_ranges 33 struct linux_prom_isa_ranges isa_ranges[PROMREG_MAX]; 34 int num_isa_ranges; 35 #define linux_prom_isa_intmap linux_prom_ebus_intmap 36 struct linux_prom_isa_intmap isa_intmap[PROMREG_MAX]; 37 int num_isa_intmap; 38 #define linux_prom_isa_intmask linux_prom_ebus_intmask 39 struct linux_prom_isa_intmap isa_intmask; 40 }; 41 42 extern struct isa_bridge *isa_chain; 43 44 extern void isa_init(void); 45 46 #define for_each_isa(bus) \ 47 for((bus) = isa_chain; (bus); (bus) = (bus)->next) 48 49 #define for_each_isadev(dev, bus) \ 50 for((dev) = (bus)->devices; (dev); (dev) = (dev)->next) 51 52 #endif /* !(__SPARC64_ISA_H) */ 53