diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ec/dell/mec5035/mec5035.c | 10 | ||||
-rw-r--r-- | src/ec/dell/mec5035/mec5035.h | 20 |
2 files changed, 17 insertions, 13 deletions
diff --git a/src/ec/dell/mec5035/mec5035.c b/src/ec/dell/mec5035/mec5035.c index 68b6b2f7fb..dffbb7960c 100644 --- a/src/ec/dell/mec5035/mec5035.c +++ b/src/ec/dell/mec5035/mec5035.c @@ -66,17 +66,17 @@ static enum cb_err write_mailbox_regs(const u8 *data, u8 start, u8 count) return CB_SUCCESS; } -static void ec_command(u8 cmd) +static void ec_command(enum mec5035_cmd cmd) { outb(0, MAILBOX_INDEX); - outb(cmd, MAILBOX_DATA); + outb((u8)cmd, MAILBOX_DATA); wait_ec(); } -u8 mec5035_mouse_touchpad(u8 setting) +u8 mec5035_mouse_touchpad(enum ec_mouse_setting setting) { - u8 buf[15] = {0}; - write_mailbox_regs(&setting, 2, 1); + u8 buf[15] = {(u8)setting}; + write_mailbox_regs(buf, 2, 1); ec_command(CMD_MOUSE_TP); /* The vendor firmware reads 15 bytes starting at index 1, presumably to get some sort of return code. Though I don't know for sure if diff --git a/src/ec/dell/mec5035/mec5035.h b/src/ec/dell/mec5035/mec5035.h index fa15a9d621..32f791cb01 100644 --- a/src/ec/dell/mec5035/mec5035.h +++ b/src/ec/dell/mec5035/mec5035.h @@ -7,16 +7,20 @@ #define NUM_REGISTERS 32 +enum mec5035_cmd { + CMD_MOUSE_TP = 0x1a, + CMD_RADIO_CTRL = 0x2b, + CMD_CPU_OK = 0xc2, +}; + /* Touchpad (TP) and mouse related. The EC seems to default to 0 which results in the TP not working. */ -#define CMD_MOUSE_TP 0x1a -#define SERIAL_MOUSE 0 /* Disable TP, force use of a serial mouse */ -#define PS2_MOUSE 1 /* Disable TP when using a PS/2 mouse */ -#define TP_PS2_MOUSE 2 /* Leave TP enabled when using a PS/2 mouse */ - -#define CMD_CPU_OK 0xc2 +enum ec_mouse_setting { + SERIAL_MOUSE = 0, /* Disable TP, force use of a serial mouse */ + PS2_MOUSE, /* Disable TP when using a PS/2 mouse */ + TP_PS2_MOUSE /* Leave TP enabled when using a PS/2 mouse */ +}; -#define CMD_RADIO_CTRL 0x2b #define RADIO_CTRL_NUM_ARGS 3 enum ec_radio_dev { RADIO_WLAN = 0, @@ -29,7 +33,7 @@ enum ec_radio_state { RADIO_ON }; -u8 mec5035_mouse_touchpad(u8 setting); +u8 mec5035_mouse_touchpad(enum ec_mouse_setting setting); void mec5035_cpu_ok(void); void mec5035_early_init(void); void mec5035_control_radio(enum ec_radio_dev device, enum ec_radio_state state); |