Lines Matching refs:eisa

20 void eisa_device_enabled ( struct eisa_device *eisa, int enabled ) {  in eisa_device_enabled()  argument
24 outb ( EISA_CMD_RESET, eisa->ioaddr + EISA_GLOBAL_CONFIG ); in eisa_device_enabled()
31 eisa->ioaddr + EISA_GLOBAL_CONFIG ); in eisa_device_enabled()
35 eisa->slot ); in eisa_device_enabled()
47 static int eisa_probe ( struct eisa_device *eisa ) { in eisa_probe() argument
54 eisa->slot, eisa->vendor_id, eisa->prod_id, in eisa_probe()
55 isa_id_string ( eisa->vendor_id, eisa->prod_id ), eisa->ioaddr ); in eisa_probe()
60 if ( id->vendor_id != eisa->vendor_id ) in eisa_probe()
63 ISA_PROD_ID ( eisa->prod_id ) ) in eisa_probe()
65 eisa->driver = driver; in eisa_probe()
66 eisa->driver_name = id->name; in eisa_probe()
67 DBG ( "...using driver %s\n", eisa->driver_name ); in eisa_probe()
68 if ( ( rc = driver->probe ( eisa, id ) ) != 0 ) { in eisa_probe()
85 static void eisa_remove ( struct eisa_device *eisa ) { in eisa_remove() argument
86 eisa->driver->remove ( eisa ); in eisa_remove()
87 DBG ( "Removed EISA device %02x\n", eisa->slot ); in eisa_remove()
99 struct eisa_device *eisa = NULL; in eisabus_probe() local
105 if ( ! eisa ) in eisabus_probe()
106 eisa = malloc ( sizeof ( *eisa ) ); in eisabus_probe()
107 if ( ! eisa ) { in eisabus_probe()
111 memset ( eisa, 0, sizeof ( *eisa ) ); in eisabus_probe()
112 eisa->slot = slot; in eisabus_probe()
113 eisa->ioaddr = EISA_SLOT_BASE ( eisa->slot ); in eisabus_probe()
116 outb ( 0xff, eisa->ioaddr + EISA_VENDOR_ID ); in eisabus_probe()
117 eisa->vendor_id = in eisabus_probe()
118 le16_to_cpu ( inw ( eisa->ioaddr + EISA_VENDOR_ID ) ); in eisabus_probe()
119 eisa->prod_id = in eisabus_probe()
120 le16_to_cpu ( inw ( eisa->ioaddr + EISA_PROD_ID ) ); in eisabus_probe()
121 if ( eisa->vendor_id & 0x80 ) { in eisabus_probe()
127 snprintf ( eisa->dev.name, sizeof ( eisa->dev.name ), in eisabus_probe()
129 eisa->dev.desc.bus_type = BUS_TYPE_EISA; in eisabus_probe()
130 eisa->dev.desc.vendor = eisa->vendor_id; in eisabus_probe()
131 eisa->dev.desc.device = eisa->prod_id; in eisabus_probe()
132 eisa->dev.parent = &rootdev->dev; in eisabus_probe()
133 list_add ( &eisa->dev.siblings, &rootdev->dev.children ); in eisabus_probe()
134 INIT_LIST_HEAD ( &eisa->dev.children ); in eisabus_probe()
137 if ( eisa_probe ( eisa ) == 0 ) { in eisabus_probe()
139 eisa = NULL; in eisabus_probe()
142 list_del ( &eisa->dev.siblings ); in eisabus_probe()
146 free ( eisa ); in eisabus_probe()
150 free ( eisa ); in eisabus_probe()
161 struct eisa_device *eisa; in eisabus_remove() local
164 list_for_each_entry_safe ( eisa, tmp, &rootdev->dev.children, in eisabus_remove()
166 eisa_remove ( eisa ); in eisabus_remove()
167 list_del ( &eisa->dev.siblings ); in eisabus_remove()
168 free ( eisa ); in eisabus_remove()