diff --git a/src/ec/it5570e/kbc.c b/src/ec/it5570e/kbc.c index 9b7364f..7f70ec6 100644 --- a/src/ec/it5570e/kbc.c +++ b/src/ec/it5570e/kbc.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-only +#include #include struct Kbc __code KBC = { @@ -19,11 +20,11 @@ uint8_t kbc_read(struct Kbc * kbc) { return *(kbc->data_in); } - static bool kbc_wait(struct Kbc * kbc, int timeout) { - while (kbc_status(kbc) & KBC_STS_OBF) { + while (*(kbc->status) & KBC_STS_OBF) { if (timeout == 0) return false; timeout -= 1; + delay_us(1); } return true; } diff --git a/src/ec/it8587e/kbc.c b/src/ec/it8587e/kbc.c index 9b7364f..7f70ec6 100644 --- a/src/ec/it8587e/kbc.c +++ b/src/ec/it8587e/kbc.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-only +#include #include struct Kbc __code KBC = { @@ -19,11 +20,11 @@ uint8_t kbc_read(struct Kbc * kbc) { return *(kbc->data_in); } - static bool kbc_wait(struct Kbc * kbc, int timeout) { - while (kbc_status(kbc) & KBC_STS_OBF) { + while (*(kbc->status) & KBC_STS_OBF) { if (timeout == 0) return false; timeout -= 1; + delay_us(1); } return true; }