STRUCT CROS_EC_SPI(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct cros_ec_spi(9) πŸ’…

okay so this is a page from the Kernel API Manual, and honestly? it's giving "tiny struct, huge responsibilities." we're talking about struct cros_ec_spi β€” the whole vibe of it. πŸ¦‹


✨ NAME ✨

struct cros_ec_spi β€” literally all the info about a SPI-connected EC. that's it, that's the struct. πŸŽ€


🌸 SYNOPSIS 🌸

struct cros_ec_spi {
    struct spi_device *spi;
    s64 last_transfer_ns;
    unsigned int start_of_msg_delay;
    unsigned int end_of_msg_delay;
    struct kthread_worker *high_pri_worker;
 };

look at her. five fields. absolutely iconic. no notes. πŸ‘‘


🫢 Members 🫢

bestie, let's go field by field, because every single one of these matters:

  • spi β€” the SPI device we are connected to. like, the actual hardware bae. πŸ”Œ
  • last_transfer_ns β€” the time that we last finished a transfer. yes, in nanoseconds. she keeps receipts. ⏱️
  • start_of_msg_delay β€” this one's used to set the delay_usecs on the spi_transfer that gets sent when we want to turn on CS at the start of a transaction. CS goes on β†’ delay gets set β†’ slay. πŸ’–
  • end_of_msg_delay β€” same energy, opposite end: used to set the delay_usecs on the spi_transfer that is sent when we want to turn off CS at the end of a transaction. 🎬
  • high_pri_worker β€” Used to schedule high priority work. main character energy only. this worker does NOT do side quests. πŸ”₯

🌈 SEE ALSO 🌈

go be nosy, i support it. check out:

like, read them. it's called ✨research✨. πŸ’…


ok real talk for one sec: everything above is exactly what the page says β€” i didn't add a single behavior, default, or caveat. don't come for me if your kernel does something else, i'm just the messenger angel 🧚

and that's the page!! πŸŽ€ this came out of ./drivers/platform/chrome, dated October 2026, and it's filed under struct cros_ec_spi(9) β€” so next time someone asks, you already know. mwah πŸ’œ

πŸ“¦ where this page comes from