v4l2_subdev...e_pad_1_to_1(9)
π v4l2_subdev_get_fwnode_pad_1_to_1(9) β¨
okay so bestie, welcome to the Kernel API Manual π β this one's a tiny lil function with a very long name, and honestly? it's giving "one job, does it well" energy. let's get into it π«Ά
πΈ NAME πΈ
v4l2_subdev_get_fwnode_pad_1_to_1 β get the pad number from a subdev fwnode endpoint, assuming a 1:1 port:pad mapping π«
like, port 0 β pad 0, port 1 β pad 1, no cap, that's the whole vibe π
β SYNOPSIS β
int v4l2_subdev_get_fwnode_pad_1_to_1 (struct media_entity *entity ,
struct fwnode_endpoint *endpoint );
that's it. two pointers, one int coming back at ya π₯
π¦ ARGUMENTS π¦
entityβ pointer to the subdev entity π this is the main character of the callendpointβ pointer to a parsed fwnode endpoint π already parsed, thank u very much, none of that raw-string nonsense here
π DESCRIPTION π
so here's the tea β β you can use this function as the .get_fwnode_pad operation for subdevices that map their port numbers and pad indexes 1:1. like, straight down the line, no funky math, no remapping, just vibes π
if the endpoint is owned by the subdevice, the function returns the endpoint port number. that's it. that's the whole function π
Returns the endpoint port number on success β¨ or a negative error code on failure π (check that return value bestie, fr fr).
π₯ SEE ALSO π₯
okay this part is LONG β the kernel really said "here's the entire friend group" π but every single one of these is legit, i promise:
- Kernel file
./include/media/v4l2-subdev.hπ 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_link_validate_default(9)v4l2_subdev_link_validate(9)v4l2_subdev_has_pad_interdep(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 i said. the whole friend group. πβ¨
ngl the name is a mouthful, but the logic is clean β 1:1, no drama, return the port number or a negative error code. periodt π
and that's the page bestie!! π this lil slice of kernel lore lives over in ./include/media, dated October 2026, and it's the v4l2_subdev...e_pad_1_to_1(9) page β mwah, iconic, no notes ππ¦β¨
π¦ 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