mirror of
https://github.com/armbian/build.git
synced 2025-08-15 15:46:58 +02:00
49 lines
1.7 KiB
Diff
49 lines
1.7 KiB
Diff
From 05cbc8d9adae4ab196e435b3b2631169ddaed664 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Holland <samuel@sholland.org>
|
|
Date: Sat, 2 Jan 2021 15:52:27 -0600
|
|
Subject: Input: axp20x-pek - allow wakeup after shutdown
|
|
|
|
While the AXP20x PMIC handles the power button itself after shutting
|
|
down, it is not always possible to use the PMIC's built-in shutdown
|
|
feature, such as when other wakeup sources are needed (for example, an
|
|
IR remote or wake-on-LAN) that require firmware support. In that case,
|
|
the PMIC remains on, but suspended, until the board is powered back on.
|
|
|
|
During this "fake" off state, IRQ configuration is similar to system
|
|
sleep, where enable_irq_wake() must be call on an IRQ for it to be
|
|
wakeup capable. Run the suspend callback to arm the power button IRQs
|
|
during the shutdown process, so the power button works in this state.
|
|
|
|
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
---
|
|
drivers/input/misc/axp20x-pek.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/drivers/input/misc/axp20x-pek.c b/drivers/input/misc/axp20x-pek.c
|
|
index 4581606a28d6..7217dc6ed26a 100644
|
|
--- a/drivers/input/misc/axp20x-pek.c
|
|
+++ b/drivers/input/misc/axp20x-pek.c
|
|
@@ -393,6 +393,11 @@ static const struct dev_pm_ops axp20x_pek_pm_ops = {
|
|
.resume_noirq = pm_sleep_ptr(axp20x_pek_resume_noirq),
|
|
};
|
|
|
|
+static void axp20x_pek_shutdown(struct platform_device *pdev)
|
|
+{
|
|
+ axp20x_pek_suspend(&pdev->dev);
|
|
+}
|
|
+
|
|
static const struct platform_device_id axp_pek_id_match[] = {
|
|
{
|
|
.name = "axp20x-pek",
|
|
@@ -408,6 +413,7 @@ MODULE_DEVICE_TABLE(platform, axp_pek_id_match);
|
|
|
|
static struct platform_driver axp20x_pek_driver = {
|
|
.probe = axp20x_pek_probe,
|
|
+ .shutdown = axp20x_pek_shutdown,
|
|
.id_table = axp_pek_id_match,
|
|
.driver = {
|
|
.name = "axp20x-pek",
|
|
--
|
|
2.35.3
|
|
|