Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 sparc_isa_bridge; | |
14 | ||
15 | struct sparc_isa_device { | |
16 | struct sparc_isa_device *next; | |
17 | struct sparc_isa_device *child; | |
18 | struct sparc_isa_bridge *bus; | |
19 | int prom_node; | |
20 | char prom_name[64]; | |
21 | char compatible[64]; | |
22 | struct resource resource; | |
23 | unsigned int irq; | |
24 | }; | |
25 | ||
26 | struct sparc_isa_bridge { | |
27 | struct sparc_isa_bridge *next; | |
28 | struct sparc_isa_device *devices; | |
29 | struct pci_pbm_info *parent; | |
30 | struct pci_dev *self; | |
31 | int index; | |
32 | int prom_node; | |
33 | char prom_name[64]; | |
34 | #define linux_prom_isa_ranges linux_prom_ebus_ranges | |
35 | struct linux_prom_isa_ranges isa_ranges[PROMREG_MAX]; | |
36 | int num_isa_ranges; | |
37 | #define linux_prom_isa_intmap linux_prom_ebus_intmap | |
38 | struct linux_prom_isa_intmap isa_intmap[PROMREG_MAX]; | |
39 | int num_isa_intmap; | |
40 | #define linux_prom_isa_intmask linux_prom_ebus_intmask | |
41 | struct linux_prom_isa_intmap isa_intmask; | |
42 | }; | |
43 | ||
44 | extern struct sparc_isa_bridge *isa_chain; | |
45 | ||
46 | extern void isa_init(void); | |
47 | ||
48 | #define for_each_isa(bus) \ | |
49 | for((bus) = isa_chain; (bus); (bus) = (bus)->next) | |
50 | ||
51 | #define for_each_isadev(dev, bus) \ | |
52 | for((dev) = (bus)->devices; (dev); (dev) = (dev)->next) | |
53 | ||
54 | #endif /* !(__SPARC64_ISA_H) */ |