Lines Matching full:isa
7 #include <gpxe/isa.h>
12 * isa.c implements a "classical" port-scanning method of ISA device
23 * The ISA probe address list can be overridden by config.h; if the
56 * Probe an ISA device
58 * @v isa ISA device
61 static int isa_probe ( struct isa_device *isa ) { in isa_probe() argument
64 DBG ( "Trying ISA driver %s at I/O %04x\n", in isa_probe()
65 isa->driver->name, isa->ioaddr ); in isa_probe()
67 if ( ( rc = isa->driver->probe ( isa ) ) != 0 ) { in isa_probe()
77 * Remove an ISA device
79 * @v isa ISA device
81 static void isa_remove ( struct isa_device *isa ) { in isa_remove() argument
82 isa->driver->remove ( isa ); in isa_remove()
83 DBG ( "Removed ISA%04x\n", isa->ioaddr ); in isa_remove()
87 * Probe ISA root bus
89 * @v rootdev ISA bus root device
91 * Scans the ISA bus for devices and registers all devices it can
95 struct isa_device *isa = NULL; in isabus_probe() local
104 if ( ! isa ) in isabus_probe()
105 isa = malloc ( sizeof ( *isa ) ); in isabus_probe()
106 if ( ! isa ) { in isabus_probe()
110 memset ( isa, 0, sizeof ( *isa ) ); in isabus_probe()
111 isa->driver = driver; in isabus_probe()
112 isa->ioaddr = ISA_IOADDR ( driver, ioidx ); in isabus_probe()
115 snprintf ( isa->dev.name, sizeof ( isa->dev.name ), in isabus_probe()
116 "ISA%04x", isa->ioaddr ); in isabus_probe()
117 isa->dev.desc.bus_type = BUS_TYPE_ISA; in isabus_probe()
118 isa->dev.desc.vendor = driver->vendor_id; in isabus_probe()
119 isa->dev.desc.device = driver->prod_id; in isabus_probe()
120 isa->dev.parent = &rootdev->dev; in isabus_probe()
121 list_add ( &isa->dev.siblings, in isabus_probe()
123 INIT_LIST_HEAD ( &isa->dev.children ); in isabus_probe()
126 if ( isa_probe ( isa ) == 0 ) { in isabus_probe()
128 isa = NULL; in isabus_probe()
131 list_del ( &isa->dev.siblings ); in isabus_probe()
136 free ( isa ); in isabus_probe()
140 free ( isa ); in isabus_probe()
146 * Remove ISA root bus
148 * @v rootdev ISA bus root device
151 struct isa_device *isa; in isabus_remove() local
154 list_for_each_entry_safe ( isa, tmp, &rootdev->dev.children, in isabus_remove()
156 isa_remove ( isa ); in isabus_remove()
157 list_del ( &isa->dev.siblings ); in isabus_remove()
158 free ( isa ); in isabus_remove()
162 /** ISA bus root device driver */
168 /** ISA bus root device */
170 .dev = { .name = "ISA" },