diff --git a/boards/boardctl.c b/boards/boardctl.c index 6b949d7ce63..8b28aafbd13 100644 --- a/boards/boardctl.c +++ b/boards/boardctl.c @@ -258,6 +258,10 @@ static inline int boardctl_pmctrl(FAR struct boardioc_pm_ctrl_s *ctrl) ctrl->state = pm_querystate(ctrl->domain); break; + case BOARDIOC_PM_CHANGESTATE: + ret = pm_changestate(ctrl->domain, ctrl->state); + break; + default: ret = -EINVAL; } diff --git a/include/sys/boardctl.h b/include/sys/boardctl.h index 57100fe357a..314dfffa8ff 100644 --- a/include/sys/boardctl.h +++ b/include/sys/boardctl.h @@ -225,7 +225,8 @@ enum boardioc_action_e BOARDIOC_PM_STAY, BOARDIOC_PM_RELAX, BOARDIOC_PM_STAYCOUNT, - BOARDIOC_PM_QUERYSTATE + BOARDIOC_PM_QUERYSTATE, + BOARDIOC_PM_CHANGESTATE }; struct boardioc_pm_ctrl_s