Skip to content

Commit c4e840a

Browse files
dpw13kartben
authored andcommitted
drivers: spi: Call correct SPI device definition macros
If CONFIG_SPI_STATS is enabled, the device state for all SPI controller drivers must contain the SPI stats. This space is allocated by calling Z_SPI_INIT_FN as part of the device definition; this is done automatically when using SPI_DEVICE_DT_DEFINE instead of DEVICE_DT_DEFINE. If space for statistics is not properly allocated but CONFIG_SPI_STATS is enabled, an unexpected write to memory outside of the stats region may occur on a SPI transfer. This commit uses SPI_DEVICE_DT_DEFINE or SPI_DEVICE_DT_INST_DEFINE for all in-tree SPI controller drivers. Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
1 parent ede042f commit c4e840a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+143
-143
lines changed

drivers/spi/spi_ambiq_bleif.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,8 @@ static int spi_ambiq_init(const struct device *dev)
213213
.size = DT_INST_REG_SIZE(n), \
214214
.pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
215215
.pwr_func = pwr_on_ambiq_spi_##n}; \
216-
DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, NULL, &spi_ambiq_data##n, &spi_ambiq_config##n, \
217-
POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, &spi_ambiq_driver_api);
216+
SPI_DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, NULL, &spi_ambiq_data##n, \
217+
&spi_ambiq_config##n, POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, \
218+
&spi_ambiq_driver_api);
218219

219220
DT_INST_FOREACH_STATUS_OKAY(AMBIQ_SPI_BLEIF_INIT)

drivers/spi/spi_ambiq_spic.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -517,8 +517,8 @@ static int spi_ambiq_pm_action(const struct device *dev, enum pm_device_action a
517517
.irq_config_func = spi_irq_config_func_##n, \
518518
.pwr_func = pwr_on_ambiq_spi_##n}; \
519519
PM_DEVICE_DT_INST_DEFINE(n, spi_ambiq_pm_action); \
520-
DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, PM_DEVICE_DT_INST_GET(n), &spi_ambiq_data##n, \
521-
&spi_ambiq_config##n, POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, \
522-
&spi_ambiq_driver_api);
520+
SPI_DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, PM_DEVICE_DT_INST_GET(n), &spi_ambiq_data##n, \
521+
&spi_ambiq_config##n, POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, \
522+
&spi_ambiq_driver_api);
523523

524524
DT_INST_FOREACH_STATUS_OKAY(AMBIQ_SPI_INIT)

drivers/spi/spi_ambiq_spid.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,8 @@ static int spi_ambiq_pm_action(const struct device *dev, enum pm_device_action a
423423
.irq_config_func = spi_irq_config_func_##n, \
424424
.pwr_func = pwr_on_ambiq_spi_##n}; \
425425
PM_DEVICE_DT_INST_DEFINE(n, spi_ambiq_pm_action); \
426-
DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, PM_DEVICE_DT_INST_GET(n), &spi_ambiq_data##n, \
427-
&spi_ambiq_config##n, POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, \
428-
&spi_ambiq_driver_api);
426+
SPI_DEVICE_DT_INST_DEFINE(n, spi_ambiq_init, PM_DEVICE_DT_INST_GET(n), &spi_ambiq_data##n, \
427+
&spi_ambiq_config##n, POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, \
428+
&spi_ambiq_driver_api);
429429

430430
DT_INST_FOREACH_STATUS_OKAY(AMBIQ_SPID_INIT)

