Browse Source

spi: all: Add default iodev_submit to drivers without native support

So that all SPI drivers are compatible with RTIO APIs.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
pull/78067/head
Luis Ubieda 11 months ago committed by Mahesh Mahadevan
parent
commit
64a038aca3
  1. 4
      drivers/spi/spi_ambiq.c
  2. 4
      drivers/spi/spi_ambiq_bleif.c
  3. 3
      drivers/spi/spi_andes_atcspi200.c
  4. 1
      drivers/spi/spi_andes_atcspi200.h
  5. 4
      drivers/spi/spi_b91.c
  6. 4
      drivers/spi/spi_bitbang.c
  7. 4
      drivers/spi/spi_cc13xx_cc26xx.c
  8. 4
      drivers/spi/spi_dw.c
  9. 4
      drivers/spi/spi_emul.c
  10. 4
      drivers/spi/spi_esp32_spim.c
  11. 4
      drivers/spi/spi_gd32.c
  12. 4
      drivers/spi/spi_gecko.c
  13. 4
      drivers/spi/spi_grlib_spimctrl.c
  14. 4
      drivers/spi/spi_ifx_cat1.c
  15. 3
      drivers/spi/spi_litex.c
  16. 1
      drivers/spi/spi_litex_common.h
  17. 3
      drivers/spi/spi_litex_litespi.c
  18. 4
      drivers/spi/spi_ll_stm32.c
  19. 4
      drivers/spi/spi_max32.c
  20. 4
      drivers/spi/spi_mchp_mss.c
  21. 4
      drivers/spi/spi_mchp_mss_qspi.c
  22. 4
      drivers/spi/spi_mcux_dspi.c
  23. 4
      drivers/spi/spi_mcux_ecspi.c
  24. 4
      drivers/spi/spi_mcux_flexcomm.c
  25. 4
      drivers/spi/spi_mcux_flexio.c
  26. 4
      drivers/spi/spi_npcx_spip.c
  27. 4
      drivers/spi/spi_nrfx_spi.c
  28. 4
      drivers/spi/spi_nrfx_spim.c
  29. 4
      drivers/spi/spi_nrfx_spis.c
  30. 4
      drivers/spi/spi_numaker.c
  31. 3
      drivers/spi/spi_nxp_s32.c
  32. 1
      drivers/spi/spi_nxp_s32.h
  33. 5
      drivers/spi/spi_oc_simple.c
  34. 4
      drivers/spi/spi_opentitan.c
  35. 4
      drivers/spi/spi_pl022.c
  36. 4
      drivers/spi/spi_psoc6.c
  37. 4
      drivers/spi/spi_pw.c
  38. 4
      drivers/spi/spi_rv32m1_lpspi.c
  39. 4
      drivers/spi/spi_sam0.c
  40. 4
      drivers/spi/spi_sedi.c
  41. 3
      drivers/spi/spi_sifive.c
  42. 1
      drivers/spi/spi_sifive.h
  43. 4
      drivers/spi/spi_smartbond.c
  44. 4
      drivers/spi/spi_test.c
  45. 4
      drivers/spi/spi_xec_qmspi.c
  46. 4
      drivers/spi/spi_xec_qmspi_ldma.c
  47. 4
      drivers/spi/spi_xlnx_axi_quadspi.c
  48. 4
      drivers/spi/spi_xmc4xxx.c

4
drivers/spi/spi_ambiq.c

