v4l2_fwnode_parse_link(9)
π v4l2_fwnode_parse_link(9) β like, the Kernel API Manual, bestie β¨
okay so picture this: you're deep in the kernel, you're in the Kernel API Manual, and you need to actually understand v4l2_fwnode_parse_link. Don't panic π«Ά β it's honestly not that deep, and I'm gonna walk you through it like we're texting at 2am.
β¨ NAME β¨
v4l2_fwnode_parse_link β it parses a link between two endpoints. that's it, that's the whole vibe πΈ
π SYNOPSIS π
int v4l2_fwnode_parse_link (struct fwnode_handle *fwnode , struct
v4l2_fwnode_link *link );
π¦ ARGUMENTS π¦
fwnodeβ pointer to the endpoint's fwnode at the local end of the link. yes, local β this is your side of the conversation π¬linkβ pointer to theV4L2fwnode link data structure. this is the little container that's about to get filled up, main character energy fr π₯
π DESCRIPTION π
So what does it actually do? It fills the link structure with the local and remote nodes and port numbers. Boom, done, slay β¨
The local_node and remote_node fields get set to point to the local and remote port's parent nodes respectively π β and here's the fine print, so listen up:
the port parent node is the parent node of the port node if that node isn't a 'ports' node, or the grand-parent node of the port node otherwise.
iykyk π
Also, lowkey important: a reference is taken to both the local and remote nodes, so the caller must use v4l2_fwnode_put_link to drop the references when done with the link. not optional, bestie β clean up after yourself π§Ήπ
β RETURN β
0on success π-ENOLINKif the remote endpoint fwnode can't be found π (it's giving "where is she")
πΈ SEE ALSO πΈ
okay this list is long but every single one of these is iconic in her own way, no skipping π
- Kernel file
./include/media/v4l2-fwnode.hβ go read the source, it's literally right there π struct v4l2_fwnode_endpoint(9)V4L2_FWNODE_PROPERTY_UNSET(9)enum v4l2_fwnode_orientation(9)struct v4l2_fwnode_device_properties(9)struct v4l2_fwnode_link(9)enum v4l2_connector_type(9)struct v4l2_connector_link(9)struct v4l2_fwnode_connector_analog(9)struct v4l2_fwnode_connector(9)enum v4l2_fwnode_bus_type(9)v4l2_fwnode_endpoint_parse(9)v4l2_fwnode_endpoint_free(9)v4l2_fwnode_endpoint_alloc_parse(9)v4l2_fwnode_put_link(9)v4l2_fwnode_connector_free(9)v4l2_fwnode_connector_parse(9)v4l2_fwnode_connector_add_link(9)v4l2_fwnode_device_parse(9)
and that's the page!! π this lil beauty lives in ./include/media, dated October 2026, and it's brought to you by the one and only v4l2_fwnode_parse_link(9) π¦π stay hydrated, drop your references with v4l2_fwnode_put_link, and go be the main character of your own fwnode graph β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms