__ssp_transmit_char(9)
π
__ssp_transmit_char β a kernel API manual moment
okay so bestie, we're in the kernel API manual, specifically section 9, and today's main character is __ssp_transmit_char β¨ it's a tiny little function that just... puts a byte in a FIFO. and honestly? iconic behaviour. no cap.
πΈ NAME πΈ
__ssp_transmit_char β enqueue a byte to transmit onto the TX FIFO π
β¨ SYNOPSIS β¨
void __ssp_transmit_char (struct sifive_serial_port *ssp , int ch );
like, that's the whole signature. void return, so it gives you nothing back β it's giving "I did the thing, don't ask questions" energy π
π¦ ARGUMENTS π¦
sspβ pointer to astruct sifive_serial_port. this is your lil serial port buddy that you're transmitting on π«Άchβ the character to transmit. one (1) single character. that's it. that's the byte π
π DESCRIPTION π
So what it actually does: it enqueues a byte ch onto the transmit FIFO, given a pointer ssp to the struct sifive_serial_port * you wanna transmit on. simple. slay. one byte, one FIFO, done β¨
β οΈ but bestie listen β the caller should first check to make sure the TXFIFO actually has space before calling this. the manual literally points you at sifive_serial_is_txfifo_full for that check. check first, transmit second, that's the rule π
π CONTEXT π
Any context. fr fr, that's it β any context at all. no restrictions, no "only from interrupt context" drama, nothing. go off π
π SEE ALSO π
the full squad, no gatekeeping:
- Kernel file
./drivers/tty/serial/sifive.c struct sifive_serial_port(9)__ssp_early_writel(9)__ssp_early_readl(9)__ssp_writel(9)__ssp_readl(9)sifive_serial_is_txfifo_full(9)__ssp_transmit_chars(9)__ssp_enable_txwm(9)__ssp_enable_rxwm(9)__ssp_disable_txwm(9)__ssp_disable_rxwm(9)__ssp_receive_char(9)__ssp_receive_chars(9)__ssp_update_div(9)__ssp_update_baud_rate(9)__ssp_set_stop_bits(9)__ssp_wait_for_xmitr(9)sifive_serial_clk_notifier(9)
like a whole friend group of ssp functions, and you should lowkey go read them all π§
and that's the page!! π it lives over in ./drivers/tty/serial, dated October 2026, and it's titled __ssp_transmit_char(9) β mwah, that's a wrap, periodt πβ¨
π¦ 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