New rewritten serial driver + dev interface
This commit is contained in:
@ -27,8 +27,10 @@ int32_t SYSCALL5(sys_devctl, devh1, cmd1, buffer1, len1, extra1) {
|
||||
goto done;
|
||||
}
|
||||
|
||||
spinlock_acquire(&DEVTABLE.spinlock);
|
||||
Dev *founddev;
|
||||
HSHTB_GET(DEVTABLE.devs, ident, ident, founddev);
|
||||
spinlock_release(&DEVTABLE.spinlock);
|
||||
|
||||
if (founddev == NULL) {
|
||||
ret = E_NOENTRY;
|
||||
@ -66,7 +68,9 @@ int32_t SYSCALL5(sys_devctl, devh1, cmd1, buffer1, len1, extra1) {
|
||||
ret = E_NOENTRY;
|
||||
goto done;
|
||||
}
|
||||
spinlock_acquire(&dev->spinlock);
|
||||
ret = dev->fns[cmd]((uint8_t *)buffer1, (size_t)len1, (void *)extra1);
|
||||
spinlock_release(&dev->spinlock);
|
||||
} break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user