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 >