STRUCT SPI_AVMM_BRIDGE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct spi_avmm_bridge β€” SPI slave to AVMM bus master bridge

okay so picture this: you're in the Kernel API Manual (yes bestie, that's the manual name, we're fancy here), and this little struct is the whole main character. it's the bridge that lets an SPI slave talk to an AVMM bus master. slay.


✨ SYNOPSIS ✨

struct spi_avmm_bridge {
    struct spi_device *spi;
    unsigned char word_len;
    unsigned int trans_len;
    unsigned int phy_len;
    char trans_buf[TRANS_BUF_SIZE];
    char phy_buf[PHY_BUF_SIZE];
    void (*swap_words)(void *buf, unsigned int len);
 };

that's the whole vibe right there 🫢


πŸŽ€ Members πŸŽ€

  • spi β€” the spi slave that's lowkey partnered up with this bridge. they're a thing.
  • word_len β€” how many bytes make up one word for the spi transfer. small but mighty.
  • trans_len β€” the length of the valid data chillin' in trans_buf. like, how much of the buffer is actually real.
  • phy_len β€” same energy, but for phy_buf: the length of the valid data in there.
  • trans_buf β€” the bridge buffer holding the transaction layer data. it's giving "the important stuff" energy.
  • phy_buf β€” the bridge buffer for the physical layer data. also iconic, different layer.
  • swap_words β€” the word swapping callback for the phy data. and heads up πŸ‘€ it's NULL if it's not needed. no callback, no problem.

πŸ¦‹ Description πŸ¦‹

so here's the tea β˜• β€” when a device's registers live out there in AVMM bus address space, the driver can't just waltz in and grab them. nope. it's gotta send formatted requests to the SPI slave to AVMM bus master bridge, and that's how the register access actually happens. the bridge is the middleman and honestly? it ate. πŸ’…


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/base/regmap/regmap-spi-avmm.c β€” go read it, iykyk 😌

and that's the whole page, bestie! this lil gem comes from the fine folks over at ./drivers/base/regmap, dated October 2026, in the Kernel API Manual β€” periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from