Paul Menzel has uploaded this change for review.

View Change

mb/asus/p2b{,-ls}: Get rid of power button device

Currently, two power buttons are exposed in ACPI, and detected by the
operating system.

[ 0.000000] Linux version 4.4.14-smp (root@hive) (gcc version 5.3.0 (GCC) ) #2 SMP Fri Jun 24 14:44:24 CDT 2016
[…]
[ 0.000000] DMI: ASUS P2B-LS/P2B-LS, BIOS 4.11-839-g11c5b3b180 01/10/2020
[…]
[ 23.887594] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3
[ 23.887837] ACPI: Power Button [PWRB]
[ 23.888158] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
[ 23.888383] ACPI: Power Button [PWRF]

Apply commit d7b88dcb (mb/google/x86-boards: Get rid of power button
device in coreboot, CB:27272) [1] to Intel 440BX boards [1]:

> As per the ACPI specification, there are two types of power button
> devices:
> 1. Fixed hardware power button
> 2. Generic hardware power button
>
> Fixed hardware power button is added by the OSPM if POWER_BUTTON flag
> is not set in FADT by the BIOS. This device has its programming model
> in PM1x_EVT_BLK. All ACPI compliant OSes are expected to add this
> power button device by default if the power button FADT flag is not
> set.
>
> On the other hand, generic hardware power button can be used by
> platforms if fixed register space cannot be used for the power button
> device. In order to support this, power button device object with HID
> PNP0C0C is expected to be added to ACPI tables. Additionally,
> POWER_BUTTON flag should be set to indicate the presence of control
> method for power button.
>
> Chrome EC mainboards implemented the generic hardware power button in
> a broken manner i.e. power button object with HID PNP0C0C is added to
> ACPI however none of the boards set POWER_BUTTON flag in FADT. This
> results in Linux kernel adding both fixed hardware power button as
> well as generic hardware power button to the list of devices present
> on the system. Though this is mostly harmless, it is logically
> incorrect and can confuse any userspace utilities scanning the ACPI
> devices.
>
> This change gets rid of the generic hardware power button from all
> google mainboards and relies completely on the fixed hardware power
> button.

[1]: https://review.coreboot.org/27272

TEST=Verify, Linux detects only the fixed hardware power button:

ACPI: Power Button [PWRF]

that means, the message below is absent from the Linux log.

ACPI: Power Button [PWRB]

Change-Id: I0f5b7aaf32366360de3cce58cd742651a2bb46ba
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
---
M src/mainboard/asus/p2b-ls/dsdt.asl
M src/mainboard/asus/p2b/dsdt.asl
2 files changed, 0 insertions(+), 18 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/40007/1
diff --git a/src/mainboard/asus/p2b-ls/dsdt.asl b/src/mainboard/asus/p2b-ls/dsdt.asl
index c79b786..c0ac141 100644
--- a/src/mainboard/asus/p2b-ls/dsdt.asl
+++ b/src/mainboard/asus/p2b-ls/dsdt.asl
@@ -107,15 +107,6 @@
/* Root of the bus hierarchy */
Scope (\_SB)
{
- Device (PWRB)
- {
- /* Power Button Device */
- Name (_HID, EisaId ("PNP0C0C"))
- Method (_STA, 0, NotSerialized)
- {
- Return (0x0B)
- }
- }
#include <southbridge/intel/i82371eb/acpi/intx.asl>

PCI_INTX_DEV(LNKA, \_SB.PCI0.PX40.PIRA, 1)
diff --git a/src/mainboard/asus/p2b/dsdt.asl b/src/mainboard/asus/p2b/dsdt.asl
index b52b4569..02b44f4 100644
--- a/src/mainboard/asus/p2b/dsdt.asl
+++ b/src/mainboard/asus/p2b/dsdt.asl
@@ -102,15 +102,6 @@
/* Root of the bus hierarchy */
Scope (\_SB)
{
- Device (PWRB)
- {
- /* Power Button Device */
- Name (_HID, EisaId ("PNP0C0C"))
- Method (_STA, 0, NotSerialized)
- {
- Return (0x0B)
- }
- }
#include <southbridge/intel/i82371eb/acpi/intx.asl>

PCI_INTX_DEV(LNKA, \_SB.PCI0.PX40.PIRA, 1)

To view, visit change 40007. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0f5b7aaf32366360de3cce58cd742651a2bb46ba
Gerrit-Change-Number: 40007
Gerrit-PatchSet: 1
Gerrit-Owner: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: newchange