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
>>>
>

Reply via email to