On Tue, Dec 5, 2017 at 1:55 PM, Thierry Escande <[email protected]> wrote: > Hi Gwendal, > > On 01/12/2017 20:54, Gwendal Grignou wrote: >> >> This is not required. >> Looking with dmidecode, Glimmer reports: >> ... >> BIOS Information >> Vendor: coreboot >> Version: Google_Glimmer.5216.198.19 >> ... >> >> Therefore, the first entry of cros_ec_lpc_dmi_table will match. > > > These DMI vendor/version strings are not exposed when booting in legacy mode > using SeaBIOS on the Yoga 11e. Instead it matches with the pair > GOOGLE/Glimmer. So this patch is needed for booting a vanilla kernel in > legacy mode. Good point. Given we will have the same issue with TianoCore, we have to use a DMI product match. Newer ACPI based chromebooks registers their EC dynamically , but looking at cros_ec_lpc.c, all registrations are gated on a dmi table match. This is only required for older devices.
In the meantime, Reviewed-by: Gwendal Grignou <[email protected]> > Regards, > Thierry > > >> >> Gwendal. >> >> On Fri, Dec 1, 2017 at 5:42 AM, Thierry Escande >> <[email protected]> wrote: >>> >>> This patch adds device information to the DMI table of the cros_ec_lpc >>> driver for Google Glimmer devices. Since Google BIOS does not enumerate >>> devices in the LPC bus, the cros_ec_lpc driver checks for system >>> compatibility and registers the cros_ec device itself. >>> >>> Signed-off-by: Thierry Escande <[email protected]> >>> --- >>> drivers/platform/chrome/cros_ec_lpc.c | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >>> diff --git a/drivers/platform/chrome/cros_ec_lpc.c >>> b/drivers/platform/chrome/cros_ec_lpc.c >>> index 0b26a09..4a2fc55 100644 >>> --- a/drivers/platform/chrome/cros_ec_lpc.c >>> +++ b/drivers/platform/chrome/cros_ec_lpc.c >>> @@ -365,6 +365,13 @@ static const struct dmi_system_id >>> cros_ec_lpc_dmi_table[] __initconst = { >>> DMI_MATCH(DMI_PRODUCT_NAME, "Peppy"), >>> }, >>> }, >>> + { >>> + /* x86-glimmer, the Lenovo Thinkpad Yoga 11e. */ >>> + .matches = { >>> + DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"), >>> + DMI_MATCH(DMI_PRODUCT_NAME, "Glimmer"), >>> + }, >>> + }, >>> { /* sentinel */ } >>> }; >>> MODULE_DEVICE_TABLE(dmi, cros_ec_lpc_dmi_table); >>> -- >>> 2.7.4 >>> >

