Changeset a35b458 in mainline for kernel/genarch/src/drivers/ns16550/ns16550.c
- Timestamp:
- 2018-03-02T20:10:49Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/drivers/ns16550/ns16550.c
r3061bc1 ra35b458 71 71 { 72 72 ns16550_instance_t *instance = irq->instance; 73 73 74 74 while (ns16550_reg_read(instance, NS16550_REG_LSR) & LSR_DATA_READY) { 75 75 uint8_t data = ns16550_reg_read(instance, NS16550_REG_RBR); … … 95 95 { 96 96 ns16550_instance_t *instance = (ns16550_instance_t *) dev->data; 97 97 98 98 if ((!instance->parea.mapped) || (console_override)) { 99 99 if (ascii_check(ch)) … … 135 135 instance->input = NULL; 136 136 instance->output = NULL; 137 137 138 138 if (output) { 139 139 instance->output = malloc(sizeof(outdev_t), … … 143 143 return NULL; 144 144 } 145 145 146 146 outdev_initialize("ns16550", instance->output, 147 147 &ns16550_ops); … … 149 149 *output = instance->output; 150 150 } 151 151 152 152 irq_initialize(&instance->irq); 153 153 instance->irq.inr = inr; … … 157 157 instance->irq.cir = cir; 158 158 instance->irq.cir_arg = cir_arg; 159 159 160 160 instance->parea.pbase = (uintptr_t) dev; 161 161 instance->parea.frames = 1; … … 164 164 ddi_parea_register(&instance->parea); 165 165 } 166 166 167 167 return instance; 168 168 } … … 172 172 assert(instance); 173 173 assert(input); 174 174 175 175 instance->input = input; 176 176 irq_register(&instance->irq); 177 177 178 178 ns16550_clear_buffer(instance); 179 179 180 180 /* Enable interrupts */ 181 181 ns16550_reg_write(instance, NS16550_REG_IER, IER_ERBFI);
Note:
See TracChangeset
for help on using the changeset viewer.