media_create_ancillary_link(9)
π media_create_ancillary_link β Kernel API Manual β¨
okay bestie, welcome to the group chat π«Ά you're in the Kernel API Manual and today's main character is media_create_ancillary_link(9) β iykyk π
πΈ NAME πΈ
media_create_ancillary_link β create an ancillary link between two instances of &media_entity π
β¨ SYNOPSIS β¨
struct media_link * media_create_ancillary_link (struct media_entity
*primary , struct media_entity *ancillary );
literally the whole signature, no notes π
π¦ ARGUMENTS π¦
primaryβ pointer to the primarymedia_entityπancillaryβ pointer to the ancillarymedia_entityπ§
π DESCRIPTION π
okay so this one is so cute actually. you're creating an ancillary link between two entities, and what that means is you're saying "hey, these two represent two connected pieces of hardware that form a single logical unit" π
the iconic example: a camera lens controller being linked to the sensor that it is supporting π₯ that's the vibe fr fr.
and the best part? the function sets both MEDIA_LNK_FL_ENABLED and MEDIA_LNK_FL_IMMUTABLE for the new link π it's giving "committed relationship" energy, no takebacks, periodt β¨
π SEE ALSO π
π Kernel file
./include/media/media-entity.h
πΈ the full squad (yes, all of them, i'm not skipping anyone bestie)
enum media_gobj_type(9)struct media_gobj(9)struct media_entity_enum(9)struct media_graph(9)struct media_pipeline(9)struct media_pipeline_pad(9)struct media_pipeline_pad_iter(9)struct media_pipeline_entity_iter(9)struct media_link(9)enum media_pad_signal_type(9)struct media_pad(9)struct media_entity_operations(9)enum media_entity_type(9)struct media_entity(9)media_entity_for_each_pad(9)struct media_interface(9)struct media_intf_devnode(9)media_entity_id(9)media_type(9)media_id(9)media_gobj_gen_id(9)is_media_entity_v4l2_video_device(9)is_media_entity_v4l2_subdev(9)media_entity_enum_init(9)media_entity_enum_cleanup(9)media_entity_enum_zero(9)media_entity_enum_set(9)media_entity_enum_clear(9)media_entity_enum_test(9)media_entity_enum_test_and_set(9)media_entity_enum_empty(9)media_entity_enum_intersects(9)gobj_to_entity(9)gobj_to_pad(9)gobj_to_link(9)gobj_to_intf(9)intf_to_devnode(9)media_gobj_create(9)media_gobj_destroy(9)media_entity_pads_init(9)media_entity_cleanup(9)media_get_pad_index(9)media_create_pad_link(9)media_create_pad_links(9)media_entity_remove_links(9)__media_entity_setup_link(9)media_entity_setup_link(9)media_entity_find_link(9)media_pad_remote_pad_first(9)media_pad_remote_pad_unique(9)media_entity_remote_pad_unique(9)media_entity_remote_source_pad_unique(9)media_pad_is_streaming(9)media_entity_is_streaming(9)media_entity_pipeline(9)media_pad_pipeline(9)media_entity_get_fwnode_pad(9)media_graph_walk_init(9)media_graph_walk_cleanup(9)media_graph_walk_start(9)media_graph_walk_next(9)media_pipeline_start(9)__media_pipeline_start(9)media_pipeline_stop(9)__media_pipeline_stop(9)media_pipeline_for_each_pad(9)media_pipeline_entity_iter_init(9)media_pipeline_entity_iter_cleanup(9)media_pipeline_for_each_entity(9)media_pipeline_alloc_start(9)media_devnode_create(9)media_devnode_remove(9)media_create_intf_link(9)__media_remove_intf_link(9)media_remove_intf_link(9)__media_remove_intf_links(9)media_remove_intf_links(9)media_entity_call(9)__media_entity_next_link(9)for_each_media_entity_data_link(9)
that's the whole page bestie, no crumbs left behind π
okay and before you go β this lil beauty lives in ./include/media, the manual is the Kernel API Manual, and this edition is dated October 2026 π
love that for us. mwah, go link some hardware ππβ¨
π¦ 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