Hans de Goede 84d3f6b764 ACPI / button: Delay acpi_lid_initialize_state() until first user space open
ACPI _LID methods may depend on OpRegions and do not always handle
handlers for those OpRegions not being present properly e.g. :

            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                If ((^^I2C5.PMI1.AVBL == One) && (^^GPO2.AVBL == One))
                {
                    Return (^^GPO2.LPOL) /* \_SB_.GPO2.LPOL */
                }
            }

Note the missing Return (1) when either of the OpRegions is not available,
this causes (in this case) a report of the lid-switch being closed,
which causes userspace to do an immediate suspend at boot.

This commit delays getting the initial state and thus calling _LID for
the first time until userspace opens the /dev/input/event# node. This
ensures that all drivers will have had a chance to load and registerer
their OpRegions before the first _LID call, fixing this issue.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-11-09 00:30:44 +01:00
..
2017-10-04 17:34:41 +01:00
2016-04-27 23:42:57 +02:00
2016-01-04 22:10:30 +01:00
2017-08-24 03:38:25 +02:00
2015-07-08 02:27:32 +02:00
2015-07-08 02:27:32 +02:00
2016-10-10 02:20:43 +02:00
2017-05-09 15:15:47 -07:00
2015-07-08 02:27:32 +02:00
2017-08-07 14:28:51 +02:00