STRUCT V4L2_FWNODE_ENDPOINT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct v4l2_fwnode_endpoint(9) β€” the endpoint data structure

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is the struct v4l2_fwnode_endpoint(9) page, and it's literally the glow-up your media pipeline's endpoint needed. it's giving "one struct to describe how your camera actually talks to the world" πŸŽ€


🌸 NAME 🌸

struct v4l2_fwnode_endpoint β€” the endpoint data structure. that's it, that's the vibe πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

struct v4l2_fwnode_endpoint {
    struct fwnode_endpoint base;
    enum v4l2_mbus_type bus_type;
    struct {
      struct v4l2_mbus_config_parallel parallel;
      struct v4l2_mbus_config_mipi_csi1 mipi_csi1;
      struct v4l2_mbus_config_mipi_csi2 mipi_csi2;
    } bus;
    u64 *link_frequencies;
    unsigned int nr_of_link_frequencies;
 };

no cap, that's the whole shape β€” copy it character for character and you're golden 🫢


✨ Members ✨

  • base β€” the fwnode endpoint of the v4l2_fwnode. the origin story, the main character 😌
  • bus_type β€” bus type. which flavour of bus we're on 🚌
  • bus β€” bus configuration data structure. the whole lil container of bus configs 🎁
    • bus.parallel β€” embedded struct v4l2_mbus_config_parallel. used if the bus is parallel. like, the parallel one, obviously πŸ’«
    • bus.mipi_csi1 β€” embedded struct v4l2_mbus_config_mipi_csi1. used if the bus is MIPI Alliance's Camera Serial Interface version 1 (MIPI CSI1) or Standard Mobile Imaging Architecture's Compact Camera Port 2 (SMIA CCP2). vintage icon behaviour πŸ’…
    • bus.mipi_csi2 β€” embedded struct v4l2_mbus_config_mipi_csi2. used if the bus is MIPI Alliance's Camera Serial Interface version 2 (MIPI CSI2). the upgraded era, we love to see it πŸ”₯
  • link_frequencies β€” array of supported link frequencies. all the freqs it can slay at πŸ“Ά
  • nr_of_link_frequencies β€” number of elements in link_frequenccies array. yes, that typo is in the original β€” i did not invent it, i simply did not touch it πŸ™ˆ (count your freqs, bestie, so nobody buffers past the end of the array πŸ’€)
real talk: link_frequencies is a pointer, so it does not come with the struct β€” nothing here allocates or frees it for you, that's on whatever code you're calling. i'm just the messenger 🧚

🌈 SEE ALSO 🌈

go read these, they're all part of the same friend group πŸ‘‘


okay that's the whole page, you ate that πŸ“ mwah πŸ’‹

and for the credits-roll moment: this little masterpiece lives in ./include/media, dated October 2026, and it's filed under struct v4l2_fwnode_endpoint(9) β€” periodt πŸŒŸπŸ’œ

πŸ“¦ where this page comes from