From 44480aa64ba21eab786238dabd06c35b884fb1b8 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:28:07 +0100 Subject: [PATCH 01/11] drivers: peci: Place API into iterable sections Add wrapper DEVICE_API macro to all peci_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/peci/peci_ite_it8xxx2.c | 2 +- drivers/peci/peci_mchp_xec.c | 2 +- drivers/peci/peci_npcx.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/peci/peci_ite_it8xxx2.c b/drivers/peci/peci_ite_it8xxx2.c index 9cafeee2ed8b0..ca34aaaa5742a 100644 --- a/drivers/peci/peci_ite_it8xxx2.c +++ b/drivers/peci/peci_ite_it8xxx2.c @@ -301,7 +301,7 @@ static void peci_it8xxx2_isr(const struct device *dev) k_sem_give(&data->device_sync_sem); } -static const struct peci_driver_api peci_it8xxx2_driver_api = { +static DEVICE_API(peci, peci_it8xxx2_driver_api) = { .config = peci_it8xxx2_configure, .enable = peci_it8xxx2_enable, .disable = peci_it8xxx2_disable, diff --git a/drivers/peci/peci_mchp_xec.c b/drivers/peci/peci_mchp_xec.c index e03181e0f6b9b..59ac3c59ac6cc 100644 --- a/drivers/peci/peci_mchp_xec.c +++ b/drivers/peci/peci_mchp_xec.c @@ -508,7 +508,7 @@ static void peci_xec_isr(const void *arg) } #endif -static const struct peci_driver_api peci_xec_driver_api = { +static DEVICE_API(peci, peci_xec_driver_api) = { .config = peci_xec_configure, .enable = peci_xec_enable, .disable = peci_xec_disable, diff --git a/drivers/peci/peci_npcx.c b/drivers/peci/peci_npcx.c index a8579cbc21031..24e3f1d4bac60 100644 --- a/drivers/peci/peci_npcx.c +++ b/drivers/peci/peci_npcx.c @@ -225,7 +225,7 @@ static void peci_npcx_isr(const struct device *dev) k_sem_give(&data->trans_sync_sem); } -static const struct peci_driver_api peci_npcx_driver_api = { +static DEVICE_API(peci, peci_npcx_driver_api) = { .config = peci_npcx_configure, .enable = peci_npcx_enable, .disable = peci_npcx_disable, From bccdd5f23e0e4333d426d1fb73904c0e76a3173c Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:30:08 +0100 Subject: [PATCH 02/11] drivers: ps2: Place API into iterable section Add wrapper DEVICE_API macro to all ps2_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/ps2/ps2_mchp_xec.c | 2 +- drivers/ps2/ps2_npcx_channel.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/ps2/ps2_mchp_xec.c b/drivers/ps2/ps2_mchp_xec.c index 0a6677869127b..273673adc663c 100644 --- a/drivers/ps2/ps2_mchp_xec.c +++ b/drivers/ps2/ps2_mchp_xec.c @@ -337,7 +337,7 @@ static void ps2_xec_isr(const struct device *dev) regs->CTRL = MCHP_PS2_CTRL_EN; } -static const struct ps2_driver_api ps2_xec_driver_api = { +static DEVICE_API(ps2, ps2_xec_driver_api) = { .config = ps2_xec_configure, .read = NULL, .write = ps2_xec_write, diff --git a/drivers/ps2/ps2_npcx_channel.c b/drivers/ps2/ps2_npcx_channel.c index b718860139982..38f22c1cb74db 100644 --- a/drivers/ps2/ps2_npcx_channel.c +++ b/drivers/ps2/ps2_npcx_channel.c @@ -96,7 +96,7 @@ static int ps2_npcx_channel_init(const struct device *dev) return 0; } -static const struct ps2_driver_api ps2_channel_npcx_driver_api = { +static DEVICE_API(ps2, ps2_channel_npcx_driver_api) = { .config = ps2_npcx_ch_configure, .read = NULL, .write = ps2_npcx_ch_write, From 7f460888eddf21e6a6aa36a1b6e2b7f398c641cf Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:32:10 +0100 Subject: [PATCH 03/11] drivers: reset: Place API into iterable section Add wrapper DEVICE_API macro to all reset_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/reset/reset_ast10x0.c | 2 +- drivers/reset/reset_gd32.c | 2 +- drivers/reset/reset_intel_socfpga.c | 2 +- drivers/reset/reset_lpc_syscon.c | 2 +- drivers/reset/reset_npcx.c | 2 +- drivers/reset/reset_numaker.c | 2 +- drivers/reset/reset_nxp_rstctl.c | 2 +- drivers/reset/reset_rpi_pico.c | 2 +- drivers/reset/reset_stm32.c | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/reset/reset_ast10x0.c b/drivers/reset/reset_ast10x0.c index dc03a27ff0b85..3bbb4d5ee4230 100644 --- a/drivers/reset/reset_ast10x0.c +++ b/drivers/reset/reset_ast10x0.c @@ -91,7 +91,7 @@ static int aspeed_reset_line_toggle(const struct device *dev, uint32_t id) return ret; } -static const struct reset_driver_api aspeed_reset_api = { +static DEVICE_API(reset, aspeed_reset_api) = { .status = aspeed_reset_status, .line_assert = aspeed_reset_line_assert, .line_deassert = aspeed_reset_line_deassert, diff --git a/drivers/reset/reset_gd32.c b/drivers/reset/reset_gd32.c index 8072e468ca180..07037bc4ea85a 100644 --- a/drivers/reset/reset_gd32.c +++ b/drivers/reset/reset_gd32.c @@ -59,7 +59,7 @@ static int reset_gd32_line_toggle(const struct device *dev, uint32_t id) return 0; } -static const struct reset_driver_api reset_gd32_driver_api = { +static DEVICE_API(reset, reset_gd32_driver_api) = { .status = reset_gd32_status, .line_assert = reset_gd32_line_assert, .line_deassert = reset_gd32_line_deassert, diff --git a/drivers/reset/reset_intel_socfpga.c b/drivers/reset/reset_intel_socfpga.c index c63805d447fe6..12af947be145a 100644 --- a/drivers/reset/reset_intel_socfpga.c +++ b/drivers/reset/reset_intel_socfpga.c @@ -89,7 +89,7 @@ static int32_t reset_intel_soc_init(const struct device *dev) return 0; } -static const struct reset_driver_api reset_intel_soc_driver_api = { +static DEVICE_API(reset, reset_intel_soc_driver_api) = { .status = reset_intel_soc_status, .line_assert = reset_intel_soc_line_assert, .line_deassert = reset_intel_soc_line_deassert, diff --git a/drivers/reset/reset_lpc_syscon.c b/drivers/reset/reset_lpc_syscon.c index 9effda6651898..82e49732c5f0e 100644 --- a/drivers/reset/reset_lpc_syscon.c +++ b/drivers/reset/reset_lpc_syscon.c @@ -52,7 +52,7 @@ static int reset_nxp_syscon_line_toggle(const struct device *dev, uint32_t id) return 0; } -static const struct reset_driver_api reset_nxp_syscon_driver_api = { +static DEVICE_API(reset, reset_nxp_syscon_driver_api) = { .status = reset_nxp_syscon_status, .line_assert = reset_nxp_syscon_line_assert, .line_deassert = reset_nxp_syscon_line_deassert, diff --git a/drivers/reset/reset_npcx.c b/drivers/reset/reset_npcx.c index af9cac37f06c4..c9416cc535ef8 100644 --- a/drivers/reset/reset_npcx.c +++ b/drivers/reset/reset_npcx.c @@ -66,7 +66,7 @@ static int reset_npcx_line_toggle(const struct device *dev, uint32_t id) return ret; } -static const struct reset_driver_api reset_npcx_driver_api = { +static DEVICE_API(reset, reset_npcx_driver_api) = { .line_toggle = reset_npcx_line_toggle, }; diff --git a/drivers/reset/reset_numaker.c b/drivers/reset/reset_numaker.c index f1e875c78d030..2054d661fff14 100644 --- a/drivers/reset/reset_numaker.c +++ b/drivers/reset/reset_numaker.c @@ -59,7 +59,7 @@ static int reset_numaker_line_toggle(const struct device *dev, uint32_t id) return 0; } -static const struct reset_driver_api reset_numaker_driver_api = { +static DEVICE_API(reset, reset_numaker_driver_api) = { .status = reset_numaker_status, .line_assert = reset_numaker_line_assert, .line_deassert = reset_numaker_line_deassert, diff --git a/drivers/reset/reset_nxp_rstctl.c b/drivers/reset/reset_nxp_rstctl.c index 22d7cfa065088..c606406aa642b 100644 --- a/drivers/reset/reset_nxp_rstctl.c +++ b/drivers/reset/reset_nxp_rstctl.c @@ -64,7 +64,7 @@ static int reset_nxp_rstctl_line_toggle(const struct device *dev, uint32_t id) return 0; } -static const struct reset_driver_api reset_nxp_rstctl_driver_api = { +static DEVICE_API(reset, reset_nxp_rstctl_driver_api) = { .status = reset_nxp_rstctl_status, .line_assert = reset_nxp_rstctl_line_assert, .line_deassert = reset_nxp_rstctl_line_deassert, diff --git a/drivers/reset/reset_rpi_pico.c b/drivers/reset/reset_rpi_pico.c index 04cf084d2b1a1..f797c554eecce 100644 --- a/drivers/reset/reset_rpi_pico.c +++ b/drivers/reset/reset_rpi_pico.c @@ -138,7 +138,7 @@ static int reset_rpi_init(const struct device *dev) return 0; } -static const struct reset_driver_api reset_rpi_driver_api = { +static DEVICE_API(reset, reset_rpi_driver_api) = { .status = reset_rpi_status, .line_assert = reset_rpi_line_assert, .line_deassert = reset_rpi_line_deassert, diff --git a/drivers/reset/reset_stm32.c b/drivers/reset/reset_stm32.c index 50a48b3334ca4..007e7bfc78884 100644 --- a/drivers/reset/reset_stm32.c +++ b/drivers/reset/reset_stm32.c @@ -63,7 +63,7 @@ static int reset_stm32_line_toggle(const struct device *dev, uint32_t id) return 0; } -static const struct reset_driver_api reset_stm32_driver_api = { +static DEVICE_API(reset, reset_stm32_driver_api) = { .status = reset_stm32_status, .line_assert = reset_stm32_line_assert, .line_deassert = reset_stm32_line_deassert, From aa50883223deafac153700abc171c95ba1b83c40 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:33:39 +0100 Subject: [PATCH 04/11] drivers: interrupt_controller: Place API into iterable section Add wrapper DEVICE_API macro to all shared_irq_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/interrupt_controller/intc_shared_irq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/interrupt_controller/intc_shared_irq.c b/drivers/interrupt_controller/intc_shared_irq.c index d8cf6c31c0c83..6717ccd249859 100644 --- a/drivers/interrupt_controller/intc_shared_irq.c +++ b/drivers/interrupt_controller/intc_shared_irq.c @@ -130,7 +130,7 @@ static void shared_irq_isr(const struct device *dev) } } -static const struct shared_irq_driver_api api_funcs = { +static DEVICE_API(shared_irq, api_funcs) = { .isr_register = isr_register, .enable = enable, .disable = disable, From 6c5d270d5088f8ff7e323fb3b95c20c67f905577 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:34:59 +0100 Subject: [PATCH 05/11] drivers: smbus: Place API into iterable section Add wrapper DEVICE_API macro to all smbus_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/smbus/intel_pch_smbus.c | 2 +- drivers/smbus/smbus_stm32.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/smbus/intel_pch_smbus.c b/drivers/smbus/intel_pch_smbus.c index 9452efecf224d..9bda08bc371aa 100644 --- a/drivers/smbus/intel_pch_smbus.c +++ b/drivers/smbus/intel_pch_smbus.c @@ -886,7 +886,7 @@ static int pch_smbus_block_pcall(const struct device *dev, return ret; } -static const struct smbus_driver_api funcs = { +static DEVICE_API(smbus, funcs) = { .configure = pch_configure, .get_config = pch_get_config, .smbus_quick = pch_smbus_quick, diff --git a/drivers/smbus/smbus_stm32.c b/drivers/smbus/smbus_stm32.c index 56636cc84bff0..7f62f33198970 100644 --- a/drivers/smbus/smbus_stm32.c +++ b/drivers/smbus/smbus_stm32.c @@ -247,7 +247,7 @@ static int smbus_stm32_block_write(const struct device *dev, uint16_t periph_add return i2c_transfer(config->i2c_dev, messages, ARRAY_SIZE(messages), periph_addr); } -static const struct smbus_driver_api smbus_stm32_api = { +static DEVICE_API(smbus, smbus_stm32_api) = { .configure = smbus_stm32_configure, .get_config = smbus_stm32_get_config, .smbus_quick = smbus_stm32_quick, From 84e3ad959a9eb55b8aff521336b38003f5ac9dbf Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:36:41 +0100 Subject: [PATCH 06/11] drivers: stepper: Place API into iterable section Add wrapper DEVICE_API macro to all stepper_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c | 2 +- drivers/stepper/fake_stepper_controller.c | 2 +- drivers/stepper/gpio_stepper_controller.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c b/drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c index a1ceeb269214f..f1fc98a4c015b 100644 --- a/drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c +++ b/drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c @@ -721,7 +721,7 @@ static int tmc5041_stepper_init(const struct device *dev) .stepper = DEVICE_DT_GET(child),}; #define TMC5041_STEPPER_API_DEFINE(child) \ - static const struct stepper_driver_api tmc5041_stepper_api_##child = { \ + static DEVICE_API(stepper, tmc5041_stepper_api_##child) = { \ .enable = tmc5041_stepper_enable, \ .is_moving = tmc5041_stepper_is_moving, \ .move = tmc5041_stepper_move, \ diff --git a/drivers/stepper/fake_stepper_controller.c b/drivers/stepper/fake_stepper_controller.c index fbc6281f7d669..d59b714d3c158 100644 --- a/drivers/stepper/fake_stepper_controller.c +++ b/drivers/stepper/fake_stepper_controller.c @@ -124,7 +124,7 @@ static int fake_stepper_init(const struct device *dev) return 0; } -static const struct stepper_driver_api fake_stepper_driver_api = { +static DEVICE_API(stepper, fake_stepper_driver_api) = { .enable = fake_stepper_enable, .move = fake_stepper_move, .is_moving = fake_stepper_is_moving, diff --git a/drivers/stepper/gpio_stepper_controller.c b/drivers/stepper/gpio_stepper_controller.c index cbeeaef2cd456..3d9604a6df9e4 100644 --- a/drivers/stepper/gpio_stepper_controller.c +++ b/drivers/stepper/gpio_stepper_controller.c @@ -352,7 +352,7 @@ static int gpio_stepper_init(const struct device *dev) return 0; } -static const struct stepper_driver_api gpio_stepper_api = { +static DEVICE_API(stepper, gpio_stepper_api) = { .enable = gpio_stepper_enable, .move = gpio_stepper_move, .is_moving = gpio_stepper_is_moving, From 906dd6f49e2beee9f306650d2aaefa8a526cb03e Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:38:02 +0100 Subject: [PATCH 07/11] drivers: sip_svc: Place API into iterable section Add wrapper DEVICE_API macro to all svc_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/sip_svc/sip_smc_intel_socfpga.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/sip_svc/sip_smc_intel_socfpga.c b/drivers/sip_svc/sip_smc_intel_socfpga.c index 09d351798e312..f04694f528301 100644 --- a/drivers/sip_svc/sip_smc_intel_socfpga.c +++ b/drivers/sip_svc/sip_smc_intel_socfpga.c @@ -211,7 +211,7 @@ static int arm_sip_smc_init(const struct device *dev) return 0; } -static const struct svc_driver_api api = { +static DEVICE_API(svc, api) = { .sip_supervisory_call = intel_sip_secure_monitor_call, .sip_svc_plat_get_trans_idx = intel_sip_smc_plat_get_trans_idx, .sip_svc_plat_format_trans_id = intel_sip_smc_plat_format_trans_id, From 2f4f781d27a742edc8cff925609f1531c886350c Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:39:25 +0100 Subject: [PATCH 08/11] drivers: syscon: Place API into iterable section Add wrapper DEVICE_API macro to all syscon_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/syscon/syscon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/syscon/syscon.c b/drivers/syscon/syscon.c index 2b880f9f5744e..b2e621a9516fe 100644 --- a/drivers/syscon/syscon.c +++ b/drivers/syscon/syscon.c @@ -121,7 +121,7 @@ static int syscon_generic_get_size(const struct device *dev, size_t *size) return 0; } -static const struct syscon_driver_api syscon_generic_driver_api = { +static DEVICE_API(syscon, syscon_generic_driver_api) = { .read = syscon_generic_read_reg, .write = syscon_generic_write_reg, .get_base = syscon_generic_get_base, From 682b7f89d702ef4973096514fe062ce2a96d08e0 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:41:14 +0100 Subject: [PATCH 09/11] drivers: tee: Place API into iterable section Add wrapper DEVICE_API macro to all tee_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/tee/optee/optee.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tee/optee/optee.c b/drivers/tee/optee/optee.c index 1b1a3fb8d9207..eb8998d7ce0e7 100644 --- a/drivers/tee/optee/optee.c +++ b/drivers/tee/optee/optee.c @@ -1259,7 +1259,7 @@ static int optee_init(const struct device *dev) return 0; } -static const struct tee_driver_api optee_driver_api = { +static DEVICE_API(tee, optee_driver_api) = { .get_version = optee_get_version, .open_session = optee_open_session, .close_session = optee_close_session, From 630789676af156a1b3480e33516921a70e2839ef Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:42:32 +0100 Subject: [PATCH 10/11] drivers: timeaware_gpio: Place API into iterable section Add wrapper DEVICE_API macro to all tgpio_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/misc/timeaware_gpio/timeaware_gpio_intel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/timeaware_gpio/timeaware_gpio_intel.c b/drivers/misc/timeaware_gpio/timeaware_gpio_intel.c index ae0e519a4378b..81f9b415778eb 100644 --- a/drivers/misc/timeaware_gpio/timeaware_gpio_intel.c +++ b/drivers/misc/timeaware_gpio/timeaware_gpio_intel.c @@ -188,7 +188,7 @@ static int tgpio_intel_read_ts_ec(const struct device *dev, return 0; } -static const struct tgpio_driver_api api_funcs = { +static DEVICE_API(tgpio, api_funcs) = { .pin_disable = tgpio_intel_pin_disable, .get_time = tgpio_intel_get_time, .set_perout = tgpio_intel_periodic_output, From c8425e280e2a5abf64633e652fe69e7d67efa597 Mon Sep 17 00:00:00 2001 From: Pieter De Gendt Date: Thu, 28 Nov 2024 19:44:03 +0100 Subject: [PATCH 11/11] drivers: interrupt_controller: Place API into iterable section Add wrapper DEVICE_API macro to all vtd_driver_api instances. Signed-off-by: Pieter De Gendt --- drivers/interrupt_controller/intc_intel_vtd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/interrupt_controller/intc_intel_vtd.c b/drivers/interrupt_controller/intc_intel_vtd.c index fe2431d8a17cb..c041031b402ee 100644 --- a/drivers/interrupt_controller/intc_intel_vtd.c +++ b/drivers/interrupt_controller/intc_intel_vtd.c @@ -523,7 +523,7 @@ static int vtd_ictl_init(const struct device *dev) return ret; } -static const struct vtd_driver_api vtd_api = { +static DEVICE_API(vtd, vtd_api) = { .allocate_entries = vtd_ictl_allocate_entries, .remap_msi = vtd_ictl_remap_msi, .remap = vtd_ictl_remap,