linux/drivers/acpi
Lv Zheng f369fdf4f6 Revert "ACPI / button: Remove lid_init_state=method mode"
This reverts commit ecb10b694b.

The only expected ACPI control method lid device's usage model is

 1. Listen to the lid notification,
 2. Evaluate _LID after being notified by BIOS,
 3. Suspend the system (if users configure to do so) after seeing "close".

It's not ensured that BIOS will notify OS after boot/resume, and
it's not ensured that BIOS will always generate "open" event upon
opening the lid.

But there are 2 wrong usage models:

 1. When the lid device is responsible for suspend/resume the system,
    userspace requires to see "open" event to be paired with "close" after
    the system is resumed, or it will suspend the system again.

 2. When an external monitor connects to the laptop attached docks,
    userspace requires to see "close" event after the system is resumed so
    that it can determine whether the internal display should remain dark
    and the external display should be lit on.

After we made default kernel behavior to be suitable for usage model 1,
users of usage model 2 start to report regressions for such behavior
change.

Reversion of button.lid_init_state=method doesn't actually reverts to old
default behavior as doing so can enter a regression loop, but facilitates
users to work the reported regressions around with
button.lid_init_state=method.

Fixes: ecb10b694b (ACPI / button: Remove lid_init_state=method mode)
Cc: 4.11+ <stable@vger.kernel.org> # 4.11+
Link: https://bugzilla.kernel.org/show_bug.cgi?id=195455
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1430259
Tested-by: Steffen Weber <steffen.weber@gmail.com>
Tested-by: Julian Wiedmann <julian.wiedmann@jwi.name>
Reported-by: Joachim Frieben <jfrieben@hotmail.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-05-12 23:14:59 +02:00
..
acpica Revert "ACPICA: Resources: Not a valid resource if buffer length too long" 2017-04-13 18:23:46 +02:00
apei ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal 2017-03-28 23:43:42 +02:00
arm64 arm64 updates for 4.11: 2017-02-22 10:46:44 -08:00
dptf ACPI / platform: Add support for build-in properties 2016-11-10 00:30:29 +01:00
nfit acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison) 2017-03-27 21:53:38 -07:00
pmic ACPI / PMIC: remove modular references from non-modular code 2016-07-16 03:03:14 +02:00
ac.c ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
acpi_amba.c ACPI / amba: Remove CLK_IS_ROOT 2016-04-27 23:42:57 +02:00
acpi_apd.c Merge branches 'acpi-soc', 'acpi-battery', 'acpi-video', 'acpi-cppc' and 'acpi-apei' 2016-12-12 20:48:01 +01:00
acpi_cmos_rtc.c char/genrtc: x86: remove remnants of asm/rtc.h 2016-06-04 00:20:07 +02:00
acpi_configfs.c ACPI: Rename configfs.c to acpi_configfs.c to prevent link error 2016-07-11 15:13:36 +02:00
acpi_dbg.c ACPI / debugger: Fix regression introduced by IS_ERR_VALUE() removal 2016-07-05 23:02:34 +02:00
acpi_extlog.c x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority 2017-01-24 09:14:57 +01:00
acpi_ipmi.c acpi:ipmi: Make IPMI user handler const 2017-02-09 09:10:05 -06:00
acpi_lpat.c ACPI / lpat: make it explicitly non-modular 2016-07-16 03:08:10 +02:00
acpi_lpss.c pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
acpi_memhotplug.c ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
acpi_pad.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
acpi_platform.c ACPI: Do not create a platform_device for IOAPIC/IOxAPIC 2017-03-28 23:37:19 +02:00
acpi_pnp.c ACPI / PNP: constify device IDs 2016-01-04 22:10:30 +01:00
acpi_processor.c acpi/processor: Check for duplicate processor ids at hotplug time 2017-03-11 14:41:20 +01:00
acpi_video.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
acpi_watchdog.c ACPI / watchdog: Print out error number when device creation fails 2016-12-26 23:21:56 +01:00
battery.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
battery.h
bgrt.c efi/x86: Move the EFI BGRT init code to early init code 2017-02-01 08:45:46 +01:00
blacklist.c ACPI / blacklist: Make Dell Latitude 3350 ethernet work 2016-11-16 23:01:29 +01:00
bus.c Revert "x86/acpi: Set persistent cpuid <-> nodeid mapping when booting" 2017-03-11 14:41:18 +01:00
button.c Revert "ACPI / button: Remove lid_init_state=method mode" 2017-05-12 23:14:59 +02:00
cm_sbs.c ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
container.c ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
cppc_acpi.c ACPI / CPPC: Fix per-CPU pointer management in acpi_cppc_processor_probe() 2016-12-12 23:52:34 +01:00
custom_method.c
debugfs.c ACPI: fix acpi_debugfs_init prototype 2015-08-07 02:55:18 +02:00
device_pm.c ACPI / PM: Export acpi_device_fix_up_power() 2016-05-20 15:54:01 +02:00
device_sysfs.c ACPI / property: Hierarchical properties support update 2016-11-24 02:43:47 +01:00
dock.c ACPI / dock: make dock explicitly non-modular 2016-07-16 03:08:08 +02:00
ec_sys.c ACPI / EC: Deny write access unless requested by module param 2016-03-09 23:26:15 +01:00
ec.c ACPI / EC: Use busy polling mode when GPE is not enabled 2017-01-30 12:12:52 +01:00
event.c genetlink: mark families as __ro_after_init 2016-10-27 16:16:09 -04:00
evged.c ACPI / GED: make evged.c explicitly non-modular 2016-05-09 22:59:25 +02:00
fan.c ACPI / fan: Fix error reading cur_state 2016-10-10 02:20:43 +02:00
glue.c ACPI / scan: Prefer devices without _HID for _ADR matching 2017-04-01 00:55:22 +02:00
hed.c ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
internal.h x86/ioapic: Split IOAPIC hot-removal into two steps 2017-03-01 10:51:41 +01:00
ioapic.c ACPI: ioapic: Clear on-stack resource before using it 2017-03-28 23:31:45 +02:00
irq.c ACPI: Add support for ResourceSource/IRQ domain mapping 2017-02-03 15:03:48 +00:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-12-14 11:12:25 -08:00
Makefile ACPI: Fix incompatibility with mcount-based function graph tracing 2017-03-28 23:54:43 +02:00
numa.c ACPI/NUMA: Do not map pxm to node when NUMA is turned off 2016-12-15 11:32:32 +01:00
nvs.c
osi.c ACPI / osi: Collect _OSI handling into one single file 2016-05-05 00:13:53 +02:00
osl.c ACPICA: Hardware: Add sleep register hooks 2017-01-02 23:18:41 +01:00
pci_irq.c ACPI / PCI: fix GIC irq model default PCI IRQ polarity 2016-09-10 02:50:50 +02:00
pci_link.c ACPI/PCI: pci_link: Include PIRQ_PENALTY_PCI_USING for ISA IRQs 2016-10-24 14:18:14 +02:00
pci_mcfg.c PCI/ACPI: Fix bus range comparison in pci_mcfg_lookup() 2017-01-12 14:32:09 -06:00
pci_root.c x86/ioapic: Split IOAPIC hot-removal into two steps 2017-03-01 10:51:41 +01:00
pci_slot.c ACPI / PCI: make pci_slot explicitly non-modular 2016-07-16 03:05:29 +02:00
power.c ACPI / power: Avoid maybe-uninitialized warning 2017-04-19 22:46:10 +02:00
proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
processor_core.c Revert"x86/acpi: Enable MADT APIs to return disabled apicids" 2017-03-11 14:41:18 +01:00
processor_driver.c Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-10-03 19:43:08 -07:00
processor_idle.c x86/amd: Simplify AMD E400 aware idle routine 2016-12-09 21:23:21 +01:00
processor_pdc.c
processor_perflib.c ACPI: processor_perflib: Simplify code and stop using CPUFREQ_START 2017-02-04 00:05:29 +01:00
processor_thermal.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
processor_throttling.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
property.c ACPI / property: Hierarchical properties support update 2016-11-24 02:43:47 +01:00
reboot.c
resource.c scripts/spelling.txt: add "overrided" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
sbs.c ACPI / SBS: fix inconsistent indenting inside if statement 2016-01-04 22:14:27 +01:00
sbshc.c Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" 2015-11-16 23:26:45 +01:00
sbshc.h
scan.c ACPI / scan: Set the visited flag for all enumerated devices 2017-04-13 04:42:18 +02:00
sleep.c ACPI: save NVS memory for Lenovo G50-45 2017-01-31 22:46:59 +01:00
sleep.h ACPICA: Drop Linux-specific waking vector functions 2016-01-04 22:05:20 +01:00
spcr.c tty: acpi/spcr: QDF2400 E44 checks for wrong OEM revision 2017-03-14 10:48:54 +08:00
sysfs.c ACPI / sysfs: Provide quirk mechanism to prevent GPE flooding 2016-12-26 23:16:39 +01:00
tables.c ACPI / osl: Remove acpi_get_table_with_size()/early_acpi_os_unmap_memory() users 2016-12-21 02:36:38 +01:00
thermal.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
utils.c nfit: make DIMM DSMs optional 2016-07-19 12:32:39 -07:00
video_detect.c Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6" 2017-01-25 14:04:13 +01:00
wakeup.c