STRUCT V4L2_ASYNC_MATCH_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct v4l2_async_match_desc β€” the async connection match info page

okay so this is a page from the Kernel API Manual, bestie, and it's all about struct v4l2_async_match_desc β€” literally the little info packet that says "hey, this is how you'll know it's me" when async connections are getting matched up. iykyk πŸ¦‹


✨ NAME ✨

struct v4l2_async_match_desc β€” async connection match information πŸŽ€

like, the matchmaking profile for async devices. no cap.


🌸 SYNOPSIS 🌸

struct v4l2_async_match_desc {
    enum v4l2_async_match_type type;
    union {
      struct fwnode_handle *fwnode;
      struct {
        int adapter_id;
        unsigned short address;
      } i2c;
    };
 };

it's giving "small struct, big responsibilities" honestly πŸ‘‘


πŸ’– Members πŸ’–

  • type β€” the type of match that will be used. this is the main character field fr, it decides which of the union members actually means something πŸ’«
  • {unnamed_union} β€” anonymous. yep, she's unnamed, she's mysterious, she just is πŸ™ˆ
  • fwnode β€” a pointer to struct fwnode_handle to be matched. used if match_type is V4L2_ASYNC_MATCH_TYPE_FWNODE. so if you're doing the fwnode thing, this is your girl 🧚
  • i2c β€” an embedded struct with the I2C parameters to be matched. both match.i2c.adapter_id and match.i2c.address should be matched. used if match_type is V4L2_ASYNC_MATCH_TYPE_I2C. both of them, bestie, not just one, it's a package deal πŸ’œ
  • i2c.adapter_id β€” the I2C adapter ID to be matched. used if match_type is V4L2_ASYNC_MATCH_TYPE_I2C. πŸ“
  • i2c.address β€” the I2C address to be matched. used if match_type is V4L2_ASYNC_MATCH_TYPE_I2C. ⭐
lowkey the pattern here is: type picks the lane, and then only the matching member matters. check type first, always, or you're just guessing πŸ”₯

πŸ¦‹ SEE ALSO πŸ¦‹

all the sibling pages, and yes there are so many, we love a big family 🌈 β€” they all live in the kernel file ./include/media/v4l2-async.h:


and that's the whole vibe check, bestie, you ate that πŸ’…βœ¨

sign-off time πŸŽ€ β€” this page comes from ./include/media and is dated October 2026 (the year is NOT a typo, don't come for me 😭), and the page itself is struct v4l2_...c_match_desc(9). mwah, go read the source, ily πŸ«ΆπŸ’œ

πŸ“¦ where this page comes from