v4l2_subdev_unlock_states(9)
π v4l2_subdev_unlock_states(9) β like, the Kernel API Manual bestie β¨
okay so buckle up π you're reading a page from the Kernel API Manual, and this one's about letting go of locks β but like, two of them at once. main character energy fr fr π¦
β¨ NAME β¨
v4l2_subdev_unlock_states β Unlock two sub-device states ππ
πΈ SYNOPSIS πΈ
void v4l2_subdev_unlock_states (struct v4l2_subdev_state *state1 ,
struct v4l2_subdev_state *state2 );
so it returns void, meaning no little return value to obsess over π β you call it, it does the thing, you move on. iconic.
π ARGUMENTS π
state1β One subdevice state. that's it, that's the one π«Άstate2β The other subdevice state. yes the other one, we love a duo π
π DESCRIPTION π
Unlocks the state of two sub-devices. literally just unlock unlock, done β¨
but here's the tea β and it's the whole reason this function exists: it is not the same as calling v4l2_subdev_unlock_state on both states separately. the way that it differs is that if the states share the same lock, the lock is released only once π imagine unlocking twice and the second one causing chaos β no ma'am, not on this function's watch. so if they're twins sharing one lock, it lets go exactly one time. periodt. π₯
bestie pls don't just double-call v4l2_subdev_unlock_state and think you ate β that's the trap this function is here to save you from π
π¦ SEE ALSO π¦
everything and everyone in the v4l2 cinematic universe, iykyk π β starting with the kernel file and its struct, then the whole extended friend group:
- Kernel file
./include/media/v4l2-subdev.hstruct 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_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_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)
and that's the whole page bestie π«Ά go forth and unlock responsibly π
super cute sign-off time π this page lives out of ./include/media, it's dated October 2026, and it's part of the Kernel API Manual β the same glow-up energy as v4l2_subdev_unlock_states(9), no cap πΈβ¨
π¦ 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