@ -10,6 +10,7 @@
LOG_MODULE_REGISTER(spi_ambiq); LOG_MODULE_REGISTER(spi_ambiq);
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <zephyr/sys/byteorder.h> #include <zephyr/sys/byteorder.h>
@ -402,6 +403,9 @@ static int spi_ambiq_release(const struct device *dev, const struct spi_config *
static const struct spi_driver_api spi_ambiq_driver_api = { static const struct spi_driver_api spi_ambiq_driver_api = {
.transceive = spi_ambiq_transceive, .transceive = spi_ambiq_transceive,
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_ambiq_release, .release = spi_ambiq_release,
}; };

4
drivers/spi/spi_ambiq_bleif.c

@ -14,6 +14,7 @@
LOG_MODULE_REGISTER(spi_ambiq_bleif); LOG_MODULE_REGISTER(spi_ambiq_bleif);
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <zephyr/sys/byteorder.h> #include <zephyr/sys/byteorder.h>
@ -160,6 +161,9 @@ static int spi_ambiq_release(const struct device *dev, const struct spi_config *
static struct spi_driver_api spi_ambiq_driver_api = { static struct spi_driver_api spi_ambiq_driver_api = {
.transceive = spi_ambiq_transceive, .transceive = spi_ambiq_transceive,
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_ambiq_release, .release = spi_ambiq_release,
}; };

3
drivers/spi/spi_andes_atcspi200.c

@ -743,6 +743,9 @@ static const struct spi_driver_api spi_atcspi200_api = {
.transceive = spi_atcspi200_transceive, .transceive = spi_atcspi200_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_atcspi200_transceive_async, .transceive_async = spi_atcspi200_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_atcspi200_release .release = spi_atcspi200_release
}; };

1
drivers/spi/spi_andes_atcspi200.h

@ -10,6 +10,7 @@ LOG_MODULE_REGISTER(spi_atcspi200);
#include "spi_context.h" #include "spi_context.h"
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#ifdef CONFIG_ANDES_SPI_DMA_MODE #ifdef CONFIG_ANDES_SPI_DMA_MODE
#include <zephyr/drivers/dma.h> #include <zephyr/drivers/dma.h>

4
drivers/spi/spi_b91.c

@ -19,6 +19,7 @@
LOG_MODULE_REGISTER(spi_telink); LOG_MODULE_REGISTER(spi_telink);
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include "spi_context.h" #include "spi_context.h"
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
@ -458,6 +459,9 @@ static const struct spi_driver_api spi_b91_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_b91_transceive_async, .transceive_async = spi_b91_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
}; };
/* SPI driver registration */ /* SPI driver registration */

4
drivers/spi/spi_bitbang.c

@ -12,6 +12,7 @@ LOG_MODULE_REGISTER(spi_bitbang);
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include "spi_context.h" #include "spi_context.h"
struct spi_bitbang_data { struct spi_bitbang_data {
@ -254,6 +255,9 @@ static const struct spi_driver_api spi_bitbang_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_bitbang_transceive_async, .transceive_async = spi_bitbang_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
}; };
int spi_bitbang_init(const struct device *dev) int spi_bitbang_init(const struct device *dev)

4
drivers/spi/spi_cc13xx_cc26xx.c

@ -11,6 +11,7 @@
LOG_MODULE_REGISTER(spi_cc13xx_cc26xx); LOG_MODULE_REGISTER(spi_cc13xx_cc26xx);
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/pm/device.h> #include <zephyr/pm/device.h>
#include <zephyr/pm/policy.h> #include <zephyr/pm/policy.h>
@ -237,6 +238,9 @@ static int spi_cc13xx_cc26xx_pm_action(const struct device *dev,
static const struct spi_driver_api spi_cc13xx_cc26xx_driver_api = { static const struct spi_driver_api spi_cc13xx_cc26xx_driver_api = {
.transceive = spi_cc13xx_cc26xx_transceive, .transceive = spi_cc13xx_cc26xx_transceive,
.release = spi_cc13xx_cc26xx_release, .release = spi_cc13xx_cc26xx_release,
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
}; };
#ifdef CONFIG_PM #ifdef CONFIG_PM

4
drivers/spi/spi_dw.c

@ -31,6 +31,7 @@ LOG_MODULE_REGISTER(spi_dw);
#endif #endif
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/irq.h> #include <zephyr/irq.h>
#include "spi_dw.h" #include "spi_dw.h"
@ -529,6 +530,9 @@ static const struct spi_driver_api dw_spi_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_dw_transceive_async, .transceive_async = spi_dw_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_dw_release, .release = spi_dw_release,
}; };

