From f27d6350f20e5e1ea4b513c25f6481f9c20b34af Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Mon, 2 Aug 2021 11:56:47 -0600 Subject: [PATCH] kbc: Use u16 for timeout The timeout will never be negative. Signed-off-by: Tim Crawford --- src/ec/ite/include/ec/kbc.h | 4 ++-- src/ec/ite/kbc.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ec/ite/include/ec/kbc.h b/src/ec/ite/include/ec/kbc.h index 163f72d..9ab1ca2 100644 --- a/src/ec/ite/include/ec/kbc.h +++ b/src/ec/ite/include/ec/kbc.h @@ -33,8 +33,8 @@ extern struct Kbc __code KBC; uint8_t kbc_status(struct Kbc * kbc); uint8_t kbc_read(struct Kbc * kbc); -bool kbc_keyboard(struct Kbc * kbc, uint8_t data, int16_t timeout); -bool kbc_mouse(struct Kbc * kbc, uint8_t data, int16_t timeout); +bool kbc_keyboard(struct Kbc * kbc, uint8_t data, uint16_t timeout); +bool kbc_mouse(struct Kbc * kbc, uint8_t data, uint16_t timeout); volatile uint8_t __xdata __at(0x1300) KBHICR; volatile uint8_t __xdata __at(0x1302) KBIRQR; diff --git a/src/ec/ite/kbc.c b/src/ec/ite/kbc.c index 47da946..00b9caa 100644 --- a/src/ec/ite/kbc.c +++ b/src/ec/ite/kbc.c @@ -20,7 +20,7 @@ uint8_t kbc_read(struct Kbc * kbc) { return *(kbc->data_in); } -static bool kbc_wait(struct Kbc * kbc, int16_t timeout) { +static bool kbc_wait(struct Kbc * kbc, uint16_t timeout) { while (*(kbc->status) & KBC_STS_OBF) { if (timeout == 0) return false; timeout -= 1; @@ -29,14 +29,14 @@ static bool kbc_wait(struct Kbc * kbc, int16_t timeout) { return true; } -bool kbc_keyboard(struct Kbc * kbc, uint8_t data, int16_t timeout) { +bool kbc_keyboard(struct Kbc * kbc, uint8_t data, uint16_t timeout) { if (!kbc_wait(kbc, timeout)) return false; *(kbc->status) &= ~0x20; *(kbc->keyboard_out) = data; return true; } -bool kbc_mouse(struct Kbc * kbc, uint8_t data, int16_t timeout) { +bool kbc_mouse(struct Kbc * kbc, uint8_t data, uint16_t timeout) { if (!kbc_wait(kbc, timeout)) return false; *(kbc->status) |= 0x20; *(kbc->mouse_out) = data;