[PATCH] platform/chrome: cros_ec_lpc: Add support for Google devices using custom coreboot firmware

From: Salvatore Bellizzi
Date: Tue Jan 23 2018 - 06:17:26 EST


This patch adds generic device information to the DMI table of
the cros_ec_lpc driver, needed for Chromebooks/boxes using a
custom coreboot firmware.

The DMI info would not contain "Google_*" as BIOS version string,
instead the system vendor string would still be "GOOGLE", so that
seems to be a reasonable match for every Chromebook/box running
a custom firmware.

Signed-off-by: Salvatore Bellizzi <lkml@xxxxxxxxxx>
Signed-off-by: Vittorio Gambaletta <linuxbugs@xxxxxxxxxxx>
---
drivers/platform/chrome/cros_ec_lpc.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c
index af89e82eecd2..c8450ae3cd60 100644
--- a/drivers/platform/chrome/cros_ec_lpc.c
+++ b/drivers/platform/chrome/cros_ec_lpc.c
@@ -341,6 +341,18 @@ static const struct dmi_system_id cros_ec_lpc_dmi_table[] __initconst = {
DMI_MATCH(DMI_BIOS_VERSION, "Google_"),
},
},
+ {
+ /*
+ * If the box is running custom coreboot firmware then the
+ * DMI BIOS version string will not be matched by "Google_",
+ * but the system vendor string will still be matched by
+ * "GOOGLE".
+ */
+ .matches = {
+ DMI_MATCH(DMI_BIOS_VENDOR, "coreboot"),
+ DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
+ },
+ },
{
/* x86-link, the Chromebook Pixel. */
.matches = {
--
2.15.1