RE: [PATCH] ACPI / button: Avoid using broken _LID on Surface tablet

From: Zheng, Lv
Date: Tue Mar 22 2016 - 03:04:29 EST


Hi,

> From: Bastien Nocera [mailto:hadess@xxxxxxxxxx]
> Subject: Re: [PATCH] ACPI / button: Avoid using broken _LID on Surface tablet
>
> On Fri, 2016-03-04 at 03:37 +0000, Zheng, Lv wrote:
> <snip>
> >
> > > I'm not happy about the "fix" for this problem either, but blaming
> > > user-space for this is harsh, given the API exported by the kernel
> > > and
> > > how pretty much every laptop worked.
> > >
> > [Lv Zheng]
> > It worked for so many years on top of traditional x86 laptops where
> > the LID open event is handled by the BIOS to trigger a wake GPE.
> > Now we are talking about runtime idle systems where resuming from the
> > s2idle invokes no BIOS code.
> > The new case is still working on Windows.
> > Which forces us to re-consider the kernel API of the ACPI LID.
>
> The current kernel API works on 99% of machines up until now, user-
> space could not have been expected to know that the Lid status might be
> incorrect on some machines, it had no way to know that, there was no
> documentation saying "don't use the Lid status outside of Lid status
> change events".
>
> We either need to extend the current API to export the fact that we
> should ignore the LID status outside of events, or we need a new API.
>
> (We could fix this without any kernel changes, but we really need the
> kernel to document that fact, and export it to user-space)
>
> This is something you should have said at the start of the mail,
> instead of repeatedly saying that user-space was broken. User-space
> behaviour hasn't changed there for more than 10 years, and I'm fairly
> certain it's worked the same way as APM (on x86) and PMU (on Mac PPC
> machines) did.
[Lv Zheng]
If you want a documentation fix.
It seems we need to fix ACPI spec first by clarifying this behavior.
By submitting ACPI spec change, we can also gain MS confirmation.
So please wait a bit longer to have this clarified.

Thanks
-Lv


>
> Cheers