google/chromeec: Add common infrastructure for boot-mode switches

Instead of defining the same functions for reading/clearing boot-mode
switches from EC in every mainboard, add a common infrastructure to
enable common functions for handling boot-mode switches if
GOOGLE_CHROMEEC is being used.

Only boards that were not moved to this new infrastructure are those
that do not use GOOGLE_CHROMEEC or which rely on some mainboard specific
mechanism for reading boot-mode switches.

BUG=None
BRANCH=None
TEST=abuild compiles all boards successfully with and without ChromeOS
option.

Change-Id: I267aadea9e616464563df04b51a668b877f0d578
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/17449
Tested-by: build bot (Jenkins)
Reviewed-by: Julius Werner <jwerner@chromium.org>
diff --git a/src/mainboard/google/gru/Kconfig b/src/mainboard/google/gru/Kconfig
index 41e81055..57b1762 100644
--- a/src/mainboard/google/gru/Kconfig
+++ b/src/mainboard/google/gru/Kconfig
@@ -46,6 +46,7 @@
 	select SPI_FLASH_WINBOND
 
 config CHROMEOS
+	select EC_GOOGLE_CHROMEEC_SWITCHES
 	select EC_SOFTWARE_SYNC
 	select SPI_TPM if GRU_HAS_TPM2
 	select VBOOT_VBNV_FLASH
diff --git a/src/mainboard/google/gru/chromeos.c b/src/mainboard/google/gru/chromeos.c
index cc2b3b6..d9e5e28 100644
--- a/src/mainboard/google/gru/chromeos.c
+++ b/src/mainboard/google/gru/chromeos.c
@@ -14,11 +14,9 @@
  *
  */
 
+#include <bootmode.h>
 #include <boot/coreboot_tables.h>
-#include <ec/google/chromeec/ec.h>
-#include <ec/google/chromeec/ec_commands.h>
 #include <gpio.h>
-#include <vendorcode/google/chromeos/chromeos.h>
 
 #include "board.h"
 
@@ -42,20 +40,6 @@
 	lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
 }
 
-int get_developer_mode_switch(void)
-{
-	return 0;
-}
-
-int get_recovery_mode_switch(void)
-{
-	uint32_t ec_events;
-
-	ec_events = google_chromeec_get_events_b();
-	return !!(ec_events &
-		  EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEYBOARD_RECOVERY));
-}
-
 void setup_chromeos_gpios(void)
 {
 	gpio_input_pullup(GPIO_WP);