Changeset 0b414b5 in mainline for kernel/arch/sparc64/src/drivers/kbd.c
- Timestamp:
- 2006-10-02T21:07:23Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 233af8c5
- Parents:
- 36db5ac
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/drivers/kbd.c
r36db5ac r0b414b5 69 69 name = ofw_tree_node_name(node); 70 70 71 /* 72 * Determine keyboard serial controller type. 73 */ 71 74 if (strcmp(name, "zs") == 0) 72 75 kbd_type = KBD_Z8530; … … 79 82 } 80 83 84 /* 85 * Read 'interrupts' property. 86 */ 87 uint32_t interrupts; 88 prop = ofw_tree_getprop(node, "interrupts"); 89 if (!prop || !prop->value) 90 panic("Can't find \"interrupts\" property.\n"); 91 interrupts = *((uint32_t *) prop->value); 92 93 /* 94 * Read 'reg' property. 95 */ 81 96 prop = ofw_tree_getprop(node, "reg"); 82 if (!prop )97 if (!prop || !prop->value) 83 98 panic("Can't find \"reg\" property.\n"); 84 99 85 100 uintptr_t pa; 86 101 size_t size; 102 int ino; 87 103 88 104 switch (kbd_type) { … … 93 109 return; 94 110 } 111 if (!ofw_fhc_map_interrupts(node->parent, ((ofw_fhc_reg_t *) prop->value), interrupts, &ino)) { 112 printf("Failed to determine keyboard interrupts.\n"); 113 return; 114 } 95 115 break; 96 116 case KBD_NS16550: … … 98 118 if (!ofw_ebus_apply_ranges(node->parent, ((ofw_ebus_reg_t *) prop->value) , &pa)) { 99 119 printf("Failed to determine keyboard address.\n"); 120 return; 121 } 122 if (!ofw_ebus_map_interrupts(node->parent, ((ofw_ebus_reg_t *) prop->value), interrupts, &ino)) { 123 printf("Failed to determine keyboard interrupts.\n"); 100 124 return; 101 125 }
Note:
See TracChangeset
for help on using the changeset viewer.