STRUCT HYPERBUS_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ struct hyperbus_ops(9) πŸ‘‘

okay so this is from the Kernel API Manual, and it's literally the page for struct hyperbus_ops β€” the struct that's giving custom HyperBus operations. like, it's a vtable of function pointers and it's lowkey iconic πŸ’…


✨ NAME ✨

struct hyperbus_ops β€” the struct representing custom HyperBus operations πŸ¦‹


🌸 SYNOPSIS 🌸

struct hyperbus_ops {
    u16 (*read16)(struct hyperbus_device *hbdev, unsigned long addr);
    void (*write16)(struct hyperbus_device *hbdev, unsigned long addr, u16 val);
    void (*copy_from)(struct hyperbus_device *hbdev, void *to, unsigned long from, ssize_t len);
    void (*copy_to)(struct hyperbus_device *dev, unsigned long to, const void *from, ssize_t len);
    int (*calibrate)(struct hyperbus_device *dev);
 };

no cap, that's the whole shape of it β€” five function pointers, each one a little main character πŸŽ€


πŸ’– Members πŸ’–

  • read16 β€” reads 16 bits of data from flash in a single burst πŸ”₯ bestie this is the one you use to read from a non default address space, like the ID/CFI space. so when the normal address space isn't it, this is it ✨
  • write16 β€” writes 16 bits of data to flash in a single burst 🌸 used to send a cmd to flash, or to write a single 16 bit word at a time. one little word, one little burst, slay πŸ’…
  • copy_from β€” copies data from flash memory πŸ“₯ like, the flash is the source, you're pulling it out 🫢
  • copy_to β€” copies data to flash memory πŸ“€ opposite vibe, you're pushing it in πŸ’œ
  • calibrate β€” calibrates the HyperBus controller ⭐ it's giving "vibe check but for your controller" and it returns an int 😭

πŸ¦‹ SEE ALSO πŸ¦‹

like, go read those next, iykyk πŸ‘‘


okay that's the whole page, no notes πŸ’€ and for the sign-off cute bit: this lives in the source tree at ./include/linux/mtd and it's dated October 2026 β€” periodt, go forth and burst-read your flash πŸŒˆπŸ’–

πŸ“¦ where this page comes from