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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user