Changeset a35b458 in mainline for kernel/genarch/src/drivers/i8042
- Timestamp:
- 2018-03-02T20:10:49Z (8 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
-
kernel/genarch/src/drivers/i8042/i8042.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/drivers/i8042/i8042.c
r3061bc1 ra35b458 59 59 i8042_instance_t *i8042_instance = irq->instance; 60 60 i8042_t *dev = i8042_instance->i8042; 61 61 62 62 if (pio_read_8(&dev->status) & i8042_BUFFER_FULL_MASK) 63 63 return IRQ_ACCEPT; … … 70 70 i8042_instance_t *instance = irq->instance; 71 71 i8042_t *dev = instance->i8042; 72 72 73 73 if (pio_read_8(&dev->status) & i8042_BUFFER_FULL_MASK) { 74 74 uint8_t data = pio_read_8(&dev->data); … … 83 83 if ((pio_read_8(&dev->status) & i8042_BUFFER_FULL_MASK) == 0) 84 84 break; 85 85 86 86 (void) pio_read_8(&dev->data); 87 87 delay(50); /* 50 us think time */ … … 94 94 if ((pio_read_8(&dev->status) & i8042_WAIT_MASK) == 0) 95 95 break; 96 96 97 97 delay(50); /* 50 us think time */ 98 98 } 99 99 100 100 pio_write_8(&dev->status, cmd); 101 101 delay(10000); /* 10 ms think time */ … … 110 110 instance->i8042 = dev; 111 111 instance->kbrdin = NULL; 112 112 113 113 irq_initialize(&instance->irq); 114 114 instance->irq.inr = inr; … … 117 117 instance->irq.instance = instance; 118 118 } 119 119 120 120 return instance; 121 121 } … … 125 125 assert(instance); 126 126 assert(kbrdin); 127 127 128 128 i8042_clear_buffer(instance->i8042); 129 129 130 130 instance->kbrdin = kbrdin; 131 131 irq_register(&instance->irq);
Note:
See TracChangeset
for help on using the changeset viewer.
