STRUCT RPMSG_DRIVER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

struct rpmsg_driver β€” bestie, this is the rpmsg driver struct, the whole personality of the page. It's from the Kernel API Manual πŸ’–


✨ SYNOPSIS ✨

struct rpmsg_driver {
    struct device_driver drv;
    const struct rpmsg_device_id *id_table;
    int (*probe)(struct rpmsg_device *dev);
    void (*remove)(struct rpmsg_device *dev);
    int (*callback)(struct rpmsg_device *, void *, int, void *, u32);
    int (*flowcontrol)(struct rpmsg_device *, void *, bool);
};

Okay so it's giving "a struct full of function pointers" and honestly? Iconic. Let's go member by member πŸ‘‘


🫢 Members 🫢

  • drv β€” the underlying device driver. Like, the actual driver underneath it all. Main character energy but make it a struct device_driver. πŸ¦‹
  • id_table β€” the rpmsg ids that this driver services. It's literally the "who's in my group chat" list of rpmsg ids πŸ’…
  • probe β€” invoked when a matching rpmsg channel (i.e. device) is found. Yup, it's the "omg we matched" moment πŸ”₯
  • remove β€” invoked when the rpmsg channel is removed. Not me getting emotional over a channel teardown 😭
  • callback β€” invoked when an inbound message is received on the channel. Incoming message? She's ready, she's on it, she's the notification sound fr fr πŸŽ€
  • flowcontrol β€” invoked when remote side flow control request is received. Yes, remote side β€” the flow control request came from over there, and this hook handles it, no cap 🌈

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./include/linux/rpmsg.h
  • struct rpmsg_channel_info(9)
  • struct rpmsg_endpoint(9)
  • module_rpmsg_driver(9)

All of these live in ./include/linux β€” go read them, they're lowkey obsessed with each other 🧚


πŸ’€ real talk though: this struct is defined in ./include/linux/rpmsg.h, so if you're poking around, that's the file. Slay.

Okay bestie that's the whole page!! No skips, no summarising, we ate and left no crumbs πŸ“ This lil tour came to you from the Kernel API Manual, source ./include/linux, dated October 2026 β€” signing off, struct rpmsg_driver(9) forever πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from