libpayload/keyboard: Use `bool` as return type
Use `bool` whenever `0` was used to indicate an error. The mixing of different types for return values was mildly confusing and potentially dangerous with the i8042 API close by that uses `0` for success. Change-Id: I876bb5076c4921f36e3438f359be8ac4c09248cc Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46723 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
f56d65266c
commit
d9e543a5f9
|
@ -27,6 +27,8 @@
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include <keycodes.h>
|
#include <keycodes.h>
|
||||||
#include <libpayload-config.h>
|
#include <libpayload-config.h>
|
||||||
#include <libpayload.h>
|
#include <libpayload.h>
|
||||||
|
@ -169,14 +171,14 @@ static struct layout_maps keyboard_layouts[] = {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static unsigned char keyboard_cmd(unsigned char cmd)
|
static bool keyboard_cmd(unsigned char cmd)
|
||||||
{
|
{
|
||||||
i8042_write_data(cmd);
|
i8042_write_data(cmd);
|
||||||
|
|
||||||
return i8042_wait_read_ps2() == 0xfa;
|
return i8042_wait_read_ps2() == 0xfa;
|
||||||
}
|
}
|
||||||
|
|
||||||
int keyboard_havechar(void)
|
bool keyboard_havechar(void)
|
||||||
{
|
{
|
||||||
return i8042_data_ready_ps2();
|
return i8042_data_ready_ps2();
|
||||||
}
|
}
|
||||||
|
@ -306,13 +308,13 @@ int keyboard_set_layout(char *country)
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct console_input_driver cons = {
|
static struct console_input_driver cons = {
|
||||||
.havekey = keyboard_havechar,
|
.havekey = (int (*)(void))keyboard_havechar,
|
||||||
.getchar = keyboard_getchar,
|
.getchar = keyboard_getchar,
|
||||||
.input_type = CONSOLE_INPUT_TYPE_EC,
|
.input_type = CONSOLE_INPUT_TYPE_EC,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Enable keyboard translated */
|
/* Enable keyboard translated */
|
||||||
static int enable_translated(void)
|
static bool enable_translated(void)
|
||||||
{
|
{
|
||||||
if (!i8042_cmd(I8042_CMD_RD_CMD_BYTE)) {
|
if (!i8042_cmd(I8042_CMD_RD_CMD_BYTE)) {
|
||||||
int cmd = i8042_read_data_ps2();
|
int cmd = i8042_read_data_ps2();
|
||||||
|
@ -321,19 +323,19 @@ static int enable_translated(void)
|
||||||
i8042_write_data(cmd);
|
i8042_write_data(cmd);
|
||||||
} else {
|
} else {
|
||||||
printf("ERROR: i8042_cmd WR_CMD failed!\n");
|
printf("ERROR: i8042_cmd WR_CMD failed!\n");
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
printf("ERROR: i8042_cmd RD_CMD failed!\n");
|
printf("ERROR: i8042_cmd RD_CMD failed!\n");
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set scancode set 1 */
|
/* Set scancode set 1 */
|
||||||
static int set_scancode_set(void)
|
static bool set_scancode_set(void)
|
||||||
{
|
{
|
||||||
unsigned int ret;
|
bool ret;
|
||||||
ret = keyboard_cmd(I8042_KBCMD_SET_SCANCODE);
|
ret = keyboard_cmd(I8042_KBCMD_SET_SCANCODE);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
printf("ERROR: Keyboard set scancode failed!\n");
|
printf("ERROR: Keyboard set scancode failed!\n");
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#ifndef _LIBPAYLOAD_H
|
#ifndef _LIBPAYLOAD_H
|
||||||
#define _LIBPAYLOAD_H
|
#define _LIBPAYLOAD_H
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
#include <libpayload-config.h>
|
#include <libpayload-config.h>
|
||||||
#include <compiler.h>
|
#include <compiler.h>
|
||||||
#include <cbgfx.h>
|
#include <cbgfx.h>
|
||||||
|
@ -186,7 +187,7 @@ int add_reset_handler(void (*new_handler)(void));
|
||||||
*/
|
*/
|
||||||
void keyboard_init(void);
|
void keyboard_init(void);
|
||||||
void keyboard_disconnect(void);
|
void keyboard_disconnect(void);
|
||||||
int keyboard_havechar(void);
|
bool keyboard_havechar(void);
|
||||||
unsigned char keyboard_get_scancode(void);
|
unsigned char keyboard_get_scancode(void);
|
||||||
int keyboard_getchar(void);
|
int keyboard_getchar(void);
|
||||||
int keyboard_set_layout(char *country);
|
int keyboard_set_layout(char *country);
|
||||||
|
|
Loading…
Reference in New Issue