/* $Id: isa.h,v 1.1 2001/05/11 04:31:55 davem Exp $ * isa.h: Sparc64 layer for PCI to ISA bridge devices. * * Copyright (C) 2001 David S. Miller (davem@redhat.com) */ #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; struct device_node *prom_node; 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 to_isa_bridge(d) container_of(d, struct sparc_isa_bridge, ofdev.dev) extern struct sparc_isa_bridge *isa_chain; extern void isa_init(void); #define for_each_isa(bus) \ for((bus) = isa_chain; (bus); (bus) = (bus)->next) #define for_each_isadev(dev, bus) \ for((dev) = (bus)->devices; (dev); (dev) = (dev)->next) #endif /* !(__SPARC64_ISA_H) */