1*1b8adde7SWilliam Kucharski #if !defined(ISA_H) && defined(CONFIG_ISA) 2*1b8adde7SWilliam Kucharski #define ISA_H 3*1b8adde7SWilliam Kucharski 4*1b8adde7SWilliam Kucharski struct dev; 5*1b8adde7SWilliam Kucharski 6*1b8adde7SWilliam Kucharski #define ISAPNP_VENDOR(a,b,c) (((((a)-'A'+1)&0x3f)<<2)|\ 7*1b8adde7SWilliam Kucharski ((((b)-'A'+1)&0x18)>>3)|((((b)-'A'+1)&7)<<13)|\ 8*1b8adde7SWilliam Kucharski ((((c)-'A'+1)&0x1f)<<8)) 9*1b8adde7SWilliam Kucharski 10*1b8adde7SWilliam Kucharski #define GENERIC_ISAPNP_VENDOR ISAPNP_VENDOR('P','N','P') 11*1b8adde7SWilliam Kucharski 12*1b8adde7SWilliam Kucharski struct isa_driver 13*1b8adde7SWilliam Kucharski { 14*1b8adde7SWilliam Kucharski int type; 15*1b8adde7SWilliam Kucharski const char *name; 16*1b8adde7SWilliam Kucharski int (*probe)(struct dev *, unsigned short *); 17*1b8adde7SWilliam Kucharski unsigned short *ioaddrs; 18*1b8adde7SWilliam Kucharski }; 19*1b8adde7SWilliam Kucharski 20*1b8adde7SWilliam Kucharski #define __isa_driver __attribute__ ((unused,__section__(".drivers.isa"))) 21*1b8adde7SWilliam Kucharski extern const struct isa_driver isa_drivers[]; 22*1b8adde7SWilliam Kucharski extern const struct isa_driver isa_drivers_end[]; 23*1b8adde7SWilliam Kucharski 24*1b8adde7SWilliam Kucharski #define ISA_ROM(IMAGE, DESCRIPTION) 25*1b8adde7SWilliam Kucharski 26*1b8adde7SWilliam Kucharski #endif /* ISA_H */ 27*1b8adde7SWilliam Kucharski 28