drivers/spi/spi_andes_atcspi200.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,7 @@ static void spi_atcspi200_irq_handler(void *arg)
957957
.xip = SPI_ROM_CFG_XIP(DT_DRV_INST(n)), \
958958
}; \
959959
\
960-
DEVICE_DT_INST_DEFINE(n, \
960+
SPI_DEVICE_DT_INST_DEFINE(n, \
961961
spi_atcspi200_init, \
962962
NULL, \
963963
&spi_atcspi200_dev_data_##n, \

drivers/spi/spi_b91.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ static DEVICE_API(spi, spi_b91_api) = {
483483
.pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(inst), \
484484
}; \
485485
\
486-
DEVICE_DT_INST_DEFINE(inst, spi_b91_init, \
486+
SPI_DEVICE_DT_INST_DEFINE(inst, spi_b91_init, \
487487
NULL, \
488488
&spi_b91_data_##inst, \
489489
&spi_b91_cfg_##inst, \

drivers/spi/spi_b_renesas_ra8.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -766,8 +766,8 @@ static void ra_spi_eri_isr(const struct device *dev)
766766
return 0; \
767767
} \
768768
\
769-
DEVICE_DT_INST_DEFINE(index, spi_b_ra_init##index, PM_DEVICE_DT_INST_GET(index), \
770-
&ra_spi_data_##index, &ra_spi_config_##index, POST_KERNEL, \
771-
CONFIG_SPI_INIT_PRIORITY, &ra_spi_driver_api);
769+
SPI_DEVICE_DT_INST_DEFINE(index, spi_b_ra_init##index, PM_DEVICE_DT_INST_GET(index), \
770+
&ra_spi_data_##index, &ra_spi_config_##index, POST_KERNEL, \
771+
CONFIG_SPI_INIT_PRIORITY, &ra_spi_driver_api);
772772

773773
DT_INST_FOREACH_STATUS_OKAY(RA_SPI_INIT)

drivers/spi/spi_bitbang.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ int spi_bitbang_init(const struct device *dev)
325325
SPI_CONTEXT_CS_GPIOS_INITIALIZE(DT_DRV_INST(inst), ctx) \
326326
}; \
327327
\
328-
DEVICE_DT_INST_DEFINE(inst, \
328+
SPI_DEVICE_DT_INST_DEFINE(inst, \
329329
spi_bitbang_init, \
330330
NULL, \
331331
&spi_bitbang_data_##inst, \

drivers/spi/spi_cc13xx_cc26xx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ static DEVICE_API(spi, spi_cc13xx_cc26xx_driver_api) = {
291291
#define SPI_CC13XX_CC26XX_DEVICE_INIT(n) \
292292
PM_DEVICE_DT_INST_DEFINE(n, spi_cc13xx_cc26xx_pm_action); \
293293
\
294-
DEVICE_DT_INST_DEFINE(n, \
294+
SPI_DEVICE_DT_INST_DEFINE(n, \
295295
spi_cc13xx_cc26xx_init_##n, \
296296
PM_DEVICE_DT_INST_GET(n), \
297297
&spi_cc13xx_cc26xx_data_##n, &spi_cc13xx_cc26xx_config_##n, \

drivers/spi/spi_dw.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,7 @@ COND_CODE_1(IS_EQ(DT_NUM_IRQS(DT_DRV_INST(inst)), 1), \
660660
.clear_bit_func = reg_clear_bit, \
661661
.test_bit_func = reg_test_bit,)) \
662662
}; \
663-
DEVICE_DT_INST_DEFINE(inst, \
663+
SPI_DEVICE_DT_INST_DEFINE(inst, \
664664
spi_dw_init, \
665665
NULL, \
666666
&spi_dw_data_##inst, \

drivers/spi/spi_emul.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ static DEVICE_API(spi, spi_emul_api) = {
151151
.num_children = ARRAY_SIZE(emuls_##n), \
152152
}; \
153153
static struct spi_emul_data spi_emul_data_##n; \
154-
DEVICE_DT_INST_DEFINE(n, spi_emul_init, NULL, &spi_emul_data_##n, &spi_emul_cfg_##n, \
155-
POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, &spi_emul_api);
154+
SPI_DEVICE_DT_INST_DEFINE(n, spi_emul_init, NULL, &spi_emul_data_##n, &spi_emul_cfg_##n, \
155+
POST_KERNEL, CONFIG_SPI_INIT_PRIORITY, &spi_emul_api);
156156

157157
DT_INST_FOREACH_STATUS_OKAY(SPI_EMUL_INIT)

0 commit comments

Comments
 (0)