On 2023/9/12 23:22, Andy Shevchenko wrote:
On Tue, Sep 12, 2023 at 09:16:06PM +0800, Ken Xue wrote:
Andorid can wakeup from various wakeup sources,
but only several wakeup sources can wake up screen
with right events(POWER, WAKEUP) from input device.
You still have a room for 10+ characters on each line in the above paragraph.
Why not use them?
ACK
Regarding pressing acpi power button, it can resume system and
ACPI_BITMASK_WAKE_STATUS and ACPI_BITMASK_POWER_BUTTON_STATUS
are set in pm1a_sts, but kernel does not report any key
event to user space during resume by default.
So, trigger wakeup key event to user space during resume
from power button.
Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx>
...
+void acpi_power_button_wakeup(struct acpi_device *dev)
+{
+ struct acpi_button *button = acpi_driver_data(dev);
+ struct input_dev *input;
+ if (button->type == ACPI_BUTTON_TYPE_POWER) {
It seems you missed the suggestion and I haven't heard an objection on written
the above as
if (button->type != ACPI_BUTTON_TYPE_POWER)
return;
ACK. sorry that I do missed the suggestion at first place.
+ input = button->input;
+ input_report_key(input, KEY_WAKEUP, 1);
+ input_sync(input);
+ input_report_key(input, KEY_WAKEUP, 0);
+ input_sync(input);
+ }
+}
...
#include <linux/syscore_ops.h>
#include <asm/io.h>
#include <trace/events/power.h>
+#include <acpi/button.h>
While at it, I would add a blank line here to distinguish groups of header
inclusions.
#include <linux/syscore_ops.h>
#include <asm/io.h>
#include <trace/events/power.h>
#include <acpi/button.h>
Or even
#include <linux/syscore_ops.h>
#include <asm/io.h>
#include <trace/events/power.h>
#include <acpi/button.h>
ACK