diff --git a/drivers/serial/uart_ns16550.c b/drivers/serial/uart_ns16550.c index b39131daca4..704310abce3 100644 --- a/drivers/serial/uart_ns16550.c +++ b/drivers/serial/uart_ns16550.c @@ -304,7 +304,7 @@ static inline uint8_t reg_interval(const struct device *dev) #if defined(CONFIG_UART_INTERRUPT_DRIVEN) && defined(CONFIG_PM) static const enum pm_state pm_states[] = - PM_STATE_DT_ITEMS_LIST(DT_NODELABEL(cpu0)); + PM_STATE_LIST_FROM_DT_CPU(DT_NODELABEL(cpu0)); #endif static const struct uart_driver_api uart_ns16550_driver_api; diff --git a/include/pm/state.h b/include/pm/state.h index 31498165221..7d5f3bf6ca9 100644 --- a/include/pm/state.h +++ b/include/pm/state.h @@ -169,15 +169,14 @@ struct pm_state_info { PM_STATE_INFO_DT_INIT(DT_PHANDLE_BY_IDX(node_id, cpu_power_states, i)), /** - * @brief Macro function to construct enum pm_state item in UTIL_LISTIFY - * extension. + * @brief Helper macro to initialize an entry of a struct pm_state array when + * using UTIL_LISTIFY in PM_STATE_LIST_FROM_DT_CPU. * - * @param child child index in UTIL_LISTIFY extension. + * @param i UTIL_LISTIFY entry index. * @param node_id A node identifier with compatible zephyr,power-state - * @return macro function to construct a pm_state enum */ -#define Z_PM_STATE_DT_ITEMS_LISTIFY_FUNC(child, node_id) \ - PM_STATE_DT_INIT(DT_PHANDLE_BY_IDX(node_id, cpu_power_states, child)), +#define Z_PM_STATE_FROM_DT_CPU(i, node_id) \ + PM_STATE_DT_INIT(DT_PHANDLE_BY_IDX(node_id, cpu_power_states, i)), /** @endcond */ @@ -263,8 +262,8 @@ struct pm_state_info { } /** - * @brief Macro function to construct a list of enum pm_state items by - * UTIL_LISTIFY func + * @brief Initialize an array of struct pm_state with information from all the + * states present in the given CPU node identifier. * * Example devicetree fragment: * @@ -299,16 +298,15 @@ struct pm_state_info { * Example usage: * * @code{.c} - * const enum pm_state states[] = PM_STATE_DT_ITEMS_LIST(DT_NODELABEL(cpu0)); + * const enum pm_state states[] = PM_STATE_LIST_FROM_DT_CPU(DT_NODELABEL(cpu0)); * @endcode * * @param node_id A CPU node identifier. - * @return an array of enum pm_state items. */ -#define PM_STATE_DT_ITEMS_LIST(node_id) \ +#define PM_STATE_LIST_FROM_DT_CPU(node_id) \ { \ UTIL_LISTIFY(PM_STATE_DT_ITEMS_LEN(node_id), \ - Z_PM_STATE_DT_ITEMS_LISTIFY_FUNC,node_id) \ + Z_PM_STATE_FROM_DT_CPU, node_id) \ } /** diff --git a/tests/subsys/pm/power_states_api/src/main.c b/tests/subsys/pm/power_states_api/src/main.c index 72dc2c11cff..0f425f9770c 100644 --- a/tests/subsys/pm/power_states_api/src/main.c +++ b/tests/subsys/pm/power_states_api/src/main.c @@ -21,7 +21,7 @@ static enum pm_state wrong_states[] = {PM_STATE_SUSPEND_TO_DISK, void test_power_states(void) { enum pm_state dts_states[] = - PM_STATE_DT_ITEMS_LIST(DT_NODELABEL(power_states)); + PM_STATE_LIST_FROM_DT_CPU(DT_NODELABEL(power_states)); struct pm_state_info dts_infos[] = PM_STATE_INFO_LIST_FROM_DT_CPU(DT_NODELABEL(power_states)); uint32_t dts_states_len =