4
drivers/spi/spi_emul.c

@ -17,6 +17,7 @@ LOG_MODULE_REGISTER(spi_emul_ctlr);
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/emul.h> #include <zephyr/drivers/emul.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/spi_emul.h> #include <zephyr/drivers/spi_emul.h>
/** Working data for the device */ /** Working data for the device */
@ -131,6 +132,9 @@ int spi_emul_register(const struct device *dev, struct spi_emul *emul)
static const struct spi_driver_api spi_emul_api = { static const struct spi_driver_api spi_emul_api = {
.transceive = spi_emul_io, .transceive = spi_emul_io,
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_emul_release, .release = spi_emul_release,
}; };

4
drivers/spi/spi_esp32_spim.c

@ -17,6 +17,7 @@ LOG_MODULE_REGISTER(esp32_spi, CONFIG_SPI_LOG_LEVEL);
#include <soc.h> #include <soc.h>
#include <esp_memory_utils.h> #include <esp_memory_utils.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#if defined(CONFIG_SOC_SERIES_ESP32C2) || defined(CONFIG_SOC_SERIES_ESP32C3) || \ #if defined(CONFIG_SOC_SERIES_ESP32C2) || defined(CONFIG_SOC_SERIES_ESP32C3) || \
defined(CONFIG_SOC_SERIES_ESP32C6) defined(CONFIG_SOC_SERIES_ESP32C6)
#include <zephyr/drivers/interrupt_controller/intc_esp32c3.h> #include <zephyr/drivers/interrupt_controller/intc_esp32c3.h>
@ -497,6 +498,9 @@ static const struct spi_driver_api spi_api = {
.transceive = spi_esp32_transceive, .transceive = spi_esp32_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_esp32_transceive_async, .transceive_async = spi_esp32_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_esp32_release .release = spi_esp32_release
}; };

4
drivers/spi/spi_gd32.c

@ -13,6 +13,7 @@
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/reset.h> #include <zephyr/drivers/reset.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#ifdef CONFIG_SPI_GD32_DMA #ifdef CONFIG_SPI_GD32_DMA
#include <zephyr/drivers/dma.h> #include <zephyr/drivers/dma.h>
#include <zephyr/drivers/dma/dma_gd32.h> #include <zephyr/drivers/dma/dma_gd32.h>
@ -573,6 +574,9 @@ static const struct spi_driver_api spi_gd32_driver_api = {
.transceive = spi_gd32_transceive, .transceive = spi_gd32_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_gd32_transceive_async, .transceive_async = spi_gd32_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_gd32_release .release = spi_gd32_release
}; };

4
drivers/spi/spi_gecko.c

@ -14,6 +14,7 @@ LOG_MODULE_REGISTER(spi_gecko);
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <soc.h> #include <soc.h>
#include "em_cmu.h" #include "em_cmu.h"
@ -386,6 +387,9 @@ static const struct spi_driver_api spi_gecko_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_gecko_transceive_async, .transceive_async = spi_gecko_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_gecko_release, .release = spi_gecko_release,
}; };

4
drivers/spi/spi_grlib_spimctrl.c

@ -7,6 +7,7 @@
#define DT_DRV_COMPAT gaisler_spimctrl #define DT_DRV_COMPAT gaisler_spimctrl
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(spi_spimctrl); LOG_MODULE_REGISTER(spi_spimctrl);
@ -219,6 +220,9 @@ static struct spi_driver_api api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = transceive_async, .transceive_async = transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = release, .release = release,
}; };

4
drivers/spi/spi_ifx_cat1.c

@ -15,6 +15,7 @@ LOG_MODULE_REGISTER(cat1_spi);
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <cyhal_scb_common.h> #include <cyhal_scb_common.h>
@ -290,6 +291,9 @@ static const struct spi_driver_api ifx_cat1_spi_api = {
.transceive = ifx_cat1_spi_transceive_sync, .transceive = ifx_cat1_spi_transceive_sync,
#if defined(CONFIG_SPI_ASYNC) #if defined(CONFIG_SPI_ASYNC)
.transceive_async = ifx_cat1_spi_transceive_async, .transceive_async = ifx_cat1_spi_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = ifx_cat1_spi_release, .release = ifx_cat1_spi_release,
}; };

3
drivers/spi/spi_litex.c

@ -228,6 +228,9 @@ static const struct spi_driver_api spi_litex_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_litex_transceive_async, .transceive_async = spi_litex_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_litex_release, .release = spi_litex_release,
}; };

1
drivers/spi/spi_litex_common.h

@ -6,6 +6,7 @@
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/sys/byteorder.h> #include <zephyr/sys/byteorder.h>
#include <zephyr/sys_clock.h> #include <zephyr/sys_clock.h>

3
drivers/spi/spi_litex_litespi.c

@ -244,6 +244,9 @@ static const struct spi_driver_api spi_litex_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_litex_transceive_async, .transceive_async = spi_litex_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_litex_release, .release = spi_litex_release,
}; };

4
drivers/spi/spi_ll_stm32.c

@ -16,6 +16,7 @@ LOG_MODULE_REGISTER(spi_ll_stm32);
#include <stm32_ll_spi.h> #include <stm32_ll_spi.h>
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/toolchain.h> #include <zephyr/toolchain.h>
#include <zephyr/pm/policy.h> #include <zephyr/pm/policy.h>
@ -1156,6 +1157,9 @@ static const struct spi_driver_api api_funcs = {
.transceive = spi_stm32_transceive, .transceive = spi_stm32_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_stm32_transceive_async, .transceive_async = spi_stm32_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_stm32_release, .release = spi_stm32_release,
}; };

4
drivers/spi/spi_max32.c

@ -10,6 +10,7 @@
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/clock_control/adi_max32_clock_control.h> #include <zephyr/drivers/clock_control/adi_max32_clock_control.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
#include <zephyr/irq.h> #include <zephyr/irq.h>
@ -513,6 +514,9 @@ static const struct spi_driver_api spi_max32_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = api_transceive_async, .transceive_async = api_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = api_release, .release = api_release,
}; };

4
drivers/spi/spi_mchp_mss.c

@ -8,6 +8,7 @@
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/sys/util.h> #include <zephyr/sys/util.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
@ -447,6 +448,9 @@ static const struct spi_driver_api mss_spi_driver_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = mss_spi_transceive_async, .transceive_async = mss_spi_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = mss_spi_release, .release = mss_spi_release,
}; };

4
drivers/spi/spi_mchp_mss_qspi.c

@ -8,6 +8,7 @@
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/sys/util.h> #include <zephyr/sys/util.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
@ -573,6 +574,9 @@ static const struct spi_driver_api mss_qspi_driver_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = mss_qspi_transceive_async, .transceive_async = mss_qspi_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = mss_qspi_release, .release = mss_qspi_release,
}; };

4
drivers/spi/spi_mcux_dspi.c

@ -9,6 +9,7 @@
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <fsl_dspi.h> #include <fsl_dspi.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
@ -798,6 +799,9 @@ static const struct spi_driver_api spi_mcux_driver_api = {
.transceive = spi_mcux_transceive, .transceive = spi_mcux_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_mcux_transceive_async, .transceive_async = spi_mcux_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_mcux_release, .release = spi_mcux_release,
}; };

4
drivers/spi/spi_mcux_ecspi.c

@ -13,6 +13,7 @@ LOG_MODULE_REGISTER(spi_mcux_ecspi, CONFIG_SPI_LOG_LEVEL);
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <fsl_ecspi.h> #include <fsl_ecspi.h>
#include "spi_context.h" #include "spi_context.h"
@ -305,6 +306,9 @@ static const struct spi_driver_api spi_mcux_driver_api = {
.transceive = spi_mcux_transceive, .transceive = spi_mcux_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_mcux_transceive_async, .transceive_async = spi_mcux_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_mcux_release, .release = spi_mcux_release,
}; };

4
drivers/spi/spi_mcux_flexcomm.c

@ -9,6 +9,7 @@
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <fsl_spi.h> #include <fsl_spi.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
@ -814,6 +815,9 @@ static const struct spi_driver_api spi_mcux_driver_api = {
.transceive = spi_mcux_transceive, .transceive = spi_mcux_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_mcux_transceive_async, .transceive_async = spi_mcux_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_mcux_release, .release = spi_mcux_release,
}; };

4
drivers/spi/spi_mcux_flexio.c

@ -9,6 +9,7 @@
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <fsl_flexio_spi.h> #include <fsl_flexio_spi.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
@ -397,6 +398,9 @@ static const struct spi_driver_api spi_mcux_driver_api = {
.transceive = spi_mcux_transceive, .transceive = spi_mcux_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_mcux_transceive_async, .transceive_async = spi_mcux_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_mcux_release, .release = spi_mcux_release,
}; };

4
drivers/spi/spi_npcx_spip.c

@ -7,6 +7,7 @@
#define DT_DRV_COMPAT nuvoton_npcx_spip #define DT_DRV_COMPAT nuvoton_npcx_spip
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
@ -407,6 +408,9 @@ static struct spi_driver_api spi_npcx_spip_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_npcx_spip_transceive_async, .transceive_async = spi_npcx_spip_transceive_async,
#endif #endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
}; };
#ifdef CONFIG_SPI_NPCX_SPIP_INTERRUPT #ifdef CONFIG_SPI_NPCX_SPIP_INTERRUPT

4
drivers/spi/spi_nrfx_spi.c

@ -5,6 +5,7 @@
*/ */
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/pm/device.h> #include <zephyr/pm/device.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <soc.h> #include <soc.h>
@ -326,6 +327,9 @@ static const struct spi_driver_api spi_nrfx_driver_api = {
.transceive = spi_nrfx_transceive, .transceive = spi_nrfx_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_nrfx_transceive_async, .transceive_async = spi_nrfx_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_nrfx_release, .release = spi_nrfx_release,
}; };

4
drivers/spi/spi_nrfx_spim.c

@ -5,6 +5,7 @@
*/ */
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/cache.h> #include <zephyr/cache.h>
#include <zephyr/pm/device.h> #include <zephyr/pm/device.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
@ -560,6 +561,9 @@ static const struct spi_driver_api spi_nrfx_driver_api = {
.transceive = spi_nrfx_transceive, .transceive = spi_nrfx_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_nrfx_transceive_async, .transceive_async = spi_nrfx_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_nrfx_release, .release = spi_nrfx_release,
}; };

4
drivers/spi/spi_nrfx_spis.c

@ -5,6 +5,7 @@
*/ */
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/gpio.h> #include <zephyr/drivers/gpio.h>
#include <soc.h> #include <soc.h>
@ -267,6 +268,9 @@ static const struct spi_driver_api spi_nrfx_driver_api = {
.transceive = spi_nrfx_transceive, .transceive = spi_nrfx_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_nrfx_transceive_async, .transceive_async = spi_nrfx_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_nrfx_release, .release = spi_nrfx_release,
}; };

4
drivers/spi/spi_numaker.c

@ -12,6 +12,7 @@
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <zephyr/drivers/clock_control/clock_control_numaker.h> #include <zephyr/drivers/clock_control/clock_control_numaker.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(spi_numaker, CONFIG_SPI_LOG_LEVEL); LOG_MODULE_REGISTER(spi_numaker, CONFIG_SPI_LOG_LEVEL);
@ -282,6 +283,9 @@ static int spi_numaker_release(const struct device *dev, const struct spi_config
static const struct spi_driver_api spi_numaker_driver_api = { static const struct spi_driver_api spi_numaker_driver_api = {
.transceive = spi_numaker_transceive, .transceive = spi_numaker_transceive,
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_numaker_release .release = spi_numaker_release
}; };

3
drivers/spi/spi_nxp_s32.c

@ -603,6 +603,9 @@ static const struct spi_driver_api spi_nxp_s32_driver_api = {
.transceive = spi_nxp_s32_transceive, .transceive = spi_nxp_s32_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_nxp_s32_transceive_async, .transceive_async = spi_nxp_s32_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_nxp_s32_release, .release = spi_nxp_s32_release,
}; };

1
drivers/spi/spi_nxp_s32.h

@ -7,6 +7,7 @@
#define ZEPHYR_DRIVERS_SPI_SPI_NXP_S32_H_ #define ZEPHYR_DRIVERS_SPI_SPI_NXP_S32_H_
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
#define LOG_LEVEL CONFIG_SPI_LOG_LEVEL #define LOG_LEVEL CONFIG_SPI_LOG_LEVEL

5
drivers/spi/spi_oc_simple.c

@ -12,6 +12,7 @@ LOG_MODULE_REGISTER(spi_oc_simple);
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include "spi_context.h" #include "spi_context.h"
#include "spi_oc_simple.h" #include "spi_oc_simple.h"
@ -185,6 +186,10 @@ static const struct spi_driver_api spi_oc_simple_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_oc_simple_transceive_async, .transceive_async = spi_oc_simple_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
}; };
int spi_oc_simple_init(const struct device *dev) int spi_oc_simple_init(const struct device *dev)

4
drivers/spi/spi_opentitan.c

@ -11,6 +11,7 @@ LOG_MODULE_REGISTER(spi_opentitan);
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <soc.h> #include <soc.h>
#include <stdbool.h> #include <stdbool.h>
@ -305,6 +306,9 @@ static const struct spi_driver_api spi_opentitan_api = {
.transceive = spi_opentitan_transceive, .transceive = spi_opentitan_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_opentitan_transceive_async, .transceive_async = spi_opentitan_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_opentitan_release, .release = spi_opentitan_release,
}; };

4
drivers/spi/spi_pl022.c

@ -11,6 +11,7 @@
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <zephyr/drivers/reset.h> #include <zephyr/drivers/reset.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/sys/util.h> #include <zephyr/sys/util.h>
#include <zephyr/spinlock.h> #include <zephyr/spinlock.h>
#include <soc.h> #include <soc.h>
@ -892,6 +893,9 @@ static const struct spi_driver_api spi_pl022_api = {
.transceive = spi_pl022_transceive, .transceive = spi_pl022_transceive,
#if defined(CONFIG_SPI_ASYNC) #if defined(CONFIG_SPI_ASYNC)
.transceive_async = spi_pl022_transceive_async, .transceive_async = spi_pl022_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_pl022_release .release = spi_pl022_release
}; };

4
drivers/spi/spi_psoc6.c

@ -15,6 +15,7 @@ LOG_MODULE_REGISTER(spi_psoc6);
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <soc.h> #include <soc.h>
#include "spi_context.h" #include "spi_context.h"
@ -408,6 +409,9 @@ static const struct spi_driver_api spi_psoc6_driver_api = {
.transceive = spi_psoc6_transceive_sync, .transceive = spi_psoc6_transceive_sync,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_psoc6_transceive_async, .transceive_async = spi_psoc6_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_psoc6_release, .release = spi_psoc6_release,
}; };

4
drivers/spi/spi_pw.c

@ -10,6 +10,7 @@
#include <stdbool.h> #include <stdbool.h>
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#if DT_ANY_INST_ON_BUS_STATUS_OKAY(pcie) #if DT_ANY_INST_ON_BUS_STATUS_OKAY(pcie)
BUILD_ASSERT(IS_ENABLED(CONFIG_PCIE), "DT need CONFIG_PCIE"); BUILD_ASSERT(IS_ENABLED(CONFIG_PCIE), "DT need CONFIG_PCIE");
@ -739,6 +740,9 @@ static const struct spi_driver_api pw_spi_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_pw_transceive_async, .transceive_async = spi_pw_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
}; };
static int spi_pw_init(const struct device *dev) static int spi_pw_init(const struct device *dev)

4
drivers/spi/spi_rv32m1_lpspi.c

@ -10,6 +10,7 @@
#include <errno.h> #include <errno.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/clock_control.h> #include <zephyr/drivers/clock_control.h>
#include <fsl_lpspi.h> #include <fsl_lpspi.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
@ -300,6 +301,9 @@ static const struct spi_driver_api spi_mcux_driver_api = {
.transceive = spi_mcux_transceive, .transceive = spi_mcux_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_mcux_transceive_async, .transceive_async = spi_mcux_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_mcux_release, .release = spi_mcux_release,
}; };

4
drivers/spi/spi_sam0.c

@ -13,6 +13,7 @@ LOG_MODULE_REGISTER(spi_sam0);
#include <errno.h> #include <errno.h>
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/dma.h> #include <zephyr/drivers/dma.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <soc.h> #include <soc.h>
@ -694,6 +695,9 @@ static const struct spi_driver_api spi_sam0_driver_api = {
.transceive = spi_sam0_transceive_sync, .transceive = spi_sam0_transceive_sync,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_sam0_transceive_async, .transceive_async = spi_sam0_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_sam0_release, .release = spi_sam0_release,
}; };

4
drivers/spi/spi_sedi.c

@ -8,6 +8,7 @@
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/pm/device.h> #include <zephyr/pm/device.h>
#define LOG_LEVEL CONFIG_SPI_LOG_LEVEL #define LOG_LEVEL CONFIG_SPI_LOG_LEVEL
@ -301,6 +302,9 @@ static const struct spi_driver_api sedi_spi_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_sedi_transceive_async, .transceive_async = spi_sedi_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_sedi_release, .release = spi_sedi_release,
}; };

3
drivers/spi/spi_sifive.c

@ -274,6 +274,9 @@ static int spi_sifive_release(const struct device *dev,
static const struct spi_driver_api spi_sifive_api = { static const struct spi_driver_api spi_sifive_api = {
.transceive = spi_sifive_transceive, .transceive = spi_sifive_transceive,
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = spi_sifive_release, .release = spi_sifive_release,
}; };

1
drivers/spi/spi_sifive.h

@ -12,6 +12,7 @@
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#define SPI_CFG(dev) ((struct spi_sifive_cfg *) ((dev)->config)) #define SPI_CFG(dev) ((struct spi_sifive_cfg *) ((dev)->config))

4
drivers/spi/spi_smartbond.c

@ -15,6 +15,7 @@ LOG_MODULE_REGISTER(spi_smartbond);
#include <zephyr/drivers/gpio.h> #include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/pm/device.h> #include <zephyr/pm/device.h>
#include <zephyr/pm/policy.h> #include <zephyr/pm/policy.h>
#include <zephyr/pm/device_runtime.h> #include <zephyr/pm/device_runtime.h>
@ -1121,6 +1122,9 @@ static const struct spi_driver_api spi_smartbond_driver_api = {
.transceive = spi_smartbond_transceive, .transceive = spi_smartbond_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = spi_smartbond_transceive_async, .transceive_async = spi_smartbond_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_smartbond_release, .release = spi_smartbond_release,
}; };

4
drivers/spi/spi_test.c

@ -11,6 +11,7 @@
#include <zephyr/kernel.h> #include <zephyr/kernel.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#define DT_DRV_COMPAT vnd_spi #define DT_DRV_COMPAT vnd_spi
@ -44,6 +45,9 @@ static const struct spi_driver_api vnd_spi_api = {
.transceive = vnd_spi_transceive, .transceive = vnd_spi_transceive,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = vnd_spi_transceive_async, .transceive_async = vnd_spi_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = vnd_spi_release, .release = vnd_spi_release,
}; };

4
drivers/spi/spi_xec_qmspi.c

@ -13,6 +13,7 @@ LOG_MODULE_REGISTER(spi_xec, CONFIG_SPI_LOG_LEVEL);
#include <errno.h> #include <errno.h>
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <soc.h> #include <soc.h>
@ -660,6 +661,9 @@ static const struct spi_driver_api spi_qmspi_driver_api = {
.transceive = qmspi_transceive_sync, .transceive = qmspi_transceive_sync,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = qmspi_transceive_async, .transceive_async = qmspi_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = qmspi_release, .release = qmspi_release,
}; };

4
drivers/spi/spi_xec_qmspi_ldma.c

@ -16,6 +16,7 @@
#include <zephyr/drivers/interrupt_controller/intc_mchp_xec_ecia.h> #include <zephyr/drivers/interrupt_controller/intc_mchp_xec_ecia.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/dt-bindings/clock/mchp_xec_pcr.h> #include <zephyr/dt-bindings/clock/mchp_xec_pcr.h>
#include <zephyr/dt-bindings/interrupt-controller/mchp-xec-ecia.h> #include <zephyr/dt-bindings/interrupt-controller/mchp-xec-ecia.h>
#include <zephyr/irq.h> #include <zephyr/irq.h>
@ -989,6 +990,9 @@ static const struct spi_driver_api spi_qmspi_xec_driver_api = {
.transceive = qmspi_transceive_sync, .transceive = qmspi_transceive_sync,
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = qmspi_transceive_async, .transceive_async = qmspi_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = qmspi_release, .release = qmspi_release,
}; };

4
drivers/spi/spi_xlnx_axi_quadspi.c

@ -8,6 +8,7 @@
#include <zephyr/device.h> #include <zephyr/device.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <zephyr/sys/sys_io.h> #include <zephyr/sys/sys_io.h>
#include <zephyr/logging/log.h> #include <zephyr/logging/log.h>
#include <zephyr/irq.h> #include <zephyr/irq.h>
@ -589,6 +590,9 @@ static const struct spi_driver_api xlnx_quadspi_driver_api = {
#ifdef CONFIG_SPI_ASYNC #ifdef CONFIG_SPI_ASYNC
.transceive_async = xlnx_quadspi_transceive_async, .transceive_async = xlnx_quadspi_transceive_async,
#endif /* CONFIG_SPI_ASYNC */ #endif /* CONFIG_SPI_ASYNC */
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif
.release = xlnx_quadspi_release, .release = xlnx_quadspi_release,
}; };
#if DT_ANY_INST_HAS_PROP_STATUS_OKAY(xlnx_startup_block) #if DT_ANY_INST_HAS_PROP_STATUS_OKAY(xlnx_startup_block)

4
drivers/spi/spi_xmc4xxx.c

@ -15,6 +15,7 @@ LOG_MODULE_REGISTER(spi_xmc4xxx);
#include <zephyr/drivers/dma.h> #include <zephyr/drivers/dma.h>
#include <zephyr/drivers/pinctrl.h> #include <zephyr/drivers/pinctrl.h>
#include <zephyr/drivers/spi.h> #include <zephyr/drivers/spi.h>
#include <zephyr/drivers/spi/rtio.h>
#include <xmc_spi.h> #include <xmc_spi.h>
#include <xmc_usic.h> #include <xmc_usic.h>
@ -595,6 +596,9 @@ static const struct spi_driver_api spi_xmc4xxx_driver_api = {
.transceive = spi_xmc4xxx_transceive_sync, .transceive = spi_xmc4xxx_transceive_sync,
#if defined(CONFIG_SPI_ASYNC) #if defined(CONFIG_SPI_ASYNC)
.transceive_async = spi_xmc4xxx_transceive_async, .transceive_async = spi_xmc4xxx_transceive_async,
#endif
#ifdef CONFIG_SPI_RTIO
.iodev_submit = spi_rtio_iodev_default_submit,
#endif #endif
.release = spi_xmc4xxx_release, .release = spi_xmc4xxx_release,
}; };

Loading…
Cancel
Save