static int init_slot(int slot, struct eeprom_eisa_slot_info *es) { unsigned int id; char id_string[8]; if (!(es->slot_info&HPEE_SLOT_INFO_NO_READID)) { /* try to read the id of the board in the slot */ id = le32_to_cpu(inl(SLOT2PORT(slot)+EPI)); if (0xffffffff == id) { /* Maybe we didn't expect a card to be here... */ if (es->eisa_slot_id == 0xffffffff) return -1; /* this board is not here or it does not * support readid */ printk(KERN_ERR "EISA slot %d a configured board was not detected (", slot); print_eisa_id(id_string, es->eisa_slot_id); printk(" expected %s)\n", id_string); return -1; } if (es->eisa_slot_id != id) { print_eisa_id(id_string, id); printk(KERN_ERR "EISA slot %d id mis-match: got %s", slot, id_string); print_eisa_id(id_string, es->eisa_slot_id); printk(" expected %s \n", id_string); return -1; } } /* now: we need to enable the board if * it supports enabling and run through * the port init sction if present * and finally record any interrupt polarity */ if (es->slot_features & HPEE_SLOT_FEATURES_ENABLE) { /* enable board */ outb(0x01| inb(SLOT2PORT(slot)+EPI+4), SLOT2PORT(slot)+EPI+4); } return 0; }
static int init_slot(int slot, struct eeprom_eisa_slot_info *es) { unsigned int id; char id_string[8]; if (!(es->slot_info&HPEE_SLOT_INFO_NO_READID)) { id = le32_to_cpu(inl(SLOT2PORT(slot)+EPI)); if (0xffffffff == id) { if (es->eisa_slot_id == 0xffffffff) return -1; printk(KERN_ERR "EISA slot %d a configured board was not detected (", slot); print_eisa_id(id_string, es->eisa_slot_id); printk(" expected %s)\n", id_string); return -1; } if (es->eisa_slot_id != id) { print_eisa_id(id_string, id); printk(KERN_ERR "EISA slot %d id mis-match: got %s", slot, id_string); print_eisa_id(id_string, es->eisa_slot_id); printk(" expected %s \n", id_string); return -1; } } if (es->slot_features & HPEE_SLOT_FEATURES_ENABLE) { outb(0x01| inb(SLOT2PORT(slot)+EPI+4), SLOT2PORT(slot)+EPI+4); } return 0; }