v4l2_subdev_...pad_interdep(9)
π v4l2_subdev_has_pad_interdep π
okay bestie, welcome to the Kernel API Manual entry for v4l2_subdev_...pad_interdep(9) β yes the title is abridged with dots, that's just how it's printed, no cap. this is the whole vibe, let's go β¨
πΈ NAME πΈ
v4l2_subdev_has_pad_interdep β literally the MC has_pad_interdep implementation for subdevs. that's it, that's the name π
π¦ SYNOPSIS π¦
bool v4l2_subdev_has_pad_interdep (struct media_entity *entity ,
unsigned int pad0 , unsigned int pad1 );
π ARGUMENTS π
entityβ pointer tostruct media_entity. it's giving "here's the entity we're checking", iconic.pad0β pad number for the first pad. the first one. the main character of the two π«Άpad1β pad number for the second pad. the other one. also important.
π DESCRIPTION π
okay so here's the tea π β this function is an implementation of the media_entity_operations.has_pad_interdep operation, specifically for subdevs that implement the multiplexed streams API. and how do you know a subdev is in that club? it's indicated by the V4L2_SUBDEV_FL_STREAMS subdev flag. iykyk π
and what does it actually do? simple, bestie: it considers two pads interdependent if there is an active route between pad0 and pad1. that's the whole vibe check β active route = interdependent, periodt. β¨
π₯ SEE ALSO π₯
start with the kernel file, obviously:
- Kernel file
./include/media/v4l2-subdev.h
then the whole extended friend group π β every single one, in order, because we do not skip anyone:
- struct
v4l2_decode_vbi_line(9) - enum
v4l2_subdev_io_pin_bits(9) - struct
v4l2_subdev_io_pin_config(9) - struct
v4l2_subdev_core_ops(9) - struct
v4l2_subdev_tuner_ops(9) - struct
v4l2_subdev_audio_ops(9) - struct
v4l2_mbus_frame_desc_entry_csi2(9) - enum
v4l2_mbus_frame_desc_flags(9) - struct
v4l2_mbus_frame_desc_entry(9) - enum
v4l2_mbus_frame_desc_type(9) - struct
v4l2_mbus_frame_desc(9) - enum
v4l2_subdev_pre_streamon_flags(9) - struct
v4l2_subdev_video_ops(9) - struct
v4l2_subdev_vbi_ops(9) - struct
v4l2_subdev_sensor_ops(9) - enum
v4l2_subdev_ir_mode(9) - struct
v4l2_subdev_ir_parameters(9) - struct
v4l2_subdev_ir_ops(9) - struct
v4l2_subdev_pad_config(9) - struct
v4l2_subdev_stream_configs(9) - struct
v4l2_subdev_krouting(9) - struct
v4l2_subdev_state(9) - struct
v4l2_subdev_pad_ops(9) - struct
v4l2_subdev_ops(9) - struct
v4l2_subdev_internal_ops(9) - struct
v4l2_subdev_platform_data(9) - struct
v4l2_subdev(9) media_entity_to_v4l2_subdev(9)vdev_to_v4l2_subdev(9)- struct
v4l2_subdev_fh(9) to_v4l2_subdev_fh(9)v4l2_set_subdevdata(9)v4l2_get_subdevdata(9)v4l2_set_subdev_hostdata(9)v4l2_get_subdev_hostdata(9)v4l2_subdev_get_fwnode_pad_1_to_1(9)v4l2_subdev_link_validate_default(9)v4l2_subdev_link_validate(9)__v4l2_subdev_state_alloc(9)__v4l2_subdev_state_free(9)v4l2_subdev_init_finalize(9)v4l2_subdev_cleanup(9)v4l2_subdev_state_get_format(9)v4l2_subdev_state_get_crop(9)v4l2_subdev_state_get_compose(9)v4l2_subdev_state_get_interval(9)v4l2_subdev_get_fmt(9)v4l2_subdev_get_frame_interval(9)v4l2_subdev_set_routing(9)for_each_active_route(9)v4l2_subdev_set_routing_with_fmt(9)v4l2_subdev_routing_find_opposite_end(9)v4l2_subdev_state_get_opposite_stream_format(9)v4l2_subdev_state_xlate_streams(9)- enum
v4l2_subdev_routing_restriction(9) v4l2_subdev_routing_validate(9)v4l2_subdev_enable_streams(9)v4l2_subdev_disable_streams(9)v4l2_subdev_s_stream_helper(9)__v4l2_subdev_get_frame_desc_passthrough(9)v4l2_subdev_get_frame_desc_passthrough(9)v4l2_subdev_lock_state(9)v4l2_subdev_unlock_state(9)v4l2_subdev_lock_states(9)v4l2_subdev_unlock_states(9)v4l2_subdev_get_unlocked_active_state(9)v4l2_subdev_get_locked_active_state(9)v4l2_subdev_lock_and_get_active_state(9)v4l2_subdev_init(9)v4l2_subdev_call(9)v4l2_subdev_call_state_active(9)v4l2_subdev_call_state_try(9)v4l2_subdev_has_op(9)v4l2_subdev_notify_event(9)v4l2_subdev_is_streaming(9)
like, that's a lot of friends but we love them all π
π§ tiny reminder bestie: this one only makes sense for subdevs using the multiplexed streams API, flagged by V4L2_SUBDEV_FL_STREAMS. if your subdev isn't in that club, this function's whole personality doesn't apply. keep that in mind fr fr π
and that's a wrap, babe π this page lives under ./include/media and it's dated October 2026, rocking the v4l2_subdev_...pad_interdep(9) manual name all the way through. slay, go read some v4l2_subdev docs now β¨π
π¦ 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