Re: [PATCH] ACPI: button: Add DMI quirk for Medion Akoya E2228T

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 7, 2020 at 2:33 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>
> The Medion Akoya E2228T's ACPI _LID implementation is quite broken,
> it has the same issues as the one from the Medion Akoya E2215T:
>
> 1. For notifications it uses an ActiveLow Edge GpioInt, rather then
>    an ActiveBoth one, meaning that the device is only notified when the
>    lid is closed, not when it is opened.
>
> 2. Matching with this its _LID method simply always returns 0 (closed)
>
> In order for the Linux LID code to work properly with this implementation,
> the lid_init_state selection needs to be set to ACPI_BUTTON_LID_INIT_OPEN,
> add a DMI quirk for this.
>
> While working on this I also found out that the MD60### part of the model
> number differs per country/batch while all of the E2215T and E2228T models
> have this issue, so also remove the " MD60198" part from the E2215T quirk.
>
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Applied as 5.10-rc material, thanks!

> ---
>  drivers/acpi/button.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
> index 0761529cac05..0d93a5ef4d07 100644
> --- a/drivers/acpi/button.c
> +++ b/drivers/acpi/button.c
> @@ -89,7 +89,18 @@ static const struct dmi_system_id dmi_lid_quirks[] = {
>                  */
>                 .matches = {
>                         DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
> -                       DMI_MATCH(DMI_PRODUCT_NAME, "E2215T MD60198"),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "E2215T"),
> +               },
> +               .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
> +       },
> +       {
> +               /*
> +                * Medion Akoya E2228T, notification of the LID device only
> +                * happens on close, not on open and _LID always returns closed.
> +                */
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "E2228T"),
>                 },
>                 .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
>         },
> --
> 2.28.0
>



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux