• Home
  • Raw
  • Download

Lines Matching +full:function +full:- +full:enumerator

2  * eisa_enumerator.c - provide support for EISA adapters in PA-RISC machines
41 * little-endian on the big-endian PAROSC */
97 res->name = name; in configure_memory()
98 res->start = mem_parent->start + get_24(buf+len+2); in configure_memory()
99 res->end = res->start + get_16(buf+len+5)*1024; in configure_memory()
100 res->flags = IORESOURCE_MEM; in configure_memory()
101 printk("memory %lx-%lx ", (unsigned long)res->start, (unsigned long)res->end); in configure_memory()
104 printk(KERN_ERR "EISA Enumerator: failed to claim EISA Bus address space!\n"); in configure_memory()
187 res->name = board; in configure_port()
188 res->start = get_16(buf+len+1); in configure_port()
189 res->end = get_16(buf+len+1)+(c&HPEE_PORT_SIZE_MASK)+1; in configure_port()
190 res->flags = IORESOURCE_IO; in configure_port()
191 printk("ioports %lx-%lx ", (unsigned long)res->start, (unsigned long)res->end); in configure_port()
194 printk(KERN_ERR "EISA Enumerator: failed to claim EISA Bus address space!\n"); in configure_port()
211 * I assume that there are and- and or- masks
286 * function */ in configure_choise()
308 /* the init field seems to be a two-byte field in configure_function()
309 * which is non-zero if there are an other function following in configure_function()
310 * I think it is the length of the function def in configure_function()
335 return -1; in parse_slot_config()
337 print_eisa_id(board, es->eisa_slot_id); in parse_slot_config()
339 slot, board, es->flags&HPEE_FLAG_BOARD_IS_ISA ? "ISA" : "EISA"); in parse_slot_config()
341 maxlen = es->config_data_length < HPEE_MAX_LENGTH ? in parse_slot_config()
342 es->config_data_length : HPEE_MAX_LENGTH; in parse_slot_config()
343 while ((pos < maxlen) && (num_func <= es->num_functions)) { in parse_slot_config()
354 /* function disabled, skip silently */ in parse_slot_config()
360 printk("function %d have free-form configuration, skipping ", in parse_slot_config()
401 printk(KERN_ERR "eisa_enumerator: function %d length mis-match " in parse_slot_config()
403 num_func, pos-p0, function_len); in parse_slot_config()
404 res=-1; in parse_slot_config()
414 if (pos != es->config_data_length) { in parse_slot_config()
415 printk(KERN_ERR "eisa_enumerator: config data length mis-match got %d, expected %d\n", in parse_slot_config()
416 pos, es->config_data_length); in parse_slot_config()
417 res=-1; in parse_slot_config()
420 if (num_func != es->num_functions) { in parse_slot_config()
421 printk(KERN_ERR "eisa_enumerator: number of functions mis-match got %d, expected %d\n", in parse_slot_config()
422 num_func, es->num_functions); in parse_slot_config()
423 res=-2; in parse_slot_config()
436 if (!(es->slot_info&HPEE_SLOT_INFO_NO_READID)) { in init_slot()
442 if (es->eisa_slot_id == 0xffffffff) in init_slot()
443 return -1; in init_slot()
451 print_eisa_id(id_string, es->eisa_slot_id); in init_slot()
454 return -1; in init_slot()
457 if (es->eisa_slot_id != id) { in init_slot()
459 printk(KERN_ERR "EISA slot %d id mis-match: got %s", in init_slot()
462 print_eisa_id(id_string, es->eisa_slot_id); in init_slot()
465 return -1; in init_slot()
475 if (es->slot_features & HPEE_SLOT_FEATURES_ENABLE) { in init_slot()
499 for (i=0;i<eh->num_slots;i++) { in eisa_enumerator()
505 if (-1==init_slot(i+1, es)) { in eisa_enumerator()
509 if (es->config_data_offset < HPEE_MAX_LENGTH) { in eisa_enumerator()
510 if (parse_slot_config(i+1, &eeprom_buf[es->config_data_offset], in eisa_enumerator()
512 return -1; in eisa_enumerator()
515 printk (KERN_WARNING "EISA EEPROM offset 0x%x out of range\n",es->config_data_offset); in eisa_enumerator()
516 return -1; in eisa_enumerator()
519 return eh->num_slots; in eisa_enumerator()