2005-04-17 02:20:36 +04:00
/* $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/oplib.h>
2006-06-23 06:12:03 +04:00
# include <asm/prom.h>
2006-06-23 12:44:10 +04:00
# include <asm/of_device.h>
2005-04-17 02:20:36 +04:00
struct sparc_isa_bridge ;
struct sparc_isa_device {
2006-06-23 12:44:10 +04:00
struct of_device ofdev ;
2005-04-17 02:20:36 +04:00
struct sparc_isa_device * next ;
struct sparc_isa_device * child ;
struct sparc_isa_bridge * bus ;
2006-06-23 06:12:03 +04:00
struct device_node * prom_node ;
2005-04-17 02:20:36 +04:00
struct resource resource ;
unsigned int irq ;
} ;
2006-06-23 12:44:10 +04:00
# define to_isa_device(d) container_of(d, struct sparc_isa_device, ofdev.dev)
2005-04-17 02:20:36 +04:00
struct sparc_isa_bridge {
2006-06-23 12:44:10 +04:00
struct of_device ofdev ;
2005-04-17 02:20:36 +04:00
struct sparc_isa_bridge * next ;
struct sparc_isa_device * devices ;
struct pci_dev * self ;
int index ;
2006-06-23 06:12:03 +04:00
struct device_node * prom_node ;
2005-04-17 02:20:36 +04:00
} ;
2006-06-23 12:44:10 +04:00
# define to_isa_bridge(d) container_of(d, struct sparc_isa_bridge, ofdev.dev)
2005-04-17 02:20:36 +04:00
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) */