diff --git a/drivers/power/pm_changestate.c b/drivers/power/pm_changestate.c index 92c75a770f1..28280958d02 100644 --- a/drivers/power/pm_changestate.c +++ b/drivers/power/pm_changestate.c @@ -213,4 +213,23 @@ int pm_changestate(int domain, enum pm_state_e newstate) return ret; } +/**************************************************************************** + * Name: pm_querystate + * + * Description: + * This function returns the current power management state. + * + * Input Parameters: + * domain - The PM domain to check + * + * Returned Value: + * The current power management state. + * + ****************************************************************************/ + +enum pm_state_e pm_querystate(int domain) +{ + return g_pmglobals.domain[domain].state; +} + #endif /* CONFIG_PM */ diff --git a/include/nuttx/power/pm.h b/include/nuttx/power/pm.h index 2be7594f11a..09daee25336 100644 --- a/include/nuttx/power/pm.h +++ b/include/nuttx/power/pm.h @@ -550,6 +550,22 @@ enum pm_state_e pm_checkstate(int domain); int pm_changestate(int domain, enum pm_state_e newstate); +/**************************************************************************** + * Name: pm_querystate + * + * Description: + * This function returns the current power management state. + * + * Input Parameters: + * domain - The PM domain to check + * + * Returned Value: + * The current power management state. + * + ****************************************************************************/ + +enum pm_state_e pm_querystate(int domain); + #undef EXTERN #ifdef __cplusplus } @@ -575,6 +591,7 @@ int pm_changestate(int domain, enum pm_state_e newstate); # define pm_relax(domain,state) # define pm_checkstate(domain) (0) # define pm_changestate(domain,state) +# define pm_querystate(domain) (0) #endif /* CONFIG_PM */ #endif /* __INCLUDE_NUTTX_POWER_PM_H */