photonicat-pm: handle pmu shutdown request

The current version of the photonicat-pm ignore shutdown request (e.g. hold
power button / low power) from pmu. Causing the pmu to cut off the system’s
power after timeout.

This patch allow driver handle this request properly and poweroff system
safely.

Signed-off-by: Jason Zou <jasonforhise@outlook.com>
This commit is contained in:
Jason Zou
2026-02-02 12:13:28 +08:00
parent b8c93e2c66
commit c97322eae5
2 changed files with 9 additions and 1 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=photonicat-pm
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0-or-later
@@ -558,6 +558,10 @@ static void pcat_pm_uart_cmd_exec(struct pcat_pm_data *pm_data,
pm_data->poweroff_ok = true;
need_ack = false;
break;
case PCAT_PM_COMMAND_PMU_REQUEST_SHUTDOWN:
dev_info(&pm_data->serdev->dev, "PMU request shutdown.");
orderly_poweroff(true);
break;
case PCAT_PM_COMMAND_STATUS_REPORT:
pcat_pm_status_report_parse(
pm_data, extra_data, extra_data_len);
@@ -1210,6 +1214,10 @@ static void pcat_pm_ctl_cmd_exec(struct pcat_pm_data *pm_data,
break;
case PCAT_PM_COMMAND_HOST_REQUEST_SHUTDOWN_ACK:
break;
case PCAT_PM_COMMAND_PMU_REQUEST_SHUTDOWN:
break;
case PCAT_PM_COMMAND_PMU_REQUEST_SHUTDOWN_ACK:
break;
case PCAT_PM_COMMAND_WATCHDOG_TIMEOUT_SET:
break;
case PCAT_PM_COMMAND_WATCHDOG_TIMEOUT_SET_ACK: