stm32h7_spi...fer_one_poll(9)
π stm32h7_spi_transfer_one_poll(9) π
okay so bestie, welcome to the Kernel API Manual β we're doing a deep dive on a lil function from the drivers/spi corner of the kernel, and honestly? she's iconic. no interrupts, no drama, just vibes and register pokes. π
β¨ NAME β¨
stm32h7_spi_transfer_one_poll β transfer a single spi_transfer by direct register access without interrupt usage π¦
likeβ¦ she moves the data herself. no IRQ middleman. main character energy fr fr. π
πΈ SYNOPSIS πΈ
int stm32h7_spi_transfer_one_poll (struct stm32_spi *spi );
yes that's the whole signature. short, sweet, slays. π
π«Ά ARGUMENTS π«Ά
spiβ pointer to the spi controller data structure. that's your girl, the whole controller, right there in a struct. keep her safe. π₯Ί
π DESCRIPTION π
okay so listen closely bestie, this is the important part:
It must return 0 if the transfer is finished, or 1 if the transfer is still in progress.
that's it. that's the contract. 0 = done slay, 1 = not yet, keep polling. no cap. β
lowkey the word "must" is doing a lot of heavy lifting there β the caller is out here checking your return value every loop, so don't get creative with it. π
π SEE ALSO π
the whole friend group π β go say hi, they're all in the kernel file ./drivers/spi/spi-stm32.c:
struct stm32_spi_reg(9)struct stm32_spi_regspec(9)struct stm32_spi_cfg(9)struct stm32_spi(9)stm32h7_spi_get_fifo_size(9)stm32f4_spi_get_bpw_mask(9)stm32f7_spi_get_bpw_mask(9)stm32h7_spi_get_bpw_mask(9)stm32mp25_spi_get_bpw_mask(9)stm32_spi_prepare_mbr(9)stm32h7_spi_prepare_fthlv(9)stm32f4_spi_write_tx(9)stm32f7_spi_write_tx(9)stm32h7_spi_write_txfifo(9)stm32f4_spi_read_rx(9)stm32f7_spi_read_rx(9)stm32h7_spi_read_rxfifo(9)stm32_spi_enable(9)stm32fx_spi_disable(9)stm32h7_spi_disable(9)stm32_spi_can_dma(9)stm32fx_spi_irq_event(9)stm32fx_spi_irq_thread(9)stm32h7_spi_irq_thread(9)stm32_spi_prepare_msg(9)stm32fx_spi_dma_tx_cb(9)stm32_spi_dma_rx_cb(9)stm32_spi_dma_config(9)stm32fx_spi_transfer_one_irq(9)stm32h7_spi_transfer_one_irq(9)stm32fx_spi_transfer_one_dma_start(9)stm32f7_spi_transfer_one_dma_start(9)stm32h7_spi_transfer_one_dma_start(9)stm32_spi_prepare_rx_dma_mdma_chaining(9)stm32_spi_transfer_one_dma(9)stm32f4_spi_set_bpw(9)stm32f7_spi_set_bpw(9)stm32h7_spi_set_bpw(9)stm32_spi_set_mbr(9)stm32_spi_communication_type(9)stm32fx_spi_set_mode(9)stm32h7_spi_set_mode(9)stm32h7_spi_data_idleness(9)stm32h7_spi_number_of_data(9)stm32_spi_transfer_one_setup(9)stm32_spi_can_poll(9)stm32_spi_transfer_one(9)stm32_spi_unprepare_msg(9)stm32fx_spi_config(9)stm32h7_spi_config(9)
and that's the whole page, bestie!! π§β¨ iykyk β this little cutie lives in ./drivers/spi, the manual says October 2026, and it's all from the Kernel API Manual. go poll some registers responsibly. mwah. ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms