cdns_transfer_one(9)
๐
cdns_transfer_one โ like, the whole page, bestie
okay so this is a page from the Kernel API Manual (yes, the fancy one, section 9, kernel-space royalty ๐) and it's all about one little function that gets the SPI party started. Let's get into it โจ
๐ธ NAME ๐ธ
cdns_transfer_one โ literally just starts the SPI transfer. That's the whole vibe check. One job, and it ate. ๐
๐ฆ SYNOPSIS ๐ฆ
int cdns_transfer_one (struct spi_controller *ctlr , struct spi_device
*spi , struct spi_transfer *transfer );
copy it exactly please, no cap โ the spacing and the stray line-break are part of the ~aesthetic~ (it's giving old manpage energy ๐).
๐ ARGUMENTS ๐
ctlrโ a pointer to thespi_controllerstructure ๐ฎ like, the controller in question.spiโ a pointer to thespi_devicestructure ๐ฑ the device we're talking to.transferโ a pointer to thespi_transferstructure, which is the one that spills all the tea โ about what the next transfer's parameters are.
โจ DESCRIPTION โจ
bestie, this function has two whole personalities depending on the mode, and both of them slay:
- In host mode โ it fills up the TX FIFO, kicks off the SPI transfer, and then returns a positive transfer count so the core knows to sit there and wait for completion ๐ซถ (like "yes queen, it's coming, hold on").
- In target mode โ it fills the TX FIFO and then justโฆ waits for the transfer trigger ๐ธ patient icon behaviour, honestly.
ngl, the two modes do not do the same thing, so don't get it twisted โ host mode starts the thing and hands back a count; target mode fills the FIFO and waits for the trigger. ๐
๐ฅ RETURN ๐ฅ
Returns the number of bytes transferred in the last transfer โจ that's the number, that's the answer, periodt.
๐ SEE ALSO ๐
omg okay so the whole friend group, all in one place ๐ซถ โ every one of these is in Kernel file ./drivers/spi/spi-cadence.c:
struct cdns_spi(9)cdns_spi_init_hw(9)cdns_spi_chipselect(9)cdns_spi_config_clock_mode(9)cdns_spi_config_clock_freq(9)cdns_spi_setup_transfer(9)cdns_spi_process_fifo(9)cdns_spi_irq(9)cdns_prepare_transfer_hardware(9)cdns_unprepare_transfer_hardware(9)cdns_spi_detect_fifo_depth(9)cdns_target_abort(9)cdns_spi_probe(9)cdns_spi_remove(9)cdns_spi_suspend(9)cdns_spi_resume(9)cdns_spi_runtime_resume(9)cdns_spi_runtime_suspend(9)
like, the entire cadence SPI cinematic universe ๐ iykyk.
โจ that's the whole page, bestie, every last crumb โจ
and for the cute sign-off ๐: this lil masterpiece lives over in ./drivers/spi and it's dated October 2026 โ so future-coded of it honestly. go forth and transfer responsibly ๐๐ฆ
๐ฆ 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