diff options
author | Chris Kay <chris.kay@arm.com> | 2020-05-14 20:15:43 +0100 |
---|---|---|
committer | Chris Kay <chris@cjkay.com> | 2020-06-08 11:42:52 +0100 |
commit | 0a6b545cd0a165c2d3464f616ed08d090b9e1bf9 (patch) | |
tree | 8a1e4d6f1eb38ba09335f7e2e1b10352cf592f49 | |
parent | 148a652a60a5775dec1f5eea9a7086c52ffd50ef (diff) |
fwk: Add support for static element tables
Element tables are always expected to be generated at module
initialization time. Most modules, however, can provide these elements
at compile-time. This commit adds support for doing so.
Change-Id: I77c64ddcb6e406cc1eecbf60f1d6b817384ae4f8
Signed-off-by: Chris Kay <chris.kay@arm.com>
271 files changed, 773 insertions, 633 deletions
diff --git a/framework/include/fwk_module.h b/framework/include/fwk_module.h index 017e114e..0d7f305a 100644 --- a/framework/include/fwk_module.h +++ b/framework/include/fwk_module.h @@ -288,28 +288,117 @@ struct fwk_module { }; /*! - * \brief Module configuration. + * \brief Define a static element table with the content of the table. + * + * \param[in] ... An array of elements in the form `{ X, Y, Z, { 0 } }`. + * + * \see ::fwk_module_elements::table */ -struct fwk_module_config { +#define FWK_MODULE_STATIC_ELEMENTS(...) \ + { \ + .type = FWK_MODULE_ELEMENTS_TYPE_STATIC, \ + .table = (const struct fwk_element[])__VA_ARGS__, \ + } + +/*! + * \brief Define a static element table with a pointer to the table. + * + * \details Some element tables require extra preprocessing beforehand. As it is + * undefined behaviour for preprocessing macros to occur within macro + * argument lists, this macro has been provided to work around this + * language restriction. + * + * \param[in] TABLE Pointer to the static element table. + * + * \see ::fwk_module_elements::table + */ +#define FWK_MODULE_STATIC_ELEMENTS_PTR(TABLE) \ + { \ + .type = FWK_MODULE_ELEMENTS_TYPE_STATIC, \ + .table = TABLE, \ + } + +/*! + * \brief Define a dynamic element table. + * + * \details Element table generators are functions that take a module identifier + * and return an element table. They will be called once the module has + * begun initialization, and may allocate a variable number of elements. + * + * \param[in] GENERATOR Function to generate the element table. + * + * \see ::fwk_module_elements::generator + */ +#define FWK_MODULE_DYNAMIC_ELEMENTS(GENERATOR) \ + { \ + .type = FWK_MODULE_ELEMENTS_TYPE_DYNAMIC, \ + .generator = (GENERATOR), \ + } + +/*! + * \brief Element table type. + */ +enum fwk_module_elements_type { + FWK_MODULE_ELEMENTS_TYPE_STATIC, /*<! Static element table. */ + FWK_MODULE_ELEMENTS_TYPE_DYNAMIC, /*<! Dynamic element table. */ +}; + +/*! + * \brief Element table. + */ +struct fwk_module_elements { /*! - * \brief Pointer to the function to get the table of element descriptions. - * - * \param module_id Identifier of the module. + * \brief Element table type. * - * \details The table of module element descriptions ends with an invalid - * element description where the pointer to the element name is - * equal to NULL. - * - * \warning The framework does not copy the element description data and - * keep a pointer to the ones returned by this function. Pointers - * returned by this function must thus points to data with static - * storage or data stored in memory allocated from the memory - * management component. + * \details Elements may be statically defined, or they can be generated + * once the module comes online. */ - const struct fwk_element *(*get_element_table)(fwk_id_t module_id); + enum fwk_module_elements_type type; + /*! + * \brief Element table data. + */ + union { + /*! + * \brief Pointer to the function to get the table of element + * descriptions. + * + * \param[in] module_id Identifier of the module. + * + * \details The table of module element descriptions ends with an + * invalid element description where the pointer to the element + * name is equal to `NULL`. + * + * \warning The framework does not copy the element description data + * and keep a pointer to the ones returned by this function. + * Pointers returned by this function must thus points to data + * with static storage or data stored in memory allocated from + * the memory management component. + * + * \return Pointer to table of element descriptions. + */ + const struct fwk_element *(*generator)(fwk_id_t module_id); + + /*! + * \brief Table of element descriptions. + * + * \details The table of module element descriptions ends with an + * invalid element description where the pointer to the element + * name is equal to `NULL`. + */ + const struct fwk_element *table; + }; +}; + +/*! + * \brief Module configuration. + */ +struct fwk_module_config { /*! Pointer to the module-specific configuration data */ const void *data; + + /*! Element table */ + struct fwk_module_elements elements; }; /*! diff --git a/framework/src/fwk_module.c b/framework/src/fwk_module.c index 5b36c0b0..5c484a41 100644 --- a/framework/src/fwk_module.c +++ b/framework/src/fwk_module.c @@ -179,11 +179,23 @@ static int init_module(struct fwk_module_ctx *module_ctx, } #endif - if (module_config->get_element_table != NULL) { - element_table = module_config->get_element_table(module_ctx->id); - if (!fwk_expect(element_table != NULL)) - return FWK_E_PARAM; + switch (module_config->elements.type) { + case FWK_MODULE_ELEMENTS_TYPE_STATIC: + element_table = module_config->elements.table; + + break; + + case FWK_MODULE_ELEMENTS_TYPE_DYNAMIC: + if (module_config->elements.generator != NULL) { + element_table = module_config->elements.generator(module_ctx->id); + if (!fwk_expect(element_table != NULL)) + return FWK_E_PARAM; + } + + break; + } + if (element_table != NULL) { for (count = 0; element_table[count].name != NULL; count++) continue; diff --git a/framework/test/test_fwk_module.c b/framework/test/test_fwk_module.c index c8b97d82..18ef04f5 100644 --- a/framework/test/test_fwk_module.c +++ b/framework/test/test_fwk_module.c @@ -277,10 +277,12 @@ static void test_case_setup(void) fake_element_desc_table1[1].name = NULL; fake_element_desc_table1[1].data = NULL; - fake_module_config0.get_element_table = get_element_table0; + fake_module_config0.elements.type = FWK_MODULE_ELEMENTS_TYPE_DYNAMIC; + fake_module_config0.elements.generator = get_element_table0; fake_module_config0.data = &config_module0; - fake_module_config1.get_element_table = get_element_table1; + fake_module_config1.elements.type = FWK_MODULE_ELEMENTS_TYPE_DYNAMIC; + fake_module_config1.elements.generator = get_element_table1; fake_module_config1.data = &config_module1; module_table[0] = &fake_module_desc0; @@ -539,7 +541,7 @@ static void test___fwk_module_init_succeed(void) fake_module_desc1.start = NULL; /* Module 1 has no element */ - fake_module_config1.get_element_table = NULL; + fake_module_config1.elements.generator = NULL; bind_count_call = 0; start_count_call = 0; diff --git a/product/juno/module/juno_system/src/mod_juno_system.c b/product/juno/module/juno_system/src/mod_juno_system.c index 774da4c9..f39deba4 100644 --- a/product/juno/module/juno_system/src/mod_juno_system.c +++ b/product/juno/module/juno_system/src/mod_juno_system.c @@ -372,7 +372,4 @@ const struct fwk_module module_juno_system = { }; /* No elements, no configuration data */ -struct fwk_module_config config_juno_system = { - .get_element_table = NULL, - .data = NULL, -}; +struct fwk_module_config config_juno_system = { 0 }; diff --git a/product/juno/scp_ramfw/config_clock.c b/product/juno/scp_ramfw/config_clock.c index 1b0ca8f4..ac017cfa 100644 --- a/product/juno/scp_ramfw/config_clock.c +++ b/product/juno/scp_ramfw/config_clock.c @@ -112,13 +112,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/juno/scp_ramfw/config_debug.c b/product/juno/scp_ramfw/config_debug.c index 1417ee94..61506a7e 100644 --- a/product/juno/scp_ramfw/config_debug.c +++ b/product/juno/scp_ramfw/config_debug.c @@ -32,6 +32,5 @@ static const struct fwk_element *get_debug_element_table(fwk_id_t module_id) /* Configuration of the Debug module */ struct fwk_module_config config_debug = { - .get_element_table = get_debug_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_debug_element_table), }; diff --git a/product/juno/scp_ramfw/config_dvfs.c b/product/juno/scp_ramfw/config_dvfs.c index b16899e9..bbf85195 100644 --- a/product/juno/scp_ramfw/config_dvfs.c +++ b/product/juno/scp_ramfw/config_dvfs.c @@ -420,6 +420,5 @@ static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_dvfs = { - .get_element_table = dvfs_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dvfs_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_i2c.c b/product/juno/scp_ramfw/config_i2c.c index 0ebf9591..ae5b0607 100644 --- a/product/juno/scp_ramfw/config_i2c.c +++ b/product/juno/scp_ramfw/config_i2c.c @@ -38,7 +38,7 @@ static const struct fwk_element *dw_apb_i2c_get_element_table( } struct fwk_module_config config_dw_apb_i2c = { - .get_element_table = dw_apb_i2c_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dw_apb_i2c_get_element_table), }; static const struct fwk_element i2c_element_table[] = { @@ -59,5 +59,5 @@ static const struct fwk_element *i2c_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_i2c = { - .get_element_table = i2c_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(i2c_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_adc.c b/product/juno/scp_ramfw/config_juno_adc.c index f3f86032..3efdeefa 100644 --- a/product/juno/scp_ramfw/config_juno_adc.c +++ b/product/juno/scp_ramfw/config_juno_adc.c @@ -68,5 +68,5 @@ static const struct fwk_element *get_adc_juno_element_table(fwk_id_t id) } struct fwk_module_config config_juno_adc = { - .get_element_table = get_adc_juno_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_adc_juno_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_cdcel937.c b/product/juno/scp_ramfw/config_juno_cdcel937.c index 02f4f8c9..fc9a8004 100644 --- a/product/juno/scp_ramfw/config_juno_cdcel937.c +++ b/product/juno/scp_ramfw/config_juno_cdcel937.c @@ -203,8 +203,10 @@ static const struct fwk_element *juno_cdcel937_get_element_table( } struct fwk_module_config config_juno_cdcel937 = { - .get_element_table = juno_cdcel937_get_element_table, - .data = &(struct mod_juno_cdcel937_config) { - .i2c_hal_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_I2C, 0), - }, + .data = + &(struct mod_juno_cdcel937_config){ + .i2c_hal_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_I2C, 0), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(juno_cdcel937_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_ddr_phy400.c b/product/juno/scp_ramfw/config_juno_ddr_phy400.c index 1f298a29..071ff374 100644 --- a/product/juno/scp_ramfw/config_juno_ddr_phy400.c +++ b/product/juno/scp_ramfw/config_juno_ddr_phy400.c @@ -47,8 +47,10 @@ static const struct fwk_element *juno_ddr_phy400_get_element_table } struct fwk_module_config config_juno_ddr_phy400 = { - .get_element_table = juno_ddr_phy400_get_element_table, - .data = &((struct mod_juno_ddr_phy400_config) { - .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - }) + .data = + &(struct mod_juno_ddr_phy400_config){ + .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(juno_ddr_phy400_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_debug.c b/product/juno/scp_ramfw/config_juno_debug.c index 60c7b5b7..57b1b7a3 100644 --- a/product/juno/scp_ramfw/config_juno_debug.c +++ b/product/juno/scp_ramfw/config_juno_debug.c @@ -69,8 +69,10 @@ static const struct fwk_element *get_juno_debug_elem_table(fwk_id_t module_id) } struct fwk_module_config config_juno_debug = { - .get_element_table = get_juno_debug_elem_table, - .data = &((struct mod_juno_debug_config) { - .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - }), + .data = + &(struct mod_juno_debug_config){ + .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_juno_debug_elem_table), }; diff --git a/product/juno/scp_ramfw/config_juno_dmc400.c b/product/juno/scp_ramfw/config_juno_dmc400.c index 467989e3..bfe68e9c 100644 --- a/product/juno/scp_ramfw/config_juno_dmc400.c +++ b/product/juno/scp_ramfw/config_juno_dmc400.c @@ -111,12 +111,14 @@ static const struct fwk_element *juno_dmc400_get_element_table /* Configuration of the Juno DMC400 module */ struct fwk_module_config config_juno_dmc400 = { - .get_element_table = juno_dmc400_get_element_table, - .data = &((struct mod_juno_dmc400_module_config) { - .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - .ddr_phy_module_id = - FWK_ID_MODULE_INIT(FWK_MODULE_IDX_JUNO_DDR_PHY400), - .ddr_phy_api_id = - FWK_ID_API_INIT(FWK_MODULE_IDX_JUNO_DDR_PHY400, 0), - }) + .data = + &(struct mod_juno_dmc400_module_config){ + .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), + .ddr_phy_module_id = + FWK_ID_MODULE_INIT(FWK_MODULE_IDX_JUNO_DDR_PHY400), + .ddr_phy_api_id = + FWK_ID_API_INIT(FWK_MODULE_IDX_JUNO_DDR_PHY400, 0), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(juno_dmc400_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_hdlcd.c b/product/juno/scp_ramfw/config_juno_hdlcd.c index 43d81484..df5cc12d 100644 --- a/product/juno/scp_ramfw/config_juno_hdlcd.c +++ b/product/juno/scp_ramfw/config_juno_hdlcd.c @@ -120,5 +120,5 @@ static const struct fwk_element *juno_hdlcd_get_element_table( } struct fwk_module_config config_juno_hdlcd = { - .get_element_table = juno_hdlcd_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(juno_hdlcd_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_ppu.c b/product/juno/scp_ramfw/config_juno_ppu.c index aba07a96..61c27e07 100644 --- a/product/juno/scp_ramfw/config_juno_ppu.c +++ b/product/juno/scp_ramfw/config_juno_ppu.c @@ -135,10 +135,13 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_juno_ppu = { - .get_element_table = get_element_table, - .data = &((struct mod_juno_ppu_config) { - .timer_alarm_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, - 0, - JUNO_PPU_ALARM_IDX), - }), + .data = + &(struct mod_juno_ppu_config){ + .timer_alarm_id = FWK_ID_SUB_ELEMENT_INIT( + FWK_MODULE_IDX_TIMER, + 0, + JUNO_PPU_ALARM_IDX), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_pvt.c b/product/juno/scp_ramfw/config_juno_pvt.c index 214821a0..72d8e3a5 100644 --- a/product/juno/scp_ramfw/config_juno_pvt.c +++ b/product/juno/scp_ramfw/config_juno_pvt.c @@ -265,5 +265,5 @@ static const struct fwk_element *get_pvt_juno_element_table(fwk_id_t id) } struct fwk_module_config config_juno_pvt = { - .get_element_table = get_pvt_juno_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pvt_juno_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_soc_clock_ram.c b/product/juno/scp_ramfw/config_juno_soc_clock_ram.c index c765ce38..4a454d85 100644 --- a/product/juno/scp_ramfw/config_juno_soc_clock_ram.c +++ b/product/juno/scp_ramfw/config_juno_soc_clock_ram.c @@ -475,12 +475,17 @@ static const struct fwk_element *juno_soc_clock_ram_get_element_table } struct fwk_module_config config_juno_soc_clock_ram = { - .get_element_table = juno_soc_clock_ram_get_element_table, - .data = &((struct mod_juno_soc_clock_ram_config) { + .data = + &(struct mod_juno_soc_clock_ram_config){ .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - .debug_pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, + .debug_pd_id = FWK_ID_ELEMENT_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, POWER_DOMAIN_IDX_DBGSYS), - .systop_pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, + .systop_pd_id = FWK_ID_ELEMENT_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, POWER_DOMAIN_IDX_SYSTOP), - }), + }, + + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(juno_soc_clock_ram_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_thermal.c b/product/juno/scp_ramfw/config_juno_thermal.c index d76cafb9..55c70d14 100644 --- a/product/juno/scp_ramfw/config_juno_thermal.c +++ b/product/juno/scp_ramfw/config_juno_thermal.c @@ -45,5 +45,5 @@ static const struct fwk_element *juno_thermal_get_element_table( } const struct fwk_module_config config_juno_thermal = { - .get_element_table = juno_thermal_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(juno_thermal_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_juno_xrp7724.c b/product/juno/scp_ramfw/config_juno_xrp7724.c index 0471299d..e20eae06 100644 --- a/product/juno/scp_ramfw/config_juno_xrp7724.c +++ b/product/juno/scp_ramfw/config_juno_xrp7724.c @@ -125,16 +125,20 @@ static const struct fwk_element *juno_xrp7724_get_element_table( } const struct fwk_module_config config_juno_xrp7724 = { - .get_element_table = juno_xrp7724_get_element_table, - .data = &((struct mod_juno_xrp7724_config) { - .slave_address = 0x28, - .i2c_hal_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_I2C, 0), - .timer_hal_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - .gpio_assert_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_JUNO_XRP7724, - MOD_JUNO_XRP7724_ELEMENT_IDX_GPIO, - MOD_JUNO_XRP7724_GPIO_IDX_ASSERT), - .gpio_mode_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_JUNO_XRP7724, - MOD_JUNO_XRP7724_ELEMENT_IDX_GPIO, - MOD_JUNO_XRP7724_GPIO_IDX_MODE), - }), + .data = + &(struct mod_juno_xrp7724_config){ + .slave_address = 0x28, + .i2c_hal_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_I2C, 0), + .timer_hal_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), + .gpio_assert_id = FWK_ID_SUB_ELEMENT_INIT( + FWK_MODULE_IDX_JUNO_XRP7724, + MOD_JUNO_XRP7724_ELEMENT_IDX_GPIO, + MOD_JUNO_XRP7724_GPIO_IDX_ASSERT), + .gpio_mode_id = FWK_ID_SUB_ELEMENT_INIT( + FWK_MODULE_IDX_JUNO_XRP7724, + MOD_JUNO_XRP7724_ELEMENT_IDX_GPIO, + MOD_JUNO_XRP7724_GPIO_IDX_MODE), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(juno_xrp7724_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_log.c b/product/juno/scp_ramfw/config_log.c index 8722ffe9..c15667d8 100644 --- a/product/juno/scp_ramfw/config_log.c +++ b/product/juno/scp_ramfw/config_log.c @@ -41,7 +41,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -55,6 +55,5 @@ static const struct mod_log_config log_data = { }; struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/juno/scp_ramfw/config_mhu.c b/product/juno/scp_ramfw/config_mhu.c index 3997d324..bf720514 100644 --- a/product/juno/scp_ramfw/config_mhu.c +++ b/product/juno/scp_ramfw/config_mhu.c @@ -55,6 +55,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_mhu = { - .get_element_table = get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_mock_psu.c b/product/juno/scp_ramfw/config_mock_psu.c index cfb2ac13..553a6512 100644 --- a/product/juno/scp_ramfw/config_mock_psu.c +++ b/product/juno/scp_ramfw/config_mock_psu.c @@ -56,6 +56,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_mock_psu = { - .get_element_table = get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_power_domain.c b/product/juno/scp_ramfw/config_power_domain.c index 8d9ed2da..291a2712 100644 --- a/product/juno/scp_ramfw/config_power_domain.c +++ b/product/juno/scp_ramfw/config_power_domain.c @@ -307,6 +307,7 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_power_domain = { - .get_element_table = get_element_table, - .data = &(struct mod_power_domain_config){ 0 } + .data = &(struct mod_power_domain_config){ 0 }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_psu.c b/product/juno/scp_ramfw/config_psu.c index 4da6a984..f938a7a1 100644 --- a/product/juno/scp_ramfw/config_psu.c +++ b/product/juno/scp_ramfw/config_psu.c @@ -119,5 +119,5 @@ static const struct fwk_element *psu_get_dev_desc_table(fwk_id_t module_id) } struct fwk_module_config config_psu = { - .get_element_table = psu_get_dev_desc_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_dev_desc_table), }; diff --git a/product/juno/scp_ramfw/config_reg_sensor.c b/product/juno/scp_ramfw/config_reg_sensor.c index 0fee4765..9b63ad91 100644 --- a/product/juno/scp_ramfw/config_reg_sensor.c +++ b/product/juno/scp_ramfw/config_reg_sensor.c @@ -45,6 +45,5 @@ static const struct fwk_element *get_reg_sensor_element_table(fwk_id_t id) } struct fwk_module_config config_reg_sensor = { - .get_element_table = get_reg_sensor_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_reg_sensor_element_table), }; diff --git a/product/juno/scp_ramfw/config_scmi.c b/product/juno/scp_ramfw/config_scmi.c index bb13e668..f79c2f81 100644 --- a/product/juno/scp_ramfw/config_scmi.c +++ b/product/juno/scp_ramfw/config_scmi.c @@ -105,12 +105,14 @@ static const struct mod_scmi_agent agent_table[] = { }; struct fwk_module_config config_scmi = { - .get_element_table = get_element_table, - .data = &(struct mod_scmi_config) { - .protocol_count_max = 5, - .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, - .agent_table = agent_table, - .vendor_identifier = "arm", - .sub_vendor_identifier = "arm", - }, + .data = + &(struct mod_scmi_config){ + .protocol_count_max = 5, + .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, + .agent_table = agent_table, + .vendor_identifier = "arm", + .sub_vendor_identifier = "arm", + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_scmi_perf.c b/product/juno/scp_ramfw/config_scmi_perf.c index 7b139414..8cd3db8b 100644 --- a/product/juno/scp_ramfw/config_scmi_perf.c +++ b/product/juno/scp_ramfw/config_scmi_perf.c @@ -66,7 +66,6 @@ static const struct mod_scmi_perf_domain_config domains[] = { struct fwk_module_config config_scmi_perf = { - .get_element_table = NULL, .data = &((struct mod_scmi_perf_config) { .domains = &domains, #ifdef BUILD_HAS_FAST_CHANNELS diff --git a/product/juno/scp_ramfw/config_sds.c b/product/juno/scp_ramfw/config_sds.c index 9b13aa43..3e74949e 100644 --- a/product/juno/scp_ramfw/config_sds.c +++ b/product/juno/scp_ramfw/config_sds.c @@ -73,6 +73,7 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = get_element_table, .data = &sds_module_config, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_sensor.c b/product/juno/scp_ramfw/config_sensor.c index 119d296e..339f6a30 100644 --- a/product/juno/scp_ramfw/config_sensor.c +++ b/product/juno/scp_ramfw/config_sensor.c @@ -377,6 +377,5 @@ static const struct fwk_element *get_sensor_element_table(fwk_id_t module_id) } struct fwk_module_config config_sensor = { - .get_element_table = get_sensor_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_sensor_element_table), }; diff --git a/product/juno/scp_ramfw/config_smt.c b/product/juno/scp_ramfw/config_smt.c index 6b2b7ed8..4e932c96 100644 --- a/product/juno/scp_ramfw/config_smt.c +++ b/product/juno/scp_ramfw/config_smt.c @@ -100,6 +100,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_smt = { - .get_element_table = get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_ramfw/config_system_power.c b/product/juno/scp_ramfw/config_system_power.c index 57905557..8cb55ddd 100644 --- a/product/juno/scp_ramfw/config_system_power.c +++ b/product/juno/scp_ramfw/config_system_power.c @@ -49,11 +49,13 @@ static const struct fwk_element *system_power_get_element_table( } const struct fwk_module_config config_system_power = { - .data = &((struct mod_system_power_config) { - .soc_wakeup_irq = EXT_WAKEUP_IRQ, - .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_JUNO_SYSTEM), - .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_JUNO_SYSTEM, 0), - .initial_system_power_state = MOD_PD_STATE_ON, - }), - .get_element_table = system_power_get_element_table, + .data = + &(struct mod_system_power_config){ + .soc_wakeup_irq = EXT_WAKEUP_IRQ, + .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_JUNO_SYSTEM), + .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_JUNO_SYSTEM, 0), + .initial_system_power_state = MOD_PD_STATE_ON, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_power_get_element_table), }; diff --git a/product/juno/scp_ramfw/config_timer.c b/product/juno/scp_ramfw/config_timer.c index 9da6062e..e42eb2e8 100644 --- a/product/juno/scp_ramfw/config_timer.c +++ b/product/juno/scp_ramfw/config_timer.c @@ -39,7 +39,7 @@ static const struct fwk_element *gtimer_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_element_table), }; static const struct fwk_element timer_element_table[] = { @@ -60,5 +60,5 @@ static const struct fwk_element *timer_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_timer = { - .get_element_table = timer_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_element_table), }; diff --git a/product/juno/scp_romfw/config_juno_ppu.c b/product/juno/scp_romfw/config_juno_ppu.c index b4cba63c..e9ddf7b0 100644 --- a/product/juno/scp_romfw/config_juno_ppu.c +++ b/product/juno/scp_romfw/config_juno_ppu.c @@ -114,6 +114,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_juno_ppu = { - .get_element_table = get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_romfw/config_log.c b/product/juno/scp_romfw/config_log.c index eb645991..5c32d34e 100644 --- a/product/juno/scp_romfw/config_log.c +++ b/product/juno/scp_romfw/config_log.c @@ -46,7 +46,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -60,6 +60,5 @@ static const struct mod_log_config log_data = { }; struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/juno/scp_romfw/config_sds.c b/product/juno/scp_romfw/config_sds.c index 36b02f29..2f186890 100644 --- a/product/juno/scp_romfw/config_sds.c +++ b/product/juno/scp_romfw/config_sds.c @@ -189,6 +189,7 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = get_element_table, .data = &sds_module_config, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_romfw/config_timer.c b/product/juno/scp_romfw/config_timer.c index c3b16d2e..e95a6d59 100644 --- a/product/juno/scp_romfw/config_timer.c +++ b/product/juno/scp_romfw/config_timer.c @@ -34,5 +34,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_romfw_bypass/config_juno_ppu.c b/product/juno/scp_romfw_bypass/config_juno_ppu.c index b4cba63c..e9ddf7b0 100644 --- a/product/juno/scp_romfw_bypass/config_juno_ppu.c +++ b/product/juno/scp_romfw_bypass/config_juno_ppu.c @@ -114,6 +114,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_juno_ppu = { - .get_element_table = get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_romfw_bypass/config_log.c b/product/juno/scp_romfw_bypass/config_log.c index eb645991..5c32d34e 100644 --- a/product/juno/scp_romfw_bypass/config_log.c +++ b/product/juno/scp_romfw_bypass/config_log.c @@ -46,7 +46,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -60,6 +60,5 @@ static const struct mod_log_config log_data = { }; struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/juno/scp_romfw_bypass/config_sds.c b/product/juno/scp_romfw_bypass/config_sds.c index da12ae31..9c4d569c 100644 --- a/product/juno/scp_romfw_bypass/config_sds.c +++ b/product/juno/scp_romfw_bypass/config_sds.c @@ -189,6 +189,7 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = get_element_table, .data = &sds_module_config, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/juno/scp_romfw_bypass/config_timer.c b/product/juno/scp_romfw_bypass/config_timer.c index c3b16d2e..e95a6d59 100644 --- a/product/juno/scp_romfw_bypass/config_timer.c +++ b/product/juno/scp_romfw_bypass/config_timer.c @@ -34,5 +34,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/n1sdp/mcp_ramfw/config_log.c b/product/n1sdp/mcp_ramfw/config_log.c index 8e8f97f2..e253fedc 100644 --- a/product/n1sdp/mcp_ramfw/config_log.c +++ b/product/n1sdp/mcp_ramfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/n1sdp/mcp_ramfw/config_mhu.c b/product/n1sdp/mcp_ramfw/config_mhu.c index ad675b0f..7ac04500 100644 --- a/product/n1sdp/mcp_ramfw/config_mhu.c +++ b/product/n1sdp/mcp_ramfw/config_mhu.c @@ -35,5 +35,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_n1sdp_mhu = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/n1sdp/mcp_ramfw/config_pik_clock.c b/product/n1sdp/mcp_ramfw/config_pik_clock.c index b7531e37..39c70c6e 100644 --- a/product/n1sdp/mcp_ramfw/config_pik_clock.c +++ b/product/n1sdp/mcp_ramfw/config_pik_clock.c @@ -78,5 +78,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/n1sdp/mcp_ramfw/config_scmi_agent.c b/product/n1sdp/mcp_ramfw/config_scmi_agent.c index 956869f9..58aa6e1d 100644 --- a/product/n1sdp/mcp_ramfw/config_scmi_agent.c +++ b/product/n1sdp/mcp_ramfw/config_scmi_agent.c @@ -38,6 +38,5 @@ static const struct fwk_element *get_agent_table(fwk_id_t module_id) } const struct fwk_module_config config_scmi_agent = { - .get_element_table = get_agent_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_agent_table), }; diff --git a/product/n1sdp/mcp_ramfw/config_smt.c b/product/n1sdp/mcp_ramfw/config_smt.c index 0fa30bbd..253ce971 100644 --- a/product/n1sdp/mcp_ramfw/config_smt.c +++ b/product/n1sdp/mcp_ramfw/config_smt.c @@ -39,5 +39,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_n1sdp_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/n1sdp/mcp_romfw/config_log.c b/product/n1sdp/mcp_romfw/config_log.c index dcb2c52c..692497ad 100644 --- a/product/n1sdp/mcp_romfw/config_log.c +++ b/product/n1sdp/mcp_romfw/config_log.c @@ -45,7 +45,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/n1sdp/scp_ramfw/config_clock.c b/product/n1sdp/scp_ramfw/config_clock.c index d6ab6eb4..08fd75c6 100644 --- a/product/n1sdp/scp_ramfw/config_clock.c +++ b/product/n1sdp/scp_ramfw/config_clock.c @@ -71,14 +71,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/n1sdp/scp_ramfw/config_cmn600.c b/product/n1sdp/scp_ramfw/config_cmn600.c index be92ceba..6393e68f 100644 --- a/product/n1sdp/scp_ramfw/config_cmn600.c +++ b/product/n1sdp/scp_ramfw/config_cmn600.c @@ -168,7 +168,6 @@ static const struct mod_cmn600_memory_region_map mmap[] = { }; const struct fwk_module_config config_cmn600 = { - .get_element_table = NULL, .data = &((struct mod_cmn600_config) { .base = SCP_CMN600_BASE, .mesh_size_x = 4, diff --git a/product/n1sdp/scp_ramfw/config_css_clock.c b/product/n1sdp/scp_ramfw/config_css_clock.c index 76e299ee..dee0f257 100644 --- a/product/n1sdp/scp_ramfw/config_css_clock.c +++ b/product/n1sdp/scp_ramfw/config_css_clock.c @@ -184,5 +184,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_debugger_cli.c b/product/n1sdp/scp_ramfw/config_debugger_cli.c index e6b5c974..3ba9710a 100644 --- a/product/n1sdp/scp_ramfw/config_debugger_cli.c +++ b/product/n1sdp/scp_ramfw/config_debugger_cli.c @@ -21,6 +21,5 @@ static const struct mod_debugger_cli_module_config debugger_cli_data = { * Configuration for the debugger CLI module */ struct fwk_module_config config_debugger_cli = { - .get_element_table = NULL, .data = &debugger_cli_data }; diff --git a/product/n1sdp/scp_ramfw/config_log.c b/product/n1sdp/scp_ramfw/config_log.c index 97e62c58..e0add751 100644 --- a/product/n1sdp/scp_ramfw/config_log.c +++ b/product/n1sdp/scp_ramfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/n1sdp/scp_ramfw/config_mhu.c b/product/n1sdp/scp_ramfw/config_mhu.c index 42f9ade0..c709e0f8 100644 --- a/product/n1sdp/scp_ramfw/config_mhu.c +++ b/product/n1sdp/scp_ramfw/config_mhu.c @@ -53,5 +53,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_mhu = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_ddr_phy.c b/product/n1sdp/scp_ramfw/config_n1sdp_ddr_phy.c index b5e973ce..93f45019 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_ddr_phy.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_ddr_phy.c @@ -35,5 +35,5 @@ static const struct fwk_element *n1sdp_ddr_phy_get_element_table /* Configuration of the N1SDP DDR PHY module. */ const struct fwk_module_config config_n1sdp_ddr_phy = { - .get_element_table = n1sdp_ddr_phy_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(n1sdp_ddr_phy_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_dmc620.c b/product/n1sdp/scp_ramfw/config_n1sdp_dmc620.c index f739896a..6f03db08 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_dmc620.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_dmc620.c @@ -45,12 +45,12 @@ static const struct fwk_element *dmc620_get_element_table(fwk_id_t module_id) /* Configuration of the DMC620 module. */ const struct fwk_module_config config_n1sdp_dmc620 = { - .get_element_table = dmc620_get_element_table, - .data = &((struct mod_dmc620_module_config) { - .ddr_module_id = FWK_ID_MODULE_INIT( - FWK_MODULE_IDX_N1SDP_DDR_PHY), - .ddr_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_N1SDP_DDR_PHY, - 0), + .data = + &(struct mod_dmc620_module_config){ + .ddr_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_N1SDP_DDR_PHY), + .ddr_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_N1SDP_DDR_PHY, 0), .ddr_speed = DDR_CLOCK_MHZ, - }), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dmc620_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_i2c.c b/product/n1sdp/scp_ramfw/config_n1sdp_i2c.c index 482fdb40..1b4e4f05 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_i2c.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_i2c.c @@ -60,5 +60,5 @@ static const struct fwk_element *get_i2c_table(fwk_id_t module_id) } const struct fwk_module_config config_n1sdp_i2c = { - .get_element_table = get_i2c_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_i2c_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_pcie.c b/product/n1sdp/scp_ramfw/config_n1sdp_pcie.c index b0f50116..1d7925e2 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_pcie.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_pcie.c @@ -48,5 +48,5 @@ static const struct fwk_element *n1sdp_pcie_get_element_table } const struct fwk_module_config config_n1sdp_pcie = { - .get_element_table = n1sdp_pcie_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(n1sdp_pcie_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_pll.c b/product/n1sdp/scp_ramfw/config_n1sdp_pll.c index dfc29464..34b58dc4 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_pll.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_pll.c @@ -90,9 +90,11 @@ static const struct fwk_element *n1sdp_pll_get_element_table } const struct fwk_module_config config_n1sdp_pll = { - .get_element_table = n1sdp_pll_get_element_table, - .data = &((struct n1sdp_pll_module_config) { - .custom_freq_table = freq_table, - .custom_freq_table_size = FWK_ARRAY_SIZE(freq_table), - }), + .data = + &(struct n1sdp_pll_module_config){ + .custom_freq_table = freq_table, + .custom_freq_table_size = FWK_ARRAY_SIZE(freq_table), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(n1sdp_pll_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_remote_pd.c b/product/n1sdp/scp_ramfw/config_n1sdp_remote_pd.c index 39b413e6..eefd00cc 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_remote_pd.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_remote_pd.c @@ -76,5 +76,5 @@ static const struct fwk_element *remote_pd_get_element_table(fwk_id_t id) } const struct fwk_module_config config_n1sdp_remote_pd = { - .get_element_table = remote_pd_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(remote_pd_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_n1sdp_timer_sync.c b/product/n1sdp/scp_ramfw/config_n1sdp_timer_sync.c index f8951697..708c8183 100644 --- a/product/n1sdp/scp_ramfw/config_n1sdp_timer_sync.c +++ b/product/n1sdp/scp_ramfw/config_n1sdp_timer_sync.c @@ -41,5 +41,5 @@ static const struct fwk_element *n1sdp_tsync_get_element_table( } struct fwk_module_config config_n1sdp_timer_sync = { - .get_element_table = n1sdp_tsync_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(n1sdp_tsync_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_pik_clock.c b/product/n1sdp/scp_ramfw/config_pik_clock.c index d51606e3..7ff5cdd3 100644 --- a/product/n1sdp/scp_ramfw/config_pik_clock.c +++ b/product/n1sdp/scp_ramfw/config_pik_clock.c @@ -1023,5 +1023,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_power_domain.c b/product/n1sdp/scp_ramfw/config_power_domain.c index 73cb8827..21aa763d 100644 --- a/product/n1sdp/scp_ramfw/config_power_domain.c +++ b/product/n1sdp/scp_ramfw/config_power_domain.c @@ -509,6 +509,8 @@ static const struct fwk_element *n1sdp_power_domain_get_element_table * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = n1sdp_power_domain_get_element_table, .data = &n1sdp_power_domain_config, + + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(n1sdp_power_domain_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_ppu_v0.c b/product/n1sdp/scp_ramfw/config_ppu_v0.c index 8cbb1ff0..42834aa8 100644 --- a/product/n1sdp/scp_ramfw/config_ppu_v0.c +++ b/product/n1sdp/scp_ramfw/config_ppu_v0.c @@ -39,5 +39,5 @@ static const struct fwk_element *ppu_v0_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v0 = { - .get_element_table = ppu_v0_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v0_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_ppu_v1.c b/product/n1sdp/scp_ramfw/config_ppu_v1.c index 45743e2c..60d0d4ae 100644 --- a/product/n1sdp/scp_ramfw/config_ppu_v1.c +++ b/product/n1sdp/scp_ramfw/config_ppu_v1.c @@ -160,6 +160,7 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v1 = { - .get_element_table = ppu_v1_get_element_table, .data = &ppu_v1_config_data, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v1_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_scmi.c b/product/n1sdp/scp_ramfw/config_scmi.c index 7da4e38e..2634dce0 100644 --- a/product/n1sdp/scp_ramfw/config_scmi.c +++ b/product/n1sdp/scp_ramfw/config_scmi.c @@ -86,12 +86,14 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { - .protocol_count_max = 8, - .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, - .agent_table = agent_table, - .vendor_identifier = "arm", - .sub_vendor_identifier = "arm", - }), + .data = + &(struct mod_scmi_config){ + .protocol_count_max = 8, + .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, + .agent_table = agent_table, + .vendor_identifier = "arm", + .sub_vendor_identifier = "arm", + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/n1sdp/scp_ramfw/config_sds.c b/product/n1sdp/scp_ramfw/config_sds.c index a512fa13..2fc55c56 100644 --- a/product/n1sdp/scp_ramfw/config_sds.c +++ b/product/n1sdp/scp_ramfw/config_sds.c @@ -155,6 +155,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_sensor.c b/product/n1sdp/scp_ramfw/config_sensor.c index 305934e8..5d5f8ae8 100644 --- a/product/n1sdp/scp_ramfw/config_sensor.c +++ b/product/n1sdp/scp_ramfw/config_sensor.c @@ -98,14 +98,16 @@ static const struct fwk_element *get_n1sdp_sensor_element_table(fwk_id_t id) } struct fwk_module_config config_n1sdp_sensor = { - .get_element_table = get_n1sdp_sensor_element_table, - .data = &((struct mod_n1sdp_sensor_config) { - .alarm_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0, 0), - .alarm_api = FWK_ID_API_INIT(FWK_MODULE_IDX_TIMER, - MOD_TIMER_API_IDX_ALARM), - .t_sensor_count = 3, - .v_sensor_count = 5, - }), + .data = + &(struct mod_n1sdp_sensor_config){ + .alarm_id = FWK_ID_SUB_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0, 0), + .alarm_api = + FWK_ID_API_INIT(FWK_MODULE_IDX_TIMER, MOD_TIMER_API_IDX_ALARM), + .t_sensor_count = 3, + .v_sensor_count = 5, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_n1sdp_sensor_element_table), }; /* @@ -185,6 +187,5 @@ static const struct fwk_element *get_sensor_element_table(fwk_id_t module_id) } struct fwk_module_config config_sensor = { - .get_element_table = get_sensor_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_sensor_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_smt.c b/product/n1sdp/scp_ramfw/config_smt.c index c0b49524..f2f54acf 100644 --- a/product/n1sdp/scp_ramfw/config_smt.c +++ b/product/n1sdp/scp_ramfw/config_smt.c @@ -80,5 +80,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_ssc.c b/product/n1sdp/scp_ramfw/config_ssc.c index 7aef3a82..c8619f3d 100644 --- a/product/n1sdp/scp_ramfw/config_ssc.c +++ b/product/n1sdp/scp_ramfw/config_ssc.c @@ -14,7 +14,6 @@ #include <stddef.h> const struct fwk_module_config config_ssc = { - .get_element_table = NULL, .data = &(struct mod_ssc_config) { .ssc_base = SCP_SSC_BASE, .ssc_debug_cfg_set = 0xFF, diff --git a/product/n1sdp/scp_ramfw/config_system_info.c b/product/n1sdp/scp_ramfw/config_system_info.c index 95f509eb..482b1f21 100644 --- a/product/n1sdp/scp_ramfw/config_system_info.c +++ b/product/n1sdp/scp_ramfw/config_system_info.c @@ -15,7 +15,6 @@ #include <stddef.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, .data = &((struct mod_system_info_config) { .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SSC), diff --git a/product/n1sdp/scp_ramfw/config_system_power.c b/product/n1sdp/scp_ramfw/config_system_power.c index 460cdd6b..6abcab67 100644 --- a/product/n1sdp/scp_ramfw/config_system_power.c +++ b/product/n1sdp/scp_ramfw/config_system_power.c @@ -89,6 +89,6 @@ static const struct fwk_element *n1sdp_system_get_element_table( } const struct fwk_module_config config_system_power = { - .get_element_table = n1sdp_system_get_element_table, .data = &system_power_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(n1sdp_system_get_element_table), }; diff --git a/product/n1sdp/scp_ramfw/config_timer.c b/product/n1sdp/scp_ramfw/config_timer.c index f0ee9d84..85ed8be4 100644 --- a/product/n1sdp/scp_ramfw/config_timer.c +++ b/product/n1sdp/scp_ramfw/config_timer.c @@ -43,7 +43,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -67,5 +67,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/n1sdp/scp_romfw/config_log.c b/product/n1sdp/scp_romfw/config_log.c index c51babcb..ae7c844c 100644 --- a/product/n1sdp/scp_romfw/config_log.c +++ b/product/n1sdp/scp_romfw/config_log.c @@ -45,7 +45,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/rddaniel/mcp_romfw/config_log.c b/product/rddaniel/mcp_romfw/config_log.c index 59704bef..1a599aba 100644 --- a/product/rddaniel/mcp_romfw/config_log.c +++ b/product/rddaniel/mcp_romfw/config_log.c @@ -39,7 +39,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/rddaniel/scp_ramfw/config_clock.c b/product/rddaniel/scp_ramfw/config_clock.c index 8729aaa8..628530fb 100644 --- a/product/rddaniel/scp_ramfw/config_clock.c +++ b/product/rddaniel/scp_ramfw/config_clock.c @@ -193,14 +193,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/rddaniel/scp_ramfw/config_cmn_rhodes.c b/product/rddaniel/scp_ramfw/config_cmn_rhodes.c index 5cc38d18..2271f3eb 100644 --- a/product/rddaniel/scp_ramfw/config_cmn_rhodes.c +++ b/product/rddaniel/scp_ramfw/config_cmn_rhodes.c @@ -137,6 +137,5 @@ static const struct fwk_element *cmn_rhodes_get_device_table(fwk_id_t module_id) } const struct fwk_module_config config_cmn_rhodes = { - .get_element_table = cmn_rhodes_get_device_table, - .data = NULL + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(cmn_rhodes_get_device_table), }; diff --git a/product/rddaniel/scp_ramfw/config_css_clock.c b/product/rddaniel/scp_ramfw/config_css_clock.c index 7a07fe82..bf84b36c 100644 --- a/product/rddaniel/scp_ramfw/config_css_clock.c +++ b/product/rddaniel/scp_ramfw/config_css_clock.c @@ -451,5 +451,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_gtimer.c b/product/rddaniel/scp_ramfw/config_gtimer.c index e3325a17..5fd27d85 100644 --- a/product/rddaniel/scp_ramfw/config_gtimer.c +++ b/product/rddaniel/scp_ramfw/config_gtimer.c @@ -39,5 +39,5 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; diff --git a/product/rddaniel/scp_ramfw/config_mhu2.c b/product/rddaniel/scp_ramfw/config_mhu2.c index 17af6096..d32f2c3c 100644 --- a/product/rddaniel/scp_ramfw/config_mhu2.c +++ b/product/rddaniel/scp_ramfw/config_mhu2.c @@ -36,5 +36,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mhu2 = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_pik_clock.c b/product/rddaniel/scp_ramfw/config_pik_clock.c index 1efc16cc..c2b596d4 100644 --- a/product/rddaniel/scp_ramfw/config_pik_clock.c +++ b/product/rddaniel/scp_ramfw/config_pik_clock.c @@ -382,5 +382,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_power_domain.c b/product/rddaniel/scp_ramfw/config_power_domain.c index b3c1622e..b62b6eab 100644 --- a/product/rddaniel/scp_ramfw/config_power_domain.c +++ b/product/rddaniel/scp_ramfw/config_power_domain.c @@ -369,6 +369,7 @@ static const struct fwk_element *rddaniel_power_domain_get_element_table * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = rddaniel_power_domain_get_element_table, .data = &rddaniel_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(rddaniel_power_domain_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_ppu_v1.c b/product/rddaniel/scp_ramfw/config_ppu_v1.c index 9dede325..a4d12d86 100644 --- a/product/rddaniel/scp_ramfw/config_ppu_v1.c +++ b/product/rddaniel/scp_ramfw/config_ppu_v1.c @@ -142,6 +142,6 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v1 = { - .get_element_table = ppu_v1_get_element_table, .data = &ppu_v1_config_data, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v1_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_scmi.c b/product/rddaniel/scp_ramfw/config_scmi.c index 555ac645..81dc9f60 100644 --- a/product/rddaniel/scp_ramfw/config_scmi.c +++ b/product/rddaniel/scp_ramfw/config_scmi.c @@ -50,12 +50,14 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { - .protocol_count_max = 9, - .agent_count = FWK_ARRAY_SIZE(agent_table), - .agent_table = agent_table, - .vendor_identifier = "arm", - .sub_vendor_identifier = "arm", - }), + .data = + &(struct mod_scmi_config){ + .protocol_count_max = 9, + .agent_count = FWK_ARRAY_SIZE(agent_table), + .agent_table = agent_table, + .vendor_identifier = "arm", + .sub_vendor_identifier = "arm", + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/rddaniel/scp_ramfw/config_sds.c b/product/rddaniel/scp_ramfw/config_sds.c index 7ebba145..985d6a1e 100644 --- a/product/rddaniel/scp_ramfw/config_sds.c +++ b/product/rddaniel/scp_ramfw/config_sds.c @@ -136,6 +136,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_smt.c b/product/rddaniel/scp_ramfw/config_smt.c index e3b2abcb..309e55e5 100644 --- a/product/rddaniel/scp_ramfw/config_smt.c +++ b/product/rddaniel/scp_ramfw/config_smt.c @@ -51,5 +51,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_system_pll.c b/product/rddaniel/scp_ramfw/config_system_pll.c index d7cf71b3..5524e345 100644 --- a/product/rddaniel/scp_ramfw/config_system_pll.c +++ b/product/rddaniel/scp_ramfw/config_system_pll.c @@ -255,5 +255,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_system_power.c b/product/rddaniel/scp_ramfw/config_system_power.c index d3d4e521..82591d6c 100644 --- a/product/rddaniel/scp_ramfw/config_system_power.c +++ b/product/rddaniel/scp_ramfw/config_system_power.c @@ -89,6 +89,6 @@ static const struct fwk_element *rddaniel_system_get_element_table( } const struct fwk_module_config config_system_power = { - .get_element_table = rddaniel_system_get_element_table, .data = &system_power_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(rddaniel_system_get_element_table), }; diff --git a/product/rddaniel/scp_ramfw/config_timer.c b/product/rddaniel/scp_ramfw/config_timer.c index 0828e41e..87be05fd 100644 --- a/product/rddaniel/scp_ramfw/config_timer.c +++ b/product/rddaniel/scp_ramfw/config_timer.c @@ -35,5 +35,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/rddaniel/src/config_pl011.c b/product/rddaniel/src/config_pl011.c index 07192a92..fce84b36 100644 --- a/product/rddaniel/src/config_pl011.c +++ b/product/rddaniel/src/config_pl011.c @@ -34,5 +34,5 @@ static const struct fwk_element *get_pl011_table(fwk_id_t id) } const struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; diff --git a/product/rddaniel/src/config_sid.c b/product/rddaniel/src/config_sid.c index 5244deba..67cc6c3d 100644 --- a/product/rddaniel/src/config_sid.c +++ b/product/rddaniel/src/config_sid.c @@ -29,7 +29,6 @@ static const struct fwk_element *get_subsystem_table(fwk_id_t id) } const struct fwk_module_config config_sid = { - .get_element_table = get_subsystem_table, .data = &(struct mod_sid_config) { .sid_base = SCP_SID_BASE, .pcid_expected = { @@ -44,4 +43,6 @@ const struct fwk_module_config config_sid = { .CID3 = 0xB1, }, }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_subsystem_table), }; diff --git a/product/rddaniel/src/config_system_info.c b/product/rddaniel/src/config_system_info.c index 23a2b480..38590cc0 100644 --- a/product/rddaniel/src/config_system_info.c +++ b/product/rddaniel/src/config_system_info.c @@ -15,7 +15,6 @@ #include <stddef.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, .data = &((struct mod_system_info_config) { .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), diff --git a/product/rddanielxlr/mcp_romfw/config_log.c b/product/rddanielxlr/mcp_romfw/config_log.c index ea1a8bd3..330337d7 100644 --- a/product/rddanielxlr/mcp_romfw/config_log.c +++ b/product/rddanielxlr/mcp_romfw/config_log.c @@ -39,7 +39,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/rddanielxlr/scp_ramfw/config_clock.c b/product/rddanielxlr/scp_ramfw/config_clock.c index df35fa45..8dc69391 100644 --- a/product/rddanielxlr/scp_ramfw/config_clock.c +++ b/product/rddanielxlr/scp_ramfw/config_clock.c @@ -85,13 +85,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_cmn_rhodes.c b/product/rddanielxlr/scp_ramfw/config_cmn_rhodes.c index d0400282..39ca8e42 100644 --- a/product/rddanielxlr/scp_ramfw/config_cmn_rhodes.c +++ b/product/rddanielxlr/scp_ramfw/config_cmn_rhodes.c @@ -582,6 +582,5 @@ static const struct fwk_element *cmn_rhodes_get_device_table(fwk_id_t module_id) } const struct fwk_module_config config_cmn_rhodes = { - .get_element_table = cmn_rhodes_get_device_table, - .data = NULL + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(cmn_rhodes_get_device_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_css_clock.c b/product/rddanielxlr/scp_ramfw/config_css_clock.c index f018cfe7..d4ba20d4 100644 --- a/product/rddanielxlr/scp_ramfw/config_css_clock.c +++ b/product/rddanielxlr/scp_ramfw/config_css_clock.c @@ -175,5 +175,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_gtimer.c b/product/rddanielxlr/scp_ramfw/config_gtimer.c index e3325a17..5fd27d85 100644 --- a/product/rddanielxlr/scp_ramfw/config_gtimer.c +++ b/product/rddanielxlr/scp_ramfw/config_gtimer.c @@ -39,5 +39,5 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_mhu2.c b/product/rddanielxlr/scp_ramfw/config_mhu2.c index 62c23caf..ea3693b6 100644 --- a/product/rddanielxlr/scp_ramfw/config_mhu2.c +++ b/product/rddanielxlr/scp_ramfw/config_mhu2.c @@ -36,5 +36,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mhu2 = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_pik_clock.c b/product/rddanielxlr/scp_ramfw/config_pik_clock.c index fbabe4a1..c4d1dca1 100644 --- a/product/rddanielxlr/scp_ramfw/config_pik_clock.c +++ b/product/rddanielxlr/scp_ramfw/config_pik_clock.c @@ -238,5 +238,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_power_domain.c b/product/rddanielxlr/scp_ramfw/config_power_domain.c index ad7ceae5..54c68a80 100644 --- a/product/rddanielxlr/scp_ramfw/config_power_domain.c +++ b/product/rddanielxlr/scp_ramfw/config_power_domain.c @@ -207,6 +207,7 @@ static const struct fwk_element *rddanielxlr_power_domain_get_element_table * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = rddanielxlr_power_domain_get_element_table, .data = &rddanielxlr_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(rddanielxlr_power_domain_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_ppu_v1.c b/product/rddanielxlr/scp_ramfw/config_ppu_v1.c index 6b1dd851..95f2f3eb 100644 --- a/product/rddanielxlr/scp_ramfw/config_ppu_v1.c +++ b/product/rddanielxlr/scp_ramfw/config_ppu_v1.c @@ -150,6 +150,6 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v1 = { - .get_element_table = ppu_v1_get_element_table, .data = &ppu_v1_config_data, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v1_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_scmi.c b/product/rddanielxlr/scp_ramfw/config_scmi.c index 424dbc29..250861e9 100644 --- a/product/rddanielxlr/scp_ramfw/config_scmi.c +++ b/product/rddanielxlr/scp_ramfw/config_scmi.c @@ -50,12 +50,13 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { + .data = &((struct mod_scmi_config){ .protocol_count_max = 9, .agent_count = FWK_ARRAY_SIZE(agent_table), .agent_table = agent_table, .vendor_identifier = "arm", .sub_vendor_identifier = "arm", }), + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_sds.c b/product/rddanielxlr/scp_ramfw/config_sds.c index c14ee2b8..1200a055 100644 --- a/product/rddanielxlr/scp_ramfw/config_sds.c +++ b/product/rddanielxlr/scp_ramfw/config_sds.c @@ -135,6 +135,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_smt.c b/product/rddanielxlr/scp_ramfw/config_smt.c index 99f29ebc..443f4b1f 100644 --- a/product/rddanielxlr/scp_ramfw/config_smt.c +++ b/product/rddanielxlr/scp_ramfw/config_smt.c @@ -51,5 +51,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_system_pll.c b/product/rddanielxlr/scp_ramfw/config_system_pll.c index d84fdcef..2f96f9d1 100644 --- a/product/rddanielxlr/scp_ramfw/config_system_pll.c +++ b/product/rddanielxlr/scp_ramfw/config_system_pll.c @@ -111,5 +111,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_system_power.c b/product/rddanielxlr/scp_ramfw/config_system_power.c index 6505bdc1..193e27b1 100644 --- a/product/rddanielxlr/scp_ramfw/config_system_power.c +++ b/product/rddanielxlr/scp_ramfw/config_system_power.c @@ -89,6 +89,7 @@ static const struct fwk_element *rddanielxlr_system_get_element_table( } const struct fwk_module_config config_system_power = { - .get_element_table = rddanielxlr_system_get_element_table, .data = &system_power_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(rddanielxlr_system_get_element_table), }; diff --git a/product/rddanielxlr/scp_ramfw/config_timer.c b/product/rddanielxlr/scp_ramfw/config_timer.c index 0828e41e..87be05fd 100644 --- a/product/rddanielxlr/scp_ramfw/config_timer.c +++ b/product/rddanielxlr/scp_ramfw/config_timer.c @@ -35,5 +35,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/rddanielxlr/src/config_pl011.c b/product/rddanielxlr/src/config_pl011.c index 07192a92..fce84b36 100644 --- a/product/rddanielxlr/src/config_pl011.c +++ b/product/rddanielxlr/src/config_pl011.c @@ -34,5 +34,5 @@ static const struct fwk_element *get_pl011_table(fwk_id_t id) } const struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; diff --git a/product/rddanielxlr/src/config_sid.c b/product/rddanielxlr/src/config_sid.c index 5ba0abcd..cf5d889d 100644 --- a/product/rddanielxlr/src/config_sid.c +++ b/product/rddanielxlr/src/config_sid.c @@ -29,7 +29,6 @@ static const struct fwk_element *get_subsystem_table(fwk_id_t id) } const struct fwk_module_config config_sid = { - .get_element_table = get_subsystem_table, .data = &(struct mod_sid_config) { .sid_base = SCP_SID_BASE, .pcid_expected = { @@ -44,4 +43,6 @@ const struct fwk_module_config config_sid = { .CID3 = 0xB1, }, }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_subsystem_table), }; diff --git a/product/rddanielxlr/src/config_system_info.c b/product/rddanielxlr/src/config_system_info.c index 841b39be..b49bffe9 100644 --- a/product/rddanielxlr/src/config_system_info.c +++ b/product/rddanielxlr/src/config_system_info.c @@ -13,7 +13,6 @@ #include <fwk_module_idx.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, .data = &((struct mod_system_info_config) { .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), diff --git a/product/rdn1e1/mcp_romfw/config_log.c b/product/rdn1e1/mcp_romfw/config_log.c index d172915d..87f68676 100644 --- a/product/rdn1e1/mcp_romfw/config_log.c +++ b/product/rdn1e1/mcp_romfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/rdn1e1/scp_ramfw/config_clock.c b/product/rdn1e1/scp_ramfw/config_clock.c index 4a520df9..9daad5b3 100644 --- a/product/rdn1e1/scp_ramfw/config_clock.c +++ b/product/rdn1e1/scp_ramfw/config_clock.c @@ -67,14 +67,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_cmn600.c b/product/rdn1e1/scp_ramfw/config_cmn600.c index cdb83725..5ead1482 100644 --- a/product/rdn1e1/scp_ramfw/config_cmn600.c +++ b/product/rdn1e1/scp_ramfw/config_cmn600.c @@ -110,7 +110,6 @@ static const struct mod_cmn600_memory_region_map mmap[] = { }; const struct fwk_module_config config_cmn600 = { - .get_element_table = NULL, .data = &((struct mod_cmn600_config) { .base = SCP_CMN600_BASE, .mesh_size_x = 4, diff --git a/product/rdn1e1/scp_ramfw/config_css_clock.c b/product/rdn1e1/scp_ramfw/config_css_clock.c index e7ff3a48..e1650234 100644 --- a/product/rdn1e1/scp_ramfw/config_css_clock.c +++ b/product/rdn1e1/scp_ramfw/config_css_clock.c @@ -188,5 +188,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_ddr_phy500.c b/product/rdn1e1/scp_ramfw/config_ddr_phy500.c index 15ea65ef..e38a5df7 100644 --- a/product/rdn1e1/scp_ramfw/config_ddr_phy500.c +++ b/product/rdn1e1/scp_ramfw/config_ddr_phy500.c @@ -53,10 +53,12 @@ static const struct fwk_element *ddr_phy500_get_element_table /* Configuration of the DDR PHY500 module. */ const struct fwk_module_config config_ddr_phy500 = { - .get_element_table = ddr_phy500_get_element_table, - .data = &((struct mod_ddr_phy500_module_config) { + .data = + &(struct mod_ddr_phy500_module_config){ .ddr_reg_val = &ddr_reg_val, .initialize_init_complete = true, .initialize_ref_en = true, - }), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ddr_phy500_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_dmc620.c b/product/rdn1e1/scp_ramfw/config_dmc620.c index 6633abbe..04028a32 100644 --- a/product/rdn1e1/scp_ramfw/config_dmc620.c +++ b/product/rdn1e1/scp_ramfw/config_dmc620.c @@ -209,11 +209,13 @@ static void direct_ddr_cmd(struct mod_dmc620_reg *dmc) /* Configuration of the DMC500 module. */ const struct fwk_module_config config_dmc620 = { - .get_element_table = dmc620_get_element_table, - .data = &((struct mod_dmc620_module_config) { + .data = + &(struct mod_dmc620_module_config){ .dmc_val = &dmc_val, .ddr_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_DDR_PHY500), .ddr_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_DDR_PHY500, 0), .direct_ddr_cmd = direct_ddr_cmd, - }), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dmc620_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_dvfs.c b/product/rdn1e1/scp_ramfw/config_dvfs.c index 60119e77..a8f060da 100644 --- a/product/rdn1e1/scp_ramfw/config_dvfs.c +++ b/product/rdn1e1/scp_ramfw/config_dvfs.c @@ -119,5 +119,5 @@ static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_dvfs = { - .get_element_table = dvfs_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dvfs_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_log.c b/product/rdn1e1/scp_ramfw/config_log.c index f0349a68..1b19b71d 100644 --- a/product/rdn1e1/scp_ramfw/config_log.c +++ b/product/rdn1e1/scp_ramfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/rdn1e1/scp_ramfw/config_mhu2.c b/product/rdn1e1/scp_ramfw/config_mhu2.c index e6809e04..5fddd5cf 100644 --- a/product/rdn1e1/scp_ramfw/config_mhu2.c +++ b/product/rdn1e1/scp_ramfw/config_mhu2.c @@ -46,5 +46,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mhu2 = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_mock_psu.c b/product/rdn1e1/scp_ramfw/config_mock_psu.c index c6045ead..050b89b5 100644 --- a/product/rdn1e1/scp_ramfw/config_mock_psu.c +++ b/product/rdn1e1/scp_ramfw/config_mock_psu.c @@ -51,5 +51,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mock_psu = { - .get_element_table = get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_pik_clock.c b/product/rdn1e1/scp_ramfw/config_pik_clock.c index 998c8fbd..a7004180 100644 --- a/product/rdn1e1/scp_ramfw/config_pik_clock.c +++ b/product/rdn1e1/scp_ramfw/config_pik_clock.c @@ -300,5 +300,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_power_domain.c b/product/rdn1e1/scp_ramfw/config_power_domain.c index 9af50099..7e62817b 100644 --- a/product/rdn1e1/scp_ramfw/config_power_domain.c +++ b/product/rdn1e1/scp_ramfw/config_power_domain.c @@ -211,6 +211,7 @@ static const struct fwk_element *rdn1e1_power_domain_get_element_table * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = rdn1e1_power_domain_get_element_table, .data = &rdn1e1_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(rdn1e1_power_domain_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_ppu_v0.c b/product/rdn1e1/scp_ramfw/config_ppu_v0.c index bf03aafc..b77b401e 100644 --- a/product/rdn1e1/scp_ramfw/config_ppu_v0.c +++ b/product/rdn1e1/scp_ramfw/config_ppu_v0.c @@ -36,5 +36,5 @@ static const struct fwk_element *ppu_v0_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v0 = { - .get_element_table = ppu_v0_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v0_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_ppu_v1.c b/product/rdn1e1/scp_ramfw/config_ppu_v1.c index b647a6eb..2e608a26 100644 --- a/product/rdn1e1/scp_ramfw/config_ppu_v1.c +++ b/product/rdn1e1/scp_ramfw/config_ppu_v1.c @@ -152,6 +152,6 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v1 = { - .get_element_table = ppu_v1_get_element_table, .data = &ppu_v1_config_data, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v1_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_psu.c b/product/rdn1e1/scp_ramfw/config_psu.c index 60c9bebb..11c9f199 100644 --- a/product/rdn1e1/scp_ramfw/config_psu.c +++ b/product/rdn1e1/scp_ramfw/config_psu.c @@ -39,5 +39,5 @@ static const struct fwk_element *psu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_psu = { - .get_element_table = psu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_scmi.c b/product/rdn1e1/scp_ramfw/config_scmi.c index 7caf1532..09471b99 100644 --- a/product/rdn1e1/scp_ramfw/config_scmi.c +++ b/product/rdn1e1/scp_ramfw/config_scmi.c @@ -69,12 +69,14 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { - .protocol_count_max = 9, - .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, - .agent_table = agent_table, - .vendor_identifier = "arm", - .sub_vendor_identifier = "arm", - }), + .data = + &(struct mod_scmi_config){ + .protocol_count_max = 9, + .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, + .agent_table = agent_table, + .vendor_identifier = "arm", + .sub_vendor_identifier = "arm", + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_scmi_perf.c b/product/rdn1e1/scp_ramfw/config_scmi_perf.c index 9039f77b..44b2abfe 100644 --- a/product/rdn1e1/scp_ramfw/config_scmi_perf.c +++ b/product/rdn1e1/scp_ramfw/config_scmi_perf.c @@ -32,7 +32,6 @@ static const struct mod_scmi_perf_domain_config domains[] = { }; const struct fwk_module_config config_scmi_perf = { - .get_element_table = NULL, .data = &((struct mod_scmi_perf_config) { .domains = &domains, .fast_channels_alarm_id = FWK_ID_NONE_INIT, diff --git a/product/rdn1e1/scp_ramfw/config_sds.c b/product/rdn1e1/scp_ramfw/config_sds.c index 7d72c89b..bd723a54 100644 --- a/product/rdn1e1/scp_ramfw/config_sds.c +++ b/product/rdn1e1/scp_ramfw/config_sds.c @@ -137,6 +137,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_sensor.c b/product/rdn1e1/scp_ramfw/config_sensor.c index b75764b4..818619c4 100644 --- a/product/rdn1e1/scp_ramfw/config_sensor.c +++ b/product/rdn1e1/scp_ramfw/config_sensor.c @@ -49,7 +49,7 @@ static const struct fwk_element *get_reg_sensor_element_table(fwk_id_t id) } struct fwk_module_config config_reg_sensor = { - .get_element_table = get_reg_sensor_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_reg_sensor_element_table), }; /* @@ -73,5 +73,5 @@ static const struct fwk_element *get_sensor_element_table(fwk_id_t module_id) } const struct fwk_module_config config_sensor = { - .get_element_table = get_sensor_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_sensor_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_smt.c b/product/rdn1e1/scp_ramfw/config_smt.c index 56307ce5..4518a537 100644 --- a/product/rdn1e1/scp_ramfw/config_smt.c +++ b/product/rdn1e1/scp_ramfw/config_smt.c @@ -63,5 +63,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_system_pll.c b/product/rdn1e1/scp_ramfw/config_system_pll.c index 610068f7..2ed82eac 100644 --- a/product/rdn1e1/scp_ramfw/config_system_pll.c +++ b/product/rdn1e1/scp_ramfw/config_system_pll.c @@ -88,5 +88,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_system_power.c b/product/rdn1e1/scp_ramfw/config_system_power.c index 9c015e36..12c853a0 100644 --- a/product/rdn1e1/scp_ramfw/config_system_power.c +++ b/product/rdn1e1/scp_ramfw/config_system_power.c @@ -89,6 +89,6 @@ static const struct fwk_element *rdn1e1_system_get_element_table( } const struct fwk_module_config config_system_power = { - .get_element_table = rdn1e1_system_get_element_table, .data = &system_power_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(rdn1e1_system_get_element_table), }; diff --git a/product/rdn1e1/scp_ramfw/config_timer.c b/product/rdn1e1/scp_ramfw/config_timer.c index 0fb20432..c9abf9f9 100644 --- a/product/rdn1e1/scp_ramfw/config_timer.c +++ b/product/rdn1e1/scp_ramfw/config_timer.c @@ -43,7 +43,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -67,5 +67,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/rdn1e1/scp_romfw/config_gtimer.c b/product/rdn1e1/scp_romfw/config_gtimer.c index bcf4515c..91e8d1bf 100644 --- a/product/rdn1e1/scp_romfw/config_gtimer.c +++ b/product/rdn1e1/scp_romfw/config_gtimer.c @@ -37,5 +37,5 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; diff --git a/product/rdn1e1/scp_romfw/config_log.c b/product/rdn1e1/scp_romfw/config_log.c index 54a43be3..d2d13eee 100644 --- a/product/rdn1e1/scp_romfw/config_log.c +++ b/product/rdn1e1/scp_romfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/rdn1e1/src/config_sid.c b/product/rdn1e1/src/config_sid.c index 2e8a3da3..5caeadf3 100644 --- a/product/rdn1e1/src/config_sid.c +++ b/product/rdn1e1/src/config_sid.c @@ -35,7 +35,6 @@ static const struct fwk_element *get_subsystem_table(fwk_id_t id) } const struct fwk_module_config config_sid = { - .get_element_table = get_subsystem_table, .data = &(struct mod_sid_config) { .sid_base = SCP_SID_BASE, .pcid_expected = { @@ -50,4 +49,6 @@ const struct fwk_module_config config_sid = { .CID3 = 0xB1, }, }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_subsystem_table), }; diff --git a/product/rdn1e1/src/config_system_info.c b/product/rdn1e1/src/config_system_info.c index 23a2b480..dd124fdd 100644 --- a/product/rdn1e1/src/config_system_info.c +++ b/product/rdn1e1/src/config_system_info.c @@ -15,12 +15,10 @@ #include <stddef.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, - .data = &((struct mod_system_info_config) { - .system_info_driver_module_id = - FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), - .system_info_driver_data_api_id = - FWK_ID_API_INIT(FWK_MODULE_IDX_SID, - MOD_SID_SYSTEM_INFO_DRIVER_DATA_API_IDX), + .data = &((struct mod_system_info_config){ + .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), + .system_info_driver_data_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SID, + MOD_SID_SYSTEM_INFO_DRIVER_DATA_API_IDX), }), }; diff --git a/product/sgi575/mcp_romfw/config_log.c b/product/sgi575/mcp_romfw/config_log.c index 7b87a604..c69edb3e 100644 --- a/product/sgi575/mcp_romfw/config_log.c +++ b/product/sgi575/mcp_romfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/sgi575/scp_ramfw/config_clock.c b/product/sgi575/scp_ramfw/config_clock.c index c8cdf9d4..916446b5 100644 --- a/product/sgi575/scp_ramfw/config_clock.c +++ b/product/sgi575/scp_ramfw/config_clock.c @@ -67,14 +67,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/sgi575/scp_ramfw/config_cmn600.c b/product/sgi575/scp_ramfw/config_cmn600.c index a2e3e11b..f1a77b6b 100644 --- a/product/sgi575/scp_ramfw/config_cmn600.c +++ b/product/sgi575/scp_ramfw/config_cmn600.c @@ -97,8 +97,7 @@ static const struct mod_cmn600_memory_region_map mmap[] = { }; const struct fwk_module_config config_cmn600 = { - .get_element_table = NULL, - .data = &((struct mod_cmn600_config) { + .data = &((struct mod_cmn600_config){ .base = SCP_CMN600_BASE, .mesh_size_x = 4, .mesh_size_y = 2, @@ -108,8 +107,8 @@ const struct fwk_module_config config_cmn600 = { .mmap_table = mmap, .mmap_count = FWK_ARRAY_SIZE(mmap), .chip_addr_space = UINT64_C(4) * FWK_TIB, - .clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, - CLOCK_IDX_INTERCONNECT), + .clock_id = + FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_IDX_INTERCONNECT), .hnf_cal_mode = false, }), }; diff --git a/product/sgi575/scp_ramfw/config_css_clock.c b/product/sgi575/scp_ramfw/config_css_clock.c index 243072f7..d44355ea 100644 --- a/product/sgi575/scp_ramfw/config_css_clock.c +++ b/product/sgi575/scp_ramfw/config_css_clock.c @@ -188,5 +188,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_ddr_phy500.c b/product/sgi575/scp_ramfw/config_ddr_phy500.c index b2376ef0..7c884978 100644 --- a/product/sgi575/scp_ramfw/config_ddr_phy500.c +++ b/product/sgi575/scp_ramfw/config_ddr_phy500.c @@ -54,10 +54,12 @@ static const struct fwk_element *ddr_phy500_get_element_table /* Configuration of the DDR PHY500 module. */ struct fwk_module_config config_ddr_phy500 = { - .get_element_table = ddr_phy500_get_element_table, - .data = &((struct mod_ddr_phy500_module_config) { + .data = + &(struct mod_ddr_phy500_module_config){ .ddr_reg_val = &ddr_reg_val, .initialize_init_complete = true, .initialize_ref_en = true, - }), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ddr_phy500_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_dmc620.c b/product/sgi575/scp_ramfw/config_dmc620.c index 1f306b60..823bc4b4 100644 --- a/product/sgi575/scp_ramfw/config_dmc620.c +++ b/product/sgi575/scp_ramfw/config_dmc620.c @@ -209,13 +209,13 @@ static void direct_ddr_cmd(struct mod_dmc620_reg *dmc) /* Configuration of the DMC620 module. */ const struct fwk_module_config config_dmc620 = { - .get_element_table = dmc620_get_element_table, - .data = &((struct mod_dmc620_module_config) { + .data = + &(struct mod_dmc620_module_config){ .dmc_val = &dmc_val, - .ddr_module_id = FWK_ID_MODULE_INIT( - FWK_MODULE_IDX_DDR_PHY500), - .ddr_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_DDR_PHY500, - 0), + .ddr_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_DDR_PHY500), + .ddr_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_DDR_PHY500, 0), .direct_ddr_cmd = direct_ddr_cmd, - }), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dmc620_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_dvfs.c b/product/sgi575/scp_ramfw/config_dvfs.c index 9b828b5b..814bbfdf 100644 --- a/product/sgi575/scp_ramfw/config_dvfs.c +++ b/product/sgi575/scp_ramfw/config_dvfs.c @@ -79,5 +79,5 @@ static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_dvfs = { - .get_element_table = dvfs_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dvfs_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_log.c b/product/sgi575/scp_ramfw/config_log.c index ff4761eb..2c1f6d0f 100644 --- a/product/sgi575/scp_ramfw/config_log.c +++ b/product/sgi575/scp_ramfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/sgi575/scp_ramfw/config_mhu.c b/product/sgi575/scp_ramfw/config_mhu.c index f388a08b..399d8b5a 100644 --- a/product/sgi575/scp_ramfw/config_mhu.c +++ b/product/sgi575/scp_ramfw/config_mhu.c @@ -45,5 +45,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mhu = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_mock_psu.c b/product/sgi575/scp_ramfw/config_mock_psu.c index 039d6b68..99d73d9e 100644 --- a/product/sgi575/scp_ramfw/config_mock_psu.c +++ b/product/sgi575/scp_ramfw/config_mock_psu.c @@ -51,5 +51,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mock_psu = { - .get_element_table = get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_pik_clock.c b/product/sgi575/scp_ramfw/config_pik_clock.c index a1fe384f..5e992e90 100644 --- a/product/sgi575/scp_ramfw/config_pik_clock.c +++ b/product/sgi575/scp_ramfw/config_pik_clock.c @@ -300,5 +300,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_power_domain.c b/product/sgi575/scp_ramfw/config_power_domain.c index e63839b5..51c53bc4 100644 --- a/product/sgi575/scp_ramfw/config_power_domain.c +++ b/product/sgi575/scp_ramfw/config_power_domain.c @@ -212,6 +212,7 @@ static const struct fwk_element *sgi575_power_domain_get_element_table * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = sgi575_power_domain_get_element_table, .data = &sgi575_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(sgi575_power_domain_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_ppu_v0.c b/product/sgi575/scp_ramfw/config_ppu_v0.c index 425f0047..7830ddec 100644 --- a/product/sgi575/scp_ramfw/config_ppu_v0.c +++ b/product/sgi575/scp_ramfw/config_ppu_v0.c @@ -36,5 +36,5 @@ static const struct fwk_element *ppu_v0_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v0 = { - .get_element_table = ppu_v0_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v0_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_ppu_v1.c b/product/sgi575/scp_ramfw/config_ppu_v1.c index e37596e5..26dd66ba 100644 --- a/product/sgi575/scp_ramfw/config_ppu_v1.c +++ b/product/sgi575/scp_ramfw/config_ppu_v1.c @@ -152,6 +152,6 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v1 = { - .get_element_table = ppu_v1_get_element_table, .data = &ppu_v1_config_data, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v1_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_psu.c b/product/sgi575/scp_ramfw/config_psu.c index 4001ba30..b45cf1de 100644 --- a/product/sgi575/scp_ramfw/config_psu.c +++ b/product/sgi575/scp_ramfw/config_psu.c @@ -39,5 +39,5 @@ static const struct fwk_element *psu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_psu = { - .get_element_table = psu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_scmi.c b/product/sgi575/scp_ramfw/config_scmi.c index dd0e59e5..a86ab36d 100644 --- a/product/sgi575/scp_ramfw/config_scmi.c +++ b/product/sgi575/scp_ramfw/config_scmi.c @@ -69,12 +69,13 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { + .data = &((struct mod_scmi_config){ .protocol_count_max = 9, .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, .agent_table = agent_table, .vendor_identifier = "arm", .sub_vendor_identifier = "arm", }), + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/sgi575/scp_ramfw/config_scmi_perf.c b/product/sgi575/scp_ramfw/config_scmi_perf.c index de948e2c..bb9b94f5 100644 --- a/product/sgi575/scp_ramfw/config_scmi_perf.c +++ b/product/sgi575/scp_ramfw/config_scmi_perf.c @@ -32,8 +32,7 @@ static const struct mod_scmi_perf_domain_config domains[] = { }; const struct fwk_module_config config_scmi_perf = { - .get_element_table = NULL, - .data = &((struct mod_scmi_perf_config) { + .data = &((struct mod_scmi_perf_config){ .domains = &domains, .fast_channels_alarm_id = FWK_ID_NONE_INIT, }), diff --git a/product/sgi575/scp_ramfw/config_sds.c b/product/sgi575/scp_ramfw/config_sds.c index 52d8eded..2ce32e88 100644 --- a/product/sgi575/scp_ramfw/config_sds.c +++ b/product/sgi575/scp_ramfw/config_sds.c @@ -158,6 +158,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_sensor.c b/product/sgi575/scp_ramfw/config_sensor.c index 6bf75c79..5adef76c 100644 --- a/product/sgi575/scp_ramfw/config_sensor.c +++ b/product/sgi575/scp_ramfw/config_sensor.c @@ -49,7 +49,7 @@ static const struct fwk_element *get_reg_sensor_element_table(fwk_id_t id) } struct fwk_module_config config_reg_sensor = { - .get_element_table = get_reg_sensor_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_reg_sensor_element_table), }; /* @@ -73,5 +73,5 @@ static const struct fwk_element *get_sensor_element_table(fwk_id_t module_id) } const struct fwk_module_config config_sensor = { - .get_element_table = get_sensor_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_sensor_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_smt.c b/product/sgi575/scp_ramfw/config_smt.c index 8912b0de..cc3f16f4 100644 --- a/product/sgi575/scp_ramfw/config_smt.c +++ b/product/sgi575/scp_ramfw/config_smt.c @@ -63,5 +63,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_ssc.c b/product/sgi575/scp_ramfw/config_ssc.c index 322a52d0..69652dfc 100644 --- a/product/sgi575/scp_ramfw/config_ssc.c +++ b/product/sgi575/scp_ramfw/config_ssc.c @@ -14,9 +14,8 @@ #include <stddef.h> const struct fwk_module_config config_ssc = { - .get_element_table = NULL, - .data = &(struct mod_ssc_config) { - .ssc_base = SSC_BASE, - .product_name = "System Guidance for Infrastructure - 575" - }, + .data = + &(struct mod_ssc_config){ + .ssc_base = SSC_BASE, + .product_name = "System Guidance for Infrastructure - 575" }, }; diff --git a/product/sgi575/scp_ramfw/config_system_info.c b/product/sgi575/scp_ramfw/config_system_info.c index 95f509eb..08c70f1e 100644 --- a/product/sgi575/scp_ramfw/config_system_info.c +++ b/product/sgi575/scp_ramfw/config_system_info.c @@ -15,12 +15,10 @@ #include <stddef.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, - .data = &((struct mod_system_info_config) { - .system_info_driver_module_id = - FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SSC), - .system_info_driver_data_api_id = - FWK_ID_API_INIT(FWK_MODULE_IDX_SSC, - MOD_SSC_SYSTEM_INFO_DRIVER_DATA_API_IDX), + .data = &((struct mod_system_info_config){ + .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SSC), + .system_info_driver_data_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SSC, + MOD_SSC_SYSTEM_INFO_DRIVER_DATA_API_IDX), }), }; diff --git a/product/sgi575/scp_ramfw/config_system_pll.c b/product/sgi575/scp_ramfw/config_system_pll.c index 83ca02a5..0e30b8a3 100644 --- a/product/sgi575/scp_ramfw/config_system_pll.c +++ b/product/sgi575/scp_ramfw/config_system_pll.c @@ -88,5 +88,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_system_power.c b/product/sgi575/scp_ramfw/config_system_power.c index c460ba2b..e392a1e0 100644 --- a/product/sgi575/scp_ramfw/config_system_power.c +++ b/product/sgi575/scp_ramfw/config_system_power.c @@ -90,5 +90,5 @@ static const struct fwk_element *sgi575_system_get_element_table( const struct fwk_module_config config_system_power = { .data = &system_power_config, - .get_element_table = sgi575_system_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgi575_system_get_element_table), }; diff --git a/product/sgi575/scp_ramfw/config_timer.c b/product/sgi575/scp_ramfw/config_timer.c index b7c6a030..4cdbabcc 100644 --- a/product/sgi575/scp_ramfw/config_timer.c +++ b/product/sgi575/scp_ramfw/config_timer.c @@ -43,7 +43,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -67,5 +67,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/sgi575/scp_romfw/config_gtimer.c b/product/sgi575/scp_romfw/config_gtimer.c index 4c304b65..1357f83c 100644 --- a/product/sgi575/scp_romfw/config_gtimer.c +++ b/product/sgi575/scp_romfw/config_gtimer.c @@ -37,5 +37,5 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; diff --git a/product/sgi575/scp_romfw/config_log.c b/product/sgi575/scp_romfw/config_log.c index c5f89f05..0c2d14be 100644 --- a/product/sgi575/scp_romfw/config_log.c +++ b/product/sgi575/scp_romfw/config_log.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/sgm775/scp_ramfw/config_clock.c b/product/sgm775/scp_ramfw/config_clock.c index fccc0678..84d3b29a 100644 --- a/product/sgm775/scp_ramfw/config_clock.c +++ b/product/sgm775/scp_ramfw/config_clock.c @@ -109,8 +109,7 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { + .data = &((struct mod_clock_config){ .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( FWK_MODULE_IDX_POWER_DOMAIN, MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), @@ -118,4 +117,6 @@ struct fwk_module_config config_clock = { FWK_MODULE_IDX_POWER_DOMAIN, MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), }), + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/sgm775/scp_ramfw/config_css_clock.c b/product/sgm775/scp_ramfw/config_css_clock.c index 4957d557..2fe234c3 100644 --- a/product/sgm775/scp_ramfw/config_css_clock.c +++ b/product/sgm775/scp_ramfw/config_css_clock.c @@ -300,6 +300,5 @@ static const struct fwk_element *css_clock_get_element_table } struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_debugger_cli.c b/product/sgm775/scp_ramfw/config_debugger_cli.c index e32b945e..45b36c79 100644 --- a/product/sgm775/scp_ramfw/config_debugger_cli.c +++ b/product/sgm775/scp_ramfw/config_debugger_cli.c @@ -24,6 +24,5 @@ static const struct mod_debugger_cli_module_config debugger_cli_data = { * Configuration for the debugger CLI module */ struct fwk_module_config config_debugger_cli = { - .get_element_table = NULL, .data = &debugger_cli_data }; diff --git a/product/sgm775/scp_ramfw/config_dvfs.c b/product/sgm775/scp_ramfw/config_dvfs.c index 4b4928bf..6a16cd94 100644 --- a/product/sgm775/scp_ramfw/config_dvfs.c +++ b/product/sgm775/scp_ramfw/config_dvfs.c @@ -236,6 +236,5 @@ static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_dvfs = { - .get_element_table = dvfs_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dvfs_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_log.c b/product/sgm775/scp_ramfw/config_log.c index b7ea216a..c95c0640 100644 --- a/product/sgm775/scp_ramfw/config_log.c +++ b/product/sgm775/scp_ramfw/config_log.c @@ -45,7 +45,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -59,6 +59,5 @@ static const struct mod_log_config log_data = { }; struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/sgm775/scp_ramfw/config_mhu.c b/product/sgm775/scp_ramfw/config_mhu.c index 3df09453..e2cf48ec 100644 --- a/product/sgm775/scp_ramfw/config_mhu.c +++ b/product/sgm775/scp_ramfw/config_mhu.c @@ -53,5 +53,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_mhu = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_mock_psu.c b/product/sgm775/scp_ramfw/config_mock_psu.c index e9f72d0d..569cb4a6 100644 --- a/product/sgm775/scp_ramfw/config_mock_psu.c +++ b/product/sgm775/scp_ramfw/config_mock_psu.c @@ -78,6 +78,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } struct fwk_module_config config_mock_psu = { - .get_element_table = get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_pik_clock.c b/product/sgm775/scp_ramfw/config_pik_clock.c index de2ef26c..4edccbb4 100644 --- a/product/sgm775/scp_ramfw/config_pik_clock.c +++ b/product/sgm775/scp_ramfw/config_pik_clock.c @@ -300,6 +300,5 @@ static const struct fwk_element *pik_clock_get_element_table } struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_power_domain.c b/product/sgm775/scp_ramfw/config_power_domain.c index cf0316a5..4aa040a5 100644 --- a/product/sgm775/scp_ramfw/config_power_domain.c +++ b/product/sgm775/scp_ramfw/config_power_domain.c @@ -256,6 +256,7 @@ static const struct fwk_element *sgm775_power_domain_get_element_table * Power module configuration data */ struct fwk_module_config config_power_domain = { - .get_element_table = sgm775_power_domain_get_element_table, .data = &sgm775_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_power_domain_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_ppu_v0.c b/product/sgm775/scp_ramfw/config_ppu_v0.c index e2f196c9..f7797798 100644 --- a/product/sgm775/scp_ramfw/config_ppu_v0.c +++ b/product/sgm775/scp_ramfw/config_ppu_v0.c @@ -95,6 +95,5 @@ static const struct fwk_element *sgm775_ppu_v0_get_element_table * Power module configuration data */ struct fwk_module_config config_ppu_v0 = { - .get_element_table = sgm775_ppu_v0_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_ppu_v0_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_ppu_v1.c b/product/sgm775/scp_ramfw/config_ppu_v1.c index 50b30219..f13dc3f0 100644 --- a/product/sgm775/scp_ramfw/config_ppu_v1.c +++ b/product/sgm775/scp_ramfw/config_ppu_v1.c @@ -102,6 +102,6 @@ static const struct fwk_element *sgm775_ppu_v1_get_element_table * Power module configuration data */ struct fwk_module_config config_ppu_v1 = { - .get_element_table = sgm775_ppu_v1_get_element_table, .data = &sgm775_ppu_v1_notification_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_ppu_v1_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_psu.c b/product/sgm775/scp_ramfw/config_psu.c index 758722ab..fae09913 100644 --- a/product/sgm775/scp_ramfw/config_psu.c +++ b/product/sgm775/scp_ramfw/config_psu.c @@ -72,6 +72,5 @@ static const struct fwk_element *psu_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_psu = { - .get_element_table = psu_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_scmi.c b/product/sgm775/scp_ramfw/config_scmi.c index 0ae6f73b..b3480353 100644 --- a/product/sgm775/scp_ramfw/config_scmi.c +++ b/product/sgm775/scp_ramfw/config_scmi.c @@ -78,12 +78,13 @@ static const struct mod_scmi_agent agent_table[] = { }; struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { + .data = &((struct mod_scmi_config){ .protocol_count_max = 9, .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, .agent_table = agent_table, .vendor_identifier = "arm", .sub_vendor_identifier = "arm", }), + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/sgm775/scp_ramfw/config_scmi_perf.c b/product/sgm775/scp_ramfw/config_scmi_perf.c index 12398d01..c781b2f4 100644 --- a/product/sgm775/scp_ramfw/config_scmi_perf.c +++ b/product/sgm775/scp_ramfw/config_scmi_perf.c @@ -40,8 +40,7 @@ static const struct mod_scmi_perf_domain_config domains[] = { }; struct fwk_module_config config_scmi_perf = { - .get_element_table = NULL, - .data = &((struct mod_scmi_perf_config) { + .data = &((struct mod_scmi_perf_config){ .domains = &domains, .fast_channels_alarm_id = FWK_ID_NONE_INIT, }), diff --git a/product/sgm775/scp_ramfw/config_scmi_system_power.c b/product/sgm775/scp_ramfw/config_scmi_system_power.c index 59f81c1a..3a44bf60 100644 --- a/product/sgm775/scp_ramfw/config_scmi_system_power.c +++ b/product/sgm775/scp_ramfw/config_scmi_system_power.c @@ -13,9 +13,7 @@ #include <stddef.h> struct fwk_module_config config_scmi_system_power = { - .get_element_table = NULL, - .data = &((struct mod_scmi_system_power_config) { + .data = &((struct mod_scmi_system_power_config){ .system_view = MOD_SCMI_SYSTEM_VIEW_FULL, - .system_suspend_state = MOD_SYSTEM_POWER_POWER_STATE_SLEEP0 - }), + .system_suspend_state = MOD_SYSTEM_POWER_POWER_STATE_SLEEP0 }), }; diff --git a/product/sgm775/scp_ramfw/config_sds.c b/product/sgm775/scp_ramfw/config_sds.c index ac5af81d..b7634f74 100644 --- a/product/sgm775/scp_ramfw/config_sds.c +++ b/product/sgm775/scp_ramfw/config_sds.c @@ -88,6 +88,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_sensor.c b/product/sgm775/scp_ramfw/config_sensor.c index b0f5c968..7c1ff747 100644 --- a/product/sgm775/scp_ramfw/config_sensor.c +++ b/product/sgm775/scp_ramfw/config_sensor.c @@ -50,7 +50,7 @@ static const struct fwk_element *get_reg_sensor_element_table(fwk_id_t id) } struct fwk_module_config config_reg_sensor = { - .get_element_table = get_reg_sensor_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_reg_sensor_element_table), }; /* @@ -74,6 +74,5 @@ static const struct fwk_element *get_sensor_element_table(fwk_id_t module_id) } struct fwk_module_config config_sensor = { - .get_element_table = get_sensor_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_sensor_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_sgm775_ddr_phy500.c b/product/sgm775/scp_ramfw/config_sgm775_ddr_phy500.c index 1f3f1fdb..8ac90712 100644 --- a/product/sgm775/scp_ramfw/config_sgm775_ddr_phy500.c +++ b/product/sgm775/scp_ramfw/config_sgm775_ddr_phy500.c @@ -48,6 +48,6 @@ static const struct fwk_element *sgm775_ddr_phy500_get_element_table /* Configuration of the DDR PHY500 module. */ struct fwk_module_config config_sgm775_ddr_phy500 = { - .get_element_table = sgm775_ddr_phy500_get_element_table, - .data = NULL, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_ddr_phy500_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_sgm775_dmc500.c b/product/sgm775/scp_ramfw/config_sgm775_dmc500.c index b19a7c87..0b545252 100644 --- a/product/sgm775/scp_ramfw/config_sgm775_dmc500.c +++ b/product/sgm775/scp_ramfw/config_sgm775_dmc500.c @@ -54,8 +54,10 @@ static const struct fwk_element *sgm775_dmc500_get_element_table( /* Configuration of the DMC500 module. */ struct fwk_module_config config_sgm775_dmc500 = { - .get_element_table = sgm775_dmc500_get_element_table, - .data = &((struct mod_sgm775_dmc500_module_config) { + .data = + &(struct mod_sgm775_dmc500_module_config){ .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - }), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_dmc500_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_smt.c b/product/sgm775/scp_ramfw/config_smt.c index 1803ee9f..67e646d2 100644 --- a/product/sgm775/scp_ramfw/config_smt.c +++ b/product/sgm775/scp_ramfw/config_smt.c @@ -75,5 +75,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_system_pll.c b/product/sgm775/scp_ramfw/config_system_pll.c index 5c7b568d..4251b31f 100644 --- a/product/sgm775/scp_ramfw/config_system_pll.c +++ b/product/sgm775/scp_ramfw/config_system_pll.c @@ -119,6 +119,5 @@ static const struct fwk_element *system_pll_get_element_table } struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_system_power.c b/product/sgm775/scp_ramfw/config_system_power.c index 038a2e51..a5ba4748 100644 --- a/product/sgm775/scp_ramfw/config_system_power.c +++ b/product/sgm775/scp_ramfw/config_system_power.c @@ -95,14 +95,17 @@ static const struct fwk_element *system_power_get_element_table( } const struct fwk_module_config config_system_power = { - .data = &((struct mod_system_power_config) { - .soc_wakeup_irq = SOC_WAKEUP0_IRQ, - .ext_ppus = ext_ppus, - .ext_ppus_count = FWK_ARRAY_SIZE(ext_ppus), - .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SGM775_SYSTEM), - .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SGM775_SYSTEM, - MOD_SGM775_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER), - .initial_system_power_state = MOD_PD_STATE_ON, - }), - .get_element_table = system_power_get_element_table, + .data = + &(struct mod_system_power_config){ + .soc_wakeup_irq = SOC_WAKEUP0_IRQ, + .ext_ppus = ext_ppus, + .ext_ppus_count = FWK_ARRAY_SIZE(ext_ppus), + .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SGM775_SYSTEM), + .driver_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SGM775_SYSTEM, + MOD_SGM775_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER), + .initial_system_power_state = MOD_PD_STATE_ON, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_power_get_element_table), }; diff --git a/product/sgm775/scp_ramfw/config_timer.c b/product/sgm775/scp_ramfw/config_timer.c index bbac119b..dd7cf9ee 100644 --- a/product/sgm775/scp_ramfw/config_timer.c +++ b/product/sgm775/scp_ramfw/config_timer.c @@ -45,7 +45,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -71,5 +71,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/sgm775/scp_romfw/config_clock.c b/product/sgm775/scp_romfw/config_clock.c index 565fc96a..ad76b6c0 100644 --- a/product/sgm775/scp_romfw/config_clock.c +++ b/product/sgm775/scp_romfw/config_clock.c @@ -118,11 +118,13 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_MSYS_ROM, - MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), - .pd_pre_transition_notification_id = FWK_ID_NONE_INIT, - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_MSYS_ROM, + MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), + .pd_pre_transition_notification_id = FWK_ID_NONE_INIT, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/sgm775/scp_romfw/config_css_clock.c b/product/sgm775/scp_romfw/config_css_clock.c index c029ad3b..6cb9fee9 100644 --- a/product/sgm775/scp_romfw/config_css_clock.c +++ b/product/sgm775/scp_romfw/config_css_clock.c @@ -134,5 +134,5 @@ static const struct fwk_element *css_clock_get_element_table } struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/sgm775/scp_romfw/config_log.c b/product/sgm775/scp_romfw/config_log.c index eaf1c80b..2ab30e1f 100644 --- a/product/sgm775/scp_romfw/config_log.c +++ b/product/sgm775/scp_romfw/config_log.c @@ -45,7 +45,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -59,6 +59,5 @@ static const struct mod_log_config log_data = { }; struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/sgm775/scp_romfw/config_pik_clock.c b/product/sgm775/scp_romfw/config_pik_clock.c index 9a6bd87e..2fc25398 100644 --- a/product/sgm775/scp_romfw/config_pik_clock.c +++ b/product/sgm775/scp_romfw/config_pik_clock.c @@ -310,5 +310,5 @@ static const struct fwk_element *pik_clock_get_element_table } struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/sgm775/scp_romfw/config_ppu_v0.c b/product/sgm775/scp_romfw/config_ppu_v0.c index c965e590..f72bd55a 100644 --- a/product/sgm775/scp_romfw/config_ppu_v0.c +++ b/product/sgm775/scp_romfw/config_ppu_v0.c @@ -51,5 +51,5 @@ static const struct fwk_element *sgm775_ppu_v0_get_element_table( * Power module configuration data */ struct fwk_module_config config_ppu_v0 = { - .get_element_table = sgm775_ppu_v0_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_ppu_v0_get_element_table), }; diff --git a/product/sgm775/scp_romfw/config_ppu_v1.c b/product/sgm775/scp_romfw/config_ppu_v1.c index 70decf23..9e532252 100644 --- a/product/sgm775/scp_romfw/config_ppu_v1.c +++ b/product/sgm775/scp_romfw/config_ppu_v1.c @@ -50,11 +50,13 @@ static const struct fwk_element *sgm775_ppu_v1_get_element_table( * Power module configuration data */ struct fwk_module_config config_ppu_v1 = { - .get_element_table = sgm775_ppu_v1_get_element_table, - .data = &(struct mod_ppu_v1_config) { - .pd_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_MSYS_ROM, - MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), - .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM), - }, + .data = + &(struct mod_ppu_v1_config){ + .pd_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_MSYS_ROM, + MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), + .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm775_ppu_v1_get_element_table), }; diff --git a/product/sgm775/scp_romfw/config_sds.c b/product/sgm775/scp_romfw/config_sds.c index bf88489b..b8948b81 100644 --- a/product/sgm775/scp_romfw/config_sds.c +++ b/product/sgm775/scp_romfw/config_sds.c @@ -165,6 +165,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/sgm775/scp_romfw/config_system_pll.c b/product/sgm775/scp_romfw/config_system_pll.c index 377f39b4..a84f1aff 100644 --- a/product/sgm775/scp_romfw/config_system_pll.c +++ b/product/sgm775/scp_romfw/config_system_pll.c @@ -94,5 +94,5 @@ static const struct fwk_element *system_pll_get_element_table } struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/sgm775/scp_romfw/config_timer.c b/product/sgm775/scp_romfw/config_timer.c index d6ac6c17..ba58ddd6 100644 --- a/product/sgm775/scp_romfw/config_timer.c +++ b/product/sgm775/scp_romfw/config_timer.c @@ -42,7 +42,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -66,5 +66,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/sgm775/src/config_sid.c b/product/sgm775/src/config_sid.c index 30809cff..c4917c7e 100644 --- a/product/sgm775/src/config_sid.c +++ b/product/sgm775/src/config_sid.c @@ -30,7 +30,6 @@ static const struct fwk_element *get_subsystem_table(fwk_id_t id) } struct fwk_module_config config_sid = { - .get_element_table = get_subsystem_table, .data = &(struct mod_sid_config) { .sid_base = SSC_BASE, .pcid_expected = { @@ -44,4 +43,6 @@ struct fwk_module_config config_sid = { .CID3 = 0xB1, }, }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_subsystem_table), }; diff --git a/product/sgm775/src/config_system_info.c b/product/sgm775/src/config_system_info.c index 23a2b480..dd124fdd 100644 --- a/product/sgm775/src/config_system_info.c +++ b/product/sgm775/src/config_system_info.c @@ -15,12 +15,10 @@ #include <stddef.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, - .data = &((struct mod_system_info_config) { - .system_info_driver_module_id = - FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), - .system_info_driver_data_api_id = - FWK_ID_API_INIT(FWK_MODULE_IDX_SID, - MOD_SID_SYSTEM_INFO_DRIVER_DATA_API_IDX), + .data = &((struct mod_system_info_config){ + .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), + .system_info_driver_data_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SID, + MOD_SID_SYSTEM_INFO_DRIVER_DATA_API_IDX), }), }; diff --git a/product/sgm776/scp_ramfw/config_clock.c b/product/sgm776/scp_ramfw/config_clock.c index 8267de25..b39763f8 100644 --- a/product/sgm776/scp_ramfw/config_clock.c +++ b/product/sgm776/scp_ramfw/config_clock.c @@ -109,13 +109,15 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), - .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_POWER_DOMAIN, - MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), + .pd_pre_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_POWER_DOMAIN, + MOD_PD_NOTIFICATION_IDX_POWER_STATE_PRE_TRANSITION), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/sgm776/scp_ramfw/config_css_clock.c b/product/sgm776/scp_ramfw/config_css_clock.c index 982e9f37..164d2e1c 100644 --- a/product/sgm776/scp_ramfw/config_css_clock.c +++ b/product/sgm776/scp_ramfw/config_css_clock.c @@ -354,5 +354,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_ddr_phy500.c b/product/sgm776/scp_ramfw/config_ddr_phy500.c index b7d68e32..a3c48b34 100644 --- a/product/sgm776/scp_ramfw/config_ddr_phy500.c +++ b/product/sgm776/scp_ramfw/config_ddr_phy500.c @@ -59,8 +59,10 @@ static const struct fwk_element *ddr_phy500_get_element_table( /* Configuration of the DDR PHY500 module. */ const struct fwk_module_config config_ddr_phy500 = { - .get_element_table = ddr_phy500_get_element_table, - .data = &((struct mod_ddr_phy500_module_config) { - .ddr_reg_val = &ddr_reg_val, - }), + .data = + &(struct mod_ddr_phy500_module_config){ + .ddr_reg_val = &ddr_reg_val, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ddr_phy500_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_dmc500.c b/product/sgm776/scp_ramfw/config_dmc500.c index 13fb7a4f..080dbf59 100644 --- a/product/sgm776/scp_ramfw/config_dmc500.c +++ b/product/sgm776/scp_ramfw/config_dmc500.c @@ -213,12 +213,14 @@ static void direct_ddr_cmd(struct mod_dmc500_reg *dmc) /* Configuration of the DMC500 module. */ const struct fwk_module_config config_dmc500 = { - .get_element_table = dmc500_get_element_table, - .data = &((struct mod_dmc500_module_config) { - .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), - .ddr_phy_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_DDR_PHY500), - .ddr_phy_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_DDR_PHY500, 0), - .reg_val = ®_val, - .direct_ddr_cmd = direct_ddr_cmd, - }), + .data = + &(struct mod_dmc500_module_config){ + .timer_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TIMER, 0), + .ddr_phy_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_DDR_PHY500), + .ddr_phy_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_DDR_PHY500, 0), + .reg_val = ®_val, + .direct_ddr_cmd = direct_ddr_cmd, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dmc500_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_dvfs.c b/product/sgm776/scp_ramfw/config_dvfs.c index ebba80ef..760569ad 100644 --- a/product/sgm776/scp_ramfw/config_dvfs.c +++ b/product/sgm776/scp_ramfw/config_dvfs.c @@ -212,5 +212,5 @@ static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_dvfs = { - .get_element_table = dvfs_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dvfs_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_log.c b/product/sgm776/scp_ramfw/config_log.c index c27e8769..9357d63c 100644 --- a/product/sgm776/scp_ramfw/config_log.c +++ b/product/sgm776/scp_ramfw/config_log.c @@ -45,7 +45,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } const struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -59,6 +59,5 @@ static const struct mod_log_config log_data = { }; const struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/sgm776/scp_ramfw/config_mhu.c b/product/sgm776/scp_ramfw/config_mhu.c index c7f654c1..149f7c59 100644 --- a/product/sgm776/scp_ramfw/config_mhu.c +++ b/product/sgm776/scp_ramfw/config_mhu.c @@ -56,5 +56,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_mhu2 = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_mock_psu.c b/product/sgm776/scp_ramfw/config_mock_psu.c index 84e2d70b..436e93de 100644 --- a/product/sgm776/scp_ramfw/config_mock_psu.c +++ b/product/sgm776/scp_ramfw/config_mock_psu.c @@ -75,5 +75,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mock_psu = { - .get_element_table = get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_pik_clock.c b/product/sgm776/scp_ramfw/config_pik_clock.c index 64dc64ec..cb8e67a6 100644 --- a/product/sgm776/scp_ramfw/config_pik_clock.c +++ b/product/sgm776/scp_ramfw/config_pik_clock.c @@ -312,5 +312,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_power_domain.c b/product/sgm776/scp_ramfw/config_power_domain.c index 4857ba84..df69d520 100644 --- a/product/sgm776/scp_ramfw/config_power_domain.c +++ b/product/sgm776/scp_ramfw/config_power_domain.c @@ -245,6 +245,7 @@ static const struct fwk_element *sgm776_power_domain_get_element_table * Power module configuration data */ struct fwk_module_config config_power_domain = { - .get_element_table = sgm776_power_domain_get_element_table, .data = &sgm776_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(sgm776_power_domain_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_ppu_v1.c b/product/sgm776/scp_ramfw/config_ppu_v1.c index 60a99758..049d4a18 100644 --- a/product/sgm776/scp_ramfw/config_ppu_v1.c +++ b/product/sgm776/scp_ramfw/config_ppu_v1.c @@ -172,6 +172,6 @@ static const struct fwk_element *sgm776_ppu_v1_get_element_table( * Power module configuration data */ struct fwk_module_config config_ppu_v1 = { - .get_element_table = sgm776_ppu_v1_get_element_table, .data = &sgm776_ppu_v1_notification_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm776_ppu_v1_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_psu.c b/product/sgm776/scp_ramfw/config_psu.c index 3a91a791..95534c11 100644 --- a/product/sgm776/scp_ramfw/config_psu.c +++ b/product/sgm776/scp_ramfw/config_psu.c @@ -55,5 +55,5 @@ static const struct fwk_element *psu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_psu = { - .get_element_table = psu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_scmi.c b/product/sgm776/scp_ramfw/config_scmi.c index e4744b57..b1af3184 100644 --- a/product/sgm776/scp_ramfw/config_scmi.c +++ b/product/sgm776/scp_ramfw/config_scmi.c @@ -78,12 +78,14 @@ static const struct mod_scmi_agent agent_table[] = { }; struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { - .protocol_count_max = 9, - .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, - .agent_table = agent_table, - .vendor_identifier = "arm", - .sub_vendor_identifier = "arm", - }), + .data = + &(struct mod_scmi_config){ + .protocol_count_max = 9, + .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, + .agent_table = agent_table, + .vendor_identifier = "arm", + .sub_vendor_identifier = "arm", + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/sgm776/scp_ramfw/config_scmi_system_power.c b/product/sgm776/scp_ramfw/config_scmi_system_power.c index 59f81c1a..3a44bf60 100644 --- a/product/sgm776/scp_ramfw/config_scmi_system_power.c +++ b/product/sgm776/scp_ramfw/config_scmi_system_power.c @@ -13,9 +13,7 @@ #include <stddef.h> struct fwk_module_config config_scmi_system_power = { - .get_element_table = NULL, - .data = &((struct mod_scmi_system_power_config) { + .data = &((struct mod_scmi_system_power_config){ .system_view = MOD_SCMI_SYSTEM_VIEW_FULL, - .system_suspend_state = MOD_SYSTEM_POWER_POWER_STATE_SLEEP0 - }), + .system_suspend_state = MOD_SYSTEM_POWER_POWER_STATE_SLEEP0 }), }; diff --git a/product/sgm776/scp_ramfw/config_sds.c b/product/sgm776/scp_ramfw/config_sds.c index 1a0ce091..cb3a7314 100644 --- a/product/sgm776/scp_ramfw/config_sds.c +++ b/product/sgm776/scp_ramfw/config_sds.c @@ -85,6 +85,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_sensor.c b/product/sgm776/scp_ramfw/config_sensor.c index 65cb7a16..bc0298fb 100644 --- a/product/sgm776/scp_ramfw/config_sensor.c +++ b/product/sgm776/scp_ramfw/config_sensor.c @@ -51,7 +51,7 @@ static const struct fwk_element *get_reg_sensor_element_table(fwk_id_t id) } struct fwk_module_config config_reg_sensor = { - .get_element_table = get_reg_sensor_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_reg_sensor_element_table), }; /* @@ -75,6 +75,5 @@ static const struct fwk_element *get_sensor_element_table(fwk_id_t module_id) } const struct fwk_module_config config_sensor = { - .get_element_table = get_sensor_element_table, - .data = NULL, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_sensor_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_smt.c b/product/sgm776/scp_ramfw/config_smt.c index 2025b06a..8131cce4 100644 --- a/product/sgm776/scp_ramfw/config_smt.c +++ b/product/sgm776/scp_ramfw/config_smt.c @@ -79,5 +79,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_system_pll.c b/product/sgm776/scp_ramfw/config_system_pll.c index 6f0f5f90..ddd07639 100644 --- a/product/sgm776/scp_ramfw/config_system_pll.c +++ b/product/sgm776/scp_ramfw/config_system_pll.c @@ -119,5 +119,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_system_power.c b/product/sgm776/scp_ramfw/config_system_power.c index faff7617..e26826ff 100644 --- a/product/sgm776/scp_ramfw/config_system_power.c +++ b/product/sgm776/scp_ramfw/config_system_power.c @@ -93,14 +93,17 @@ static const struct fwk_element *system_power_get_element_table( } const struct fwk_module_config config_system_power = { - .data = &((struct mod_system_power_config) { - .soc_wakeup_irq = SOC_WAKEUP0_IRQ, - .ext_ppus = ext_ppus, - .ext_ppus_count = FWK_ARRAY_SIZE(ext_ppus), - .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SGM776_SYSTEM), - .driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_SGM776_SYSTEM, - MOD_SGM776_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER), - .initial_system_power_state = MOD_PD_STATE_ON, - }), - .get_element_table = system_power_get_element_table, + .data = + &(struct mod_system_power_config){ + .soc_wakeup_irq = SOC_WAKEUP0_IRQ, + .ext_ppus = ext_ppus, + .ext_ppus_count = FWK_ARRAY_SIZE(ext_ppus), + .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SGM776_SYSTEM), + .driver_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SGM776_SYSTEM, + MOD_SGM776_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER), + .initial_system_power_state = MOD_PD_STATE_ON, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_power_get_element_table), }; diff --git a/product/sgm776/scp_ramfw/config_timer.c b/product/sgm776/scp_ramfw/config_timer.c index 989d7f0f..8db19e26 100644 --- a/product/sgm776/scp_ramfw/config_timer.c +++ b/product/sgm776/scp_ramfw/config_timer.c @@ -44,7 +44,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -70,5 +70,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/sgm776/scp_romfw/config_clock.c b/product/sgm776/scp_romfw/config_clock.c index 9bb62d18..e8ce7449 100644 --- a/product/sgm776/scp_romfw/config_clock.c +++ b/product/sgm776/scp_romfw/config_clock.c @@ -109,11 +109,13 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { - .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( - FWK_MODULE_IDX_MSYS_ROM, - MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), - .pd_pre_transition_notification_id = FWK_ID_NONE_INIT, - }), + .data = + &(struct mod_clock_config){ + .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_MSYS_ROM, + MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), + .pd_pre_transition_notification_id = FWK_ID_NONE_INIT, + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), }; diff --git a/product/sgm776/scp_romfw/config_css_clock.c b/product/sgm776/scp_romfw/config_css_clock.c index 8b42b357..3c2eff1a 100644 --- a/product/sgm776/scp_romfw/config_css_clock.c +++ b/product/sgm776/scp_romfw/config_css_clock.c @@ -188,5 +188,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/sgm776/scp_romfw/config_log.c b/product/sgm776/scp_romfw/config_log.c index 9976dd5d..f04da16d 100644 --- a/product/sgm776/scp_romfw/config_log.c +++ b/product/sgm776/scp_romfw/config_log.c @@ -44,7 +44,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* @@ -58,6 +58,5 @@ static const struct mod_log_config log_data = { }; struct fwk_module_config config_log = { - .get_element_table = NULL, .data = &log_data, }; diff --git a/product/sgm776/scp_romfw/config_pik_clock.c b/product/sgm776/scp_romfw/config_pik_clock.c index b8a674b0..f2da692d 100644 --- a/product/sgm776/scp_romfw/config_pik_clock.c +++ b/product/sgm776/scp_romfw/config_pik_clock.c @@ -346,5 +346,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/sgm776/scp_romfw/config_ppu_v1.c b/product/sgm776/scp_romfw/config_ppu_v1.c index ef6ca06e..32b8a6cb 100644 --- a/product/sgm776/scp_romfw/config_ppu_v1.c +++ b/product/sgm776/scp_romfw/config_ppu_v1.c @@ -73,10 +73,13 @@ static const struct fwk_element *sgm776_ppu_v1_get_element_table( * Power module configuration data */ struct fwk_module_config config_ppu_v1 = { - .get_element_table = sgm776_ppu_v1_get_element_table, - .data = &(struct mod_ppu_v1_config) { - .pd_notification_id = FWK_ID_NOTIFICATION_INIT(FWK_MODULE_IDX_MSYS_ROM, - MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), - .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM), - }, + .data = + &(struct mod_ppu_v1_config){ + .pd_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_MSYS_ROM, + MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), + .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM), + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sgm776_ppu_v1_get_element_table), }; diff --git a/product/sgm776/scp_romfw/config_sds.c b/product/sgm776/scp_romfw/config_sds.c index 211dd0c2..cce37aaf 100644 --- a/product/sgm776/scp_romfw/config_sds.c +++ b/product/sgm776/scp_romfw/config_sds.c @@ -172,6 +172,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, .data = &sds_module_config, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), }; diff --git a/product/sgm776/scp_romfw/config_system_pll.c b/product/sgm776/scp_romfw/config_system_pll.c index b77b5cc0..bdab0a62 100644 --- a/product/sgm776/scp_romfw/config_system_pll.c +++ b/product/sgm776/scp_romfw/config_system_pll.c @@ -81,5 +81,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/sgm776/scp_romfw/config_timer.c b/product/sgm776/scp_romfw/config_timer.c index b73a1533..534ae387 100644 --- a/product/sgm776/scp_romfw/config_timer.c +++ b/product/sgm776/scp_romfw/config_timer.c @@ -42,7 +42,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -66,5 +66,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/sgm776/src/config_sid.c b/product/sgm776/src/config_sid.c index de443429..1f5f3ac9 100644 --- a/product/sgm776/src/config_sid.c +++ b/product/sgm776/src/config_sid.c @@ -36,7 +36,6 @@ static const struct fwk_element *get_subsystem_table(fwk_id_t id) } struct fwk_module_config config_sid = { - .get_element_table = get_subsystem_table, .data = &(struct mod_sid_config) { .sid_base = SID_BASE, .pcid_expected = { @@ -50,4 +49,6 @@ struct fwk_module_config config_sid = { .CID3 = 0xB1, }, }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_subsystem_table), }; diff --git a/product/sgm776/src/config_system_info.c b/product/sgm776/src/config_system_info.c index 23a2b480..dd124fdd 100644 --- a/product/sgm776/src/config_system_info.c +++ b/product/sgm776/src/config_system_info.c @@ -15,12 +15,10 @@ #include <stddef.h> const struct fwk_module_config config_system_info = { - .get_element_table = NULL, - .data = &((struct mod_system_info_config) { - .system_info_driver_module_id = - FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), - .system_info_driver_data_api_id = - FWK_ID_API_INIT(FWK_MODULE_IDX_SID, - MOD_SID_SYSTEM_INFO_DRIVER_DATA_API_IDX), + .data = &((struct mod_system_info_config){ + .system_info_driver_module_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SID), + .system_info_driver_data_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SID, + MOD_SID_SYSTEM_INFO_DRIVER_DATA_API_IDX), }), }; diff --git a/product/synquacer/scp_ramfw/config_ccn512.c b/product/synquacer/scp_ramfw/config_ccn512.c index 290870b6..032dac14 100644 --- a/product/synquacer/scp_ramfw/config_ccn512.c +++ b/product/synquacer/scp_ramfw/config_ccn512.c @@ -17,7 +17,6 @@ * CCN512 module */ struct fwk_module_config config_ccn512 = { - .get_element_table = NULL, .data = &((struct mod_ccn512_module_config){ .reg_base = (ccn512_reg_t *)CCN512_BASE, }), diff --git a/product/synquacer/scp_ramfw/config_css_clock.c b/product/synquacer/scp_ramfw/config_css_clock.c index 150d63c5..97333302 100644 --- a/product/synquacer/scp_ramfw/config_css_clock.c +++ b/product/synquacer/scp_ramfw/config_css_clock.c @@ -19,5 +19,5 @@ static const struct fwk_element *css_clock_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_f_i2c.c b/product/synquacer/scp_ramfw/config_f_i2c.c index a62844bc..cb4ea8a8 100644 --- a/product/synquacer/scp_ramfw/config_f_i2c.c +++ b/product/synquacer/scp_ramfw/config_f_i2c.c @@ -10,6 +10,4 @@ #include <stddef.h> /* Configuration of the F_I2C module. */ -const struct fwk_module_config config_f_i2c = { - .get_element_table = NULL, -}; +const struct fwk_module_config config_f_i2c = { 0 }; diff --git a/product/synquacer/scp_ramfw/config_hsspi.c b/product/synquacer/scp_ramfw/config_hsspi.c index 0cafc1c0..633c7d89 100644 --- a/product/synquacer/scp_ramfw/config_hsspi.c +++ b/product/synquacer/scp_ramfw/config_hsspi.c @@ -10,6 +10,4 @@ #include <stddef.h> /* Configuration of the HSSPI module. */ -const struct fwk_module_config config_hsspi = { - .get_element_table = NULL, -}; +const struct fwk_module_config config_hsspi = { 0 }; diff --git a/product/synquacer/scp_ramfw/config_log_f_uart3.c b/product/synquacer/scp_ramfw/config_log_f_uart3.c index 24f70400..64be42e1 100644 --- a/product/synquacer/scp_ramfw/config_log_f_uart3.c +++ b/product/synquacer/scp_ramfw/config_log_f_uart3.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_f_uart3_table(fwk_id_t module_id) } struct fwk_module_config config_f_uart3 = { - .get_element_table = get_f_uart3_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_f_uart3_table), }; /* diff --git a/product/synquacer/scp_ramfw/config_log_pl011.c b/product/synquacer/scp_ramfw/config_log_pl011.c index e072b3dc..862749c7 100644 --- a/product/synquacer/scp_ramfw/config_log_pl011.c +++ b/product/synquacer/scp_ramfw/config_log_pl011.c @@ -39,7 +39,7 @@ static const struct fwk_element *get_pl011_table(fwk_id_t module_id) } struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; /* diff --git a/product/synquacer/scp_ramfw/config_mhu.c b/product/synquacer/scp_ramfw/config_mhu.c index 40ce20b9..09bfba1b 100644 --- a/product/synquacer/scp_ramfw/config_mhu.c +++ b/product/synquacer/scp_ramfw/config_mhu.c @@ -42,5 +42,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mhu = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_pik_clock.c b/product/synquacer/scp_ramfw/config_pik_clock.c index 04ae5dae..d9511203 100644 --- a/product/synquacer/scp_ramfw/config_pik_clock.c +++ b/product/synquacer/scp_ramfw/config_pik_clock.c @@ -1149,5 +1149,5 @@ static const struct fwk_element *pik_clock_get_element_table( } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_power_domain.c b/product/synquacer/scp_ramfw/config_power_domain.c index e98555ea..fa743815 100644 --- a/product/synquacer/scp_ramfw/config_power_domain.c +++ b/product/synquacer/scp_ramfw/config_power_domain.c @@ -227,6 +227,7 @@ static const struct fwk_element *synquacer_power_domain_get_element_table( * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = synquacer_power_domain_get_element_table, .data = &synquacer_power_domain_config, + .elements = + FWK_MODULE_DYNAMIC_ELEMENTS(synquacer_power_domain_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_ppu_v0_synquacer.c b/product/synquacer/scp_ramfw/config_ppu_v0_synquacer.c index bc325786..bb4779f8 100644 --- a/product/synquacer/scp_ramfw/config_ppu_v0_synquacer.c +++ b/product/synquacer/scp_ramfw/config_ppu_v0_synquacer.c @@ -153,5 +153,5 @@ static const struct fwk_element *ppu_v0_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v0_synquacer = { - .get_element_table = ppu_v0_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v0_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_scmi.c b/product/synquacer/scp_ramfw/config_scmi.c index 9605311c..4bcc05d9 100644 --- a/product/synquacer/scp_ramfw/config_scmi.c +++ b/product/synquacer/scp_ramfw/config_scmi.c @@ -50,12 +50,14 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { - .protocol_count_max = 9, - .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, - .agent_table = agent_table, - .vendor_identifier = "socionext", - .sub_vendor_identifier = "socionext", - }), + .data = + &(struct mod_scmi_config){ + .protocol_count_max = 9, + .agent_count = FWK_ARRAY_SIZE(agent_table) - 1, + .agent_table = agent_table, + .vendor_identifier = "socionext", + .sub_vendor_identifier = "socionext", + }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), }; diff --git a/product/synquacer/scp_ramfw/config_smt.c b/product/synquacer/scp_ramfw/config_smt.c index 7fa6b8ce..5d9f9af2 100644 --- a/product/synquacer/scp_ramfw/config_smt.c +++ b/product/synquacer/scp_ramfw/config_smt.c @@ -54,5 +54,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_synquacer_memc.c b/product/synquacer/scp_ramfw/config_synquacer_memc.c index ff2e3497..cf03e1a9 100644 --- a/product/synquacer/scp_ramfw/config_synquacer_memc.c +++ b/product/synquacer/scp_ramfw/config_synquacer_memc.c @@ -10,6 +10,4 @@ #include <stddef.h> /* Configuration of the SynQuacerMEMC module. */ -const struct fwk_module_config config_synquacer_memc = { - .get_element_table = NULL, -}; +const struct fwk_module_config config_synquacer_memc = { 0 }; diff --git a/product/synquacer/scp_ramfw/config_system_power.c b/product/synquacer/scp_ramfw/config_system_power.c index f6c2af4a..034f4b29 100644 --- a/product/synquacer/scp_ramfw/config_system_power.c +++ b/product/synquacer/scp_ramfw/config_system_power.c @@ -84,15 +84,16 @@ static const struct fwk_element *system_power_get_element_table( } const struct fwk_module_config config_system_power = { - .data = &((struct mod_system_power_config) { - .soc_wakeup_irq = FWK_INTERRUPT_NONE, - .ext_ppus = ext_ppus, - .ext_ppus_count = FWK_ARRAY_SIZE(ext_ppus), - .initial_system_power_state = MOD_PD_STATE_ON, - .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SYNQUACER_SYSTEM), - .driver_api_id = FWK_ID_API_INIT( - FWK_MODULE_IDX_SYNQUACER_SYSTEM, - MOD_SYNQUACER_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER) - }), - .get_element_table = system_power_get_element_table, + .data = + &(struct mod_system_power_config){ + .soc_wakeup_irq = FWK_INTERRUPT_NONE, + .ext_ppus = ext_ppus, + .ext_ppus_count = FWK_ARRAY_SIZE(ext_ppus), + .initial_system_power_state = MOD_PD_STATE_ON, + .driver_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_SYNQUACER_SYSTEM), + .driver_api_id = FWK_ID_API_INIT( + FWK_MODULE_IDX_SYNQUACER_SYSTEM, + MOD_SYNQUACER_SYSTEM_API_IDX_SYSTEM_POWER_DRIVER) }, + + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_power_get_element_table), }; diff --git a/product/synquacer/scp_ramfw/config_timer.c b/product/synquacer/scp_ramfw/config_timer.c index 69d5ecb9..2403d254 100644 --- a/product/synquacer/scp_ramfw/config_timer.c +++ b/product/synquacer/scp_ramfw/config_timer.c @@ -39,7 +39,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -65,5 +65,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/synquacer/scp_romfw/config_log_f_uart3.c b/product/synquacer/scp_romfw/config_log_f_uart3.c index 7aefe1b4..b29e9fe3 100644 --- a/product/synquacer/scp_romfw/config_log_f_uart3.c +++ b/product/synquacer/scp_romfw/config_log_f_uart3.c @@ -40,7 +40,7 @@ static const struct fwk_element *get_f_uart3_table(fwk_id_t module_id) } struct fwk_module_config config_f_uart3 = { - .get_element_table = get_f_uart3_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_f_uart3_table), }; /* diff --git a/product/synquacer/scp_romfw/config_synquacer_pik_clock.c b/product/synquacer/scp_romfw/config_synquacer_pik_clock.c index caef18fc..b3b15e5f 100644 --- a/product/synquacer/scp_romfw/config_synquacer_pik_clock.c +++ b/product/synquacer/scp_romfw/config_synquacer_pik_clock.c @@ -244,5 +244,5 @@ static const struct fwk_element *pik_clock_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_synquacer_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/synquacer/scp_romfw/config_timer.c b/product/synquacer/scp_romfw/config_timer.c index 69d5ecb9..2403d254 100644 --- a/product/synquacer/scp_romfw/config_timer.c +++ b/product/synquacer/scp_romfw/config_timer.c @@ -39,7 +39,7 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; /* @@ -65,5 +65,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/tc0/scp_ramfw/config_clock.c b/product/tc0/scp_ramfw/config_clock.c index e219e8d6..b0d6b47c 100644 --- a/product/tc0/scp_ramfw/config_clock.c +++ b/product/tc0/scp_ramfw/config_clock.c @@ -86,8 +86,8 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), + .data = &((struct mod_clock_config){ .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( FWK_MODULE_IDX_POWER_DOMAIN, MOD_PD_NOTIFICATION_IDX_POWER_STATE_TRANSITION), diff --git a/product/tc0/scp_ramfw/config_css_clock.c b/product/tc0/scp_ramfw/config_css_clock.c index 96e25c44..5f999c40 100644 --- a/product/tc0/scp_ramfw/config_css_clock.c +++ b/product/tc0/scp_ramfw/config_css_clock.c @@ -126,5 +126,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_dvfs.c b/product/tc0/scp_ramfw/config_dvfs.c index 94ddabf5..5dd5e858 100644 --- a/product/tc0/scp_ramfw/config_dvfs.c +++ b/product/tc0/scp_ramfw/config_dvfs.c @@ -65,5 +65,5 @@ static const struct fwk_element *dvfs_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_dvfs = { - .get_element_table = dvfs_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(dvfs_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_gtimer.c b/product/tc0/scp_ramfw/config_gtimer.c index 79d94478..750ca5ef 100644 --- a/product/tc0/scp_ramfw/config_gtimer.c +++ b/product/tc0/scp_ramfw/config_gtimer.c @@ -39,5 +39,5 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; diff --git a/product/tc0/scp_ramfw/config_mhu2.c b/product/tc0/scp_ramfw/config_mhu2.c index 1ead090f..00b01b90 100644 --- a/product/tc0/scp_ramfw/config_mhu2.c +++ b/product/tc0/scp_ramfw/config_mhu2.c @@ -46,5 +46,5 @@ static const struct fwk_element *mhu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mhu2 = { - .get_element_table = mhu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mhu_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_mock_psu.c b/product/tc0/scp_ramfw/config_mock_psu.c index f6c8d265..1d622fff 100644 --- a/product/tc0/scp_ramfw/config_mock_psu.c +++ b/product/tc0/scp_ramfw/config_mock_psu.c @@ -34,5 +34,5 @@ static const struct fwk_element *get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_mock_psu = { - .get_element_table = get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_pik_clock.c b/product/tc0/scp_ramfw/config_pik_clock.c index f937c5a7..909c0702 100644 --- a/product/tc0/scp_ramfw/config_pik_clock.c +++ b/product/tc0/scp_ramfw/config_pik_clock.c @@ -203,5 +203,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_power_domain.c b/product/tc0/scp_ramfw/config_power_domain.c index 7d948cd4..bd042883 100644 --- a/product/tc0/scp_ramfw/config_power_domain.c +++ b/product/tc0/scp_ramfw/config_power_domain.c @@ -166,6 +166,6 @@ static const struct fwk_element *tc0_power_domain_get_element_table * Power module configuration data */ const struct fwk_module_config config_power_domain = { - .get_element_table = tc0_power_domain_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(tc0_power_domain_get_element_table), .data = &tc0_power_domain_config, }; diff --git a/product/tc0/scp_ramfw/config_ppu_v1.c b/product/tc0/scp_ramfw/config_ppu_v1.c index 2932c513..7b4f3310 100644 --- a/product/tc0/scp_ramfw/config_ppu_v1.c +++ b/product/tc0/scp_ramfw/config_ppu_v1.c @@ -150,6 +150,6 @@ static const struct fwk_element *ppu_v1_get_element_table(fwk_id_t module_id) * Power module configuration data */ const struct fwk_module_config config_ppu_v1 = { - .get_element_table = ppu_v1_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(ppu_v1_get_element_table), .data = &ppu_v1_config_data, }; diff --git a/product/tc0/scp_ramfw/config_psu.c b/product/tc0/scp_ramfw/config_psu.c index a10c13fb..ab3a390a 100644 --- a/product/tc0/scp_ramfw/config_psu.c +++ b/product/tc0/scp_ramfw/config_psu.c @@ -30,5 +30,5 @@ static const struct fwk_element *psu_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_psu = { - .get_element_table = psu_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_scmi.c b/product/tc0/scp_ramfw/config_scmi.c index f1d13771..1b9f1e37 100644 --- a/product/tc0/scp_ramfw/config_scmi.c +++ b/product/tc0/scp_ramfw/config_scmi.c @@ -69,8 +69,8 @@ static struct mod_scmi_agent agent_table[] = { }; const struct fwk_module_config config_scmi = { - .get_element_table = get_service_table, - .data = &((struct mod_scmi_config) { + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_service_table), + .data = &((struct mod_scmi_config){ .protocol_count_max = 9, .agent_count = FWK_ARRAY_SIZE(agent_table), .agent_table = agent_table, diff --git a/product/tc0/scp_ramfw/config_scmi_perf.c b/product/tc0/scp_ramfw/config_scmi_perf.c index 9005ff85..25b5f515 100644 --- a/product/tc0/scp_ramfw/config_scmi_perf.c +++ b/product/tc0/scp_ramfw/config_scmi_perf.c @@ -24,8 +24,8 @@ static const struct mod_scmi_perf_domain_config domains[] = { }; const struct fwk_module_config config_scmi_perf = { - .get_element_table = NULL, - .data = &((struct mod_scmi_perf_config) { + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(NULL), + .data = &((struct mod_scmi_perf_config){ .domains = &domains, .fast_channels_alarm_id = FWK_ID_NONE_INIT, }), diff --git a/product/tc0/scp_ramfw/config_sds.c b/product/tc0/scp_ramfw/config_sds.c index 328db848..05694adc 100644 --- a/product/tc0/scp_ramfw/config_sds.c +++ b/product/tc0/scp_ramfw/config_sds.c @@ -80,6 +80,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), .data = &sds_module_config, }; diff --git a/product/tc0/scp_ramfw/config_smt.c b/product/tc0/scp_ramfw/config_smt.c index 59b49973..f6300242 100644 --- a/product/tc0/scp_ramfw/config_smt.c +++ b/product/tc0/scp_ramfw/config_smt.c @@ -63,5 +63,5 @@ static const struct fwk_element *smt_get_element_table(fwk_id_t module_id) } const struct fwk_module_config config_smt = { - .get_element_table = smt_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(smt_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_system_pll.c b/product/tc0/scp_ramfw/config_system_pll.c index 15232c68..aef20e94 100644 --- a/product/tc0/scp_ramfw/config_system_pll.c +++ b/product/tc0/scp_ramfw/config_system_pll.c @@ -100,5 +100,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/tc0/scp_ramfw/config_system_power.c b/product/tc0/scp_ramfw/config_system_power.c index 2821179f..142daeb4 100644 --- a/product/tc0/scp_ramfw/config_system_power.c +++ b/product/tc0/scp_ramfw/config_system_power.c @@ -89,6 +89,6 @@ static const struct fwk_element *tc0_system_get_element_table( } const struct fwk_module_config config_system_power = { - .get_element_table = tc0_system_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(tc0_system_get_element_table), .data = &system_power_config, }; diff --git a/product/tc0/scp_ramfw/config_timer.c b/product/tc0/scp_ramfw/config_timer.c index 4082f9fa..4d6a311d 100644 --- a/product/tc0/scp_ramfw/config_timer.c +++ b/product/tc0/scp_ramfw/config_timer.c @@ -38,5 +38,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/tc0/scp_romfw/config_clock.c b/product/tc0/scp_romfw/config_clock.c index 3b49a0a5..56f9b405 100644 --- a/product/tc0/scp_romfw/config_clock.c +++ b/product/tc0/scp_romfw/config_clock.c @@ -51,8 +51,8 @@ static const struct fwk_element *clock_get_dev_desc_table(fwk_id_t module_id) } const struct fwk_module_config config_clock = { - .get_element_table = clock_get_dev_desc_table, - .data = &((struct mod_clock_config) { + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(clock_get_dev_desc_table), + .data = &((struct mod_clock_config){ .pd_transition_notification_id = FWK_ID_NOTIFICATION_INIT( FWK_MODULE_IDX_MSYS_ROM, MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), diff --git a/product/tc0/scp_romfw/config_cmn_booker.c b/product/tc0/scp_romfw/config_cmn_booker.c index 2365ec78..f5e4e22d 100644 --- a/product/tc0/scp_romfw/config_cmn_booker.c +++ b/product/tc0/scp_romfw/config_cmn_booker.c @@ -94,8 +94,8 @@ static const struct mod_cmn_booker_mem_region_map mmap[] = { }; const struct fwk_module_config config_cmn_booker = { - .get_element_table = NULL, - .data = &((struct mod_cmn_booker_config) { + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(NULL), + .data = &((struct mod_cmn_booker_config){ .base = SCP_CMN_BOOKER_BASE, .mesh_size_x = 2, .mesh_size_y = 2, @@ -104,8 +104,8 @@ const struct fwk_module_config config_cmn_booker = { .snf_count = FWK_ARRAY_SIZE(snf_table), .mmap_table = mmap, .mmap_count = FWK_ARRAY_SIZE(mmap), - .clock_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, - CLOCK_IDX_INTERCONNECT), + .clock_id = + FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_IDX_INTERCONNECT), .hnf_cal_mode = false, }), }; diff --git a/product/tc0/scp_romfw/config_css_clock.c b/product/tc0/scp_romfw/config_css_clock.c index 964ae164..540568a1 100644 --- a/product/tc0/scp_romfw/config_css_clock.c +++ b/product/tc0/scp_romfw/config_css_clock.c @@ -104,5 +104,5 @@ static const struct fwk_element *css_clock_get_element_table } const struct fwk_module_config config_css_clock = { - .get_element_table = css_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(css_clock_get_element_table), }; diff --git a/product/tc0/scp_romfw/config_gtimer.c b/product/tc0/scp_romfw/config_gtimer.c index e3325a17..5fd27d85 100644 --- a/product/tc0/scp_romfw/config_gtimer.c +++ b/product/tc0/scp_romfw/config_gtimer.c @@ -39,5 +39,5 @@ static const struct fwk_element *gtimer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_gtimer = { - .get_element_table = gtimer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(gtimer_get_dev_table), }; diff --git a/product/tc0/scp_romfw/config_pik_clock.c b/product/tc0/scp_romfw/config_pik_clock.c index 184d4d35..af9c829b 100644 --- a/product/tc0/scp_romfw/config_pik_clock.c +++ b/product/tc0/scp_romfw/config_pik_clock.c @@ -178,5 +178,5 @@ static const struct fwk_element *pik_clock_get_element_table } const struct fwk_module_config config_pik_clock = { - .get_element_table = pik_clock_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(pik_clock_get_element_table), }; diff --git a/product/tc0/scp_romfw/config_ppu_v1.c b/product/tc0/scp_romfw/config_ppu_v1.c index 3a83aaf2..0251a8dd 100644 --- a/product/tc0/scp_romfw/config_ppu_v1.c +++ b/product/tc0/scp_romfw/config_ppu_v1.c @@ -132,10 +132,12 @@ static const struct fwk_element *tc0_ppu_v1_get_element_table( * Power module configuration data */ struct fwk_module_config config_ppu_v1 = { - .get_element_table = tc0_ppu_v1_get_element_table, - .data = &(struct mod_ppu_v1_config) { - .pd_notification_id = FWK_ID_NOTIFICATION_INIT(FWK_MODULE_IDX_MSYS_ROM, - MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), - .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM), - }, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(tc0_ppu_v1_get_element_table), + .data = + &(struct mod_ppu_v1_config){ + .pd_notification_id = FWK_ID_NOTIFICATION_INIT( + FWK_MODULE_IDX_MSYS_ROM, + MOD_MSYS_ROM_NOTIFICATION_IDX_POWER_SYSTOP), + .pd_source_id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_MSYS_ROM), + }, }; diff --git a/product/tc0/scp_romfw/config_sds.c b/product/tc0/scp_romfw/config_sds.c index 3c0a3ec8..46d22e5b 100644 --- a/product/tc0/scp_romfw/config_sds.c +++ b/product/tc0/scp_romfw/config_sds.c @@ -90,6 +90,6 @@ static const struct fwk_element *sds_get_element_table(fwk_id_t module_id) } struct fwk_module_config config_sds = { - .get_element_table = sds_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(sds_get_element_table), .data = &sds_module_config, }; diff --git a/product/tc0/scp_romfw/config_system_pll.c b/product/tc0/scp_romfw/config_system_pll.c index c9a8408f..12aca89b 100644 --- a/product/tc0/scp_romfw/config_system_pll.c +++ b/product/tc0/scp_romfw/config_system_pll.c @@ -63,5 +63,5 @@ static const struct fwk_element *system_pll_get_element_table } const struct fwk_module_config config_system_pll = { - .get_element_table = system_pll_get_element_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(system_pll_get_element_table), }; diff --git a/product/tc0/scp_romfw/config_timer.c b/product/tc0/scp_romfw/config_timer.c index 0828e41e..87be05fd 100644 --- a/product/tc0/scp_romfw/config_timer.c +++ b/product/tc0/scp_romfw/config_timer.c @@ -35,5 +35,5 @@ static const struct fwk_element *timer_get_dev_table(fwk_id_t module_id) } const struct fwk_module_config config_timer = { - .get_element_table = timer_get_dev_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(timer_get_dev_table), }; diff --git a/product/tc0/src/config_pl011.c b/product/tc0/src/config_pl011.c index 07192a92..fce84b36 100644 --- a/product/tc0/src/config_pl011.c +++ b/product/tc0/src/config_pl011.c @@ -34,5 +34,5 @@ static const struct fwk_element *get_pl011_table(fwk_id_t id) } const struct fwk_module_config config_pl011 = { - .get_element_table = get_pl011_table, + .elements = FWK_MODULE_DYNAMIC_ELEMENTS(get_pl011_table), }; |