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 | ||
1da177e4 | 10 | #include <asm/oplib.h> |
690c8fd3 | 11 | #include <asm/prom.h> |
a2bd4fd1 | 12 | #include <asm/of_device.h> |
1da177e4 LT |
13 | |
14 | struct sparc_isa_bridge; | |
15 | ||
16 | struct sparc_isa_device { | |
a2bd4fd1 | 17 | struct of_device ofdev; |
1da177e4 LT |
18 | struct sparc_isa_device *next; |
19 | struct sparc_isa_device *child; | |
20 | struct sparc_isa_bridge *bus; | |
690c8fd3 | 21 | struct device_node *prom_node; |
1da177e4 LT |
22 | struct resource resource; |
23 | unsigned int irq; | |
24 | }; | |
a2bd4fd1 | 25 | #define to_isa_device(d) container_of(d, struct sparc_isa_device, ofdev.dev) |
1da177e4 LT |
26 | |
27 | struct sparc_isa_bridge { | |
a2bd4fd1 | 28 | struct of_device ofdev; |
1da177e4 LT |
29 | struct sparc_isa_bridge *next; |
30 | struct sparc_isa_device *devices; | |
1da177e4 LT |
31 | struct pci_dev *self; |
32 | int index; | |
690c8fd3 | 33 | struct device_node *prom_node; |
1da177e4 | 34 | }; |
a2bd4fd1 | 35 | #define to_isa_bridge(d) container_of(d, struct sparc_isa_bridge, ofdev.dev) |
1da177e4 LT |
36 | |
37 | extern struct sparc_isa_bridge *isa_chain; | |
38 | ||
39 | extern void isa_init(void); | |
40 | ||
41 | #define for_each_isa(bus) \ | |
42 | for((bus) = isa_chain; (bus); (bus) = (bus)->next) | |
43 | ||
44 | #define for_each_isadev(dev, bus) \ | |
45 | for((dev) = (bus)->devices; (dev); (dev) = (dev)->next) | |
46 | ||
47 | #endif /* !(__SPARC64_ISA_H) */ |