aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x201/smihandler.c
diff options
context:
space:
mode:
authorPeter Lemenkov <lemenkov@gmail.com>2019-10-23 08:58:30 +0200
committerPatrick Georgi <pgeorgi@google.com>2019-10-25 07:03:59 +0000
commitfaaea998591338910657153780c090b204ee830e (patch)
treef6d6bdc194383f14e30cf9ca3b771b173a8758c4 /src/mainboard/lenovo/x201/smihandler.c
parentdbed7865d34d407814bc59dae06e93be3a3fcf95 (diff)
mb/lenovo/x201/smihandler: Remove mainboard_io_trap_handler function
An io_trap_handler on this board is unused in SMM. Change-Id: Ie922f8f1a10495ae887221735c96807261508041 Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36252 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Diffstat (limited to 'src/mainboard/lenovo/x201/smihandler.c')
-rw-r--r--src/mainboard/lenovo/x201/smihandler.c39
1 files changed, 9 insertions, 30 deletions
diff --git a/src/mainboard/lenovo/x201/smihandler.c b/src/mainboard/lenovo/x201/smihandler.c
index c9c52abc1d..4ba10b47cd 100644
--- a/src/mainboard/lenovo/x201/smihandler.c
+++ b/src/mainboard/lenovo/x201/smihandler.c
@@ -24,38 +24,10 @@
#include <ec/lenovo/h8/h8.h>
#include <delay.h>
#include "dock.h"
-#include "smi.h"
#define GPE_EC_SCI 1
#define GPE_EC_WAKE 13
-int mainboard_io_trap_handler(int smif)
-{
- switch (smif) {
- case SMI_DOCK_CONNECT:
- ec_clr_bit(0x03, 2);
- udelay(250000);
- dock_connect();
- ec_set_bit(0x03, 2);
- /* set dock LED to indicate status */
- ec_write(0x0c, 0x09);
- ec_write(0x0c, 0x88);
- break;
-
- case SMI_DOCK_DISCONNECT:
- ec_clr_bit(0x03, 2);
- dock_disconnect();
- break;
-
- default:
- return 0;
- }
-
- /* On success, the IO Trap Handler returns 1
- * On failure, the IO Trap Handler returns a value != 1 */
- return 1;
-}
-
static void mainboard_smi_handle_ec_sci(void)
{
u8 status = inb(EC_SC);
@@ -74,12 +46,19 @@ static void mainboard_smi_handle_ec_sci(void)
/* Power loss */
case 0x50:
/* Undock Key */
- mainboard_io_trap_handler(SMI_DOCK_DISCONNECT);
+ ec_clr_bit(0x03, 2);
+ dock_disconnect();
break;
case 0x37:
case 0x58:
/* Dock Event */
- mainboard_io_trap_handler(SMI_DOCK_CONNECT);
+ ec_clr_bit(0x03, 2);
+ udelay(250000);
+ dock_connect();
+ ec_set_bit(0x03, 2);
+ /* set dock LED to indicate status */
+ ec_write(0x0c, 0x09);
+ ec_write(0x0c, 0x88);
break;
default:
break;