v4l2_m2m_put(9)
π v4l2_m2m_put(9) β the Kernel API Manual, bestie edition π
okay so quick vibe check: this is the v4l2_m2m_put(9) page from the Kernel API Manual, and it's literally about letting go of a reference to the m2m_dev structure. lowkey iconic behaviour. π¦
β¨ NAME β¨
v4l2_m2m_put β remove a reference to the m2m_dev structure π«Ά
πΈ SYNOPSIS πΈ
void v4l2_m2m_put (struct v4l2_m2m_dev *m2m_dev );
π ARGUMENTS π
m2m_devβ an opaque pointer to the internal data that handles the M2M context. it's giving "don't ask what's inside, just pass it along" energy π
π DESCRIPTION π
so here's the tea, bestie: once the M2M device has, like, no more references left, v4l2_m2m_release gets called automatically. the kernel handles it. you do not. periodt.
β οΈ real talk β if you're using this method, you should never call v4l2_m2m_release directly. like, don't even think about it. that's not your job, that's the reference counter's job π
want the full lore? check out v4l2_m2m_get for more details. it's basically the other half of this whole situationship β¨
π SEE ALSO π
- Kernel file
./include/media/v4l2-mem2mem.hstruct v4l2_m2m_ops(9) struct v4l2_m2m_queue_ctx(9)struct v4l2_m2m_ctx(9)struct v4l2_m2m_buffer(9)v4l2_m2m_get_curr_priv(9)v4l2_m2m_get_vq(9)v4l2_m2m_try_schedule(9)v4l2_m2m_job_finish(9)v4l2_m2m_buf_done_and_job_finish(9)v4l2_m2m_clear_state(9)v4l2_m2m_mark_stopped(9)v4l2_m2m_dst_buf_is_last(9)v4l2_m2m_has_stopped(9)v4l2_m2m_is_last_draining_src_buf(9)v4l2_m2m_last_buffer_done(9)v4l2_m2m_suspend(9)v4l2_m2m_resume(9)v4l2_m2m_reqbufs(9)v4l2_m2m_querybuf(9)v4l2_m2m_qbuf(9)v4l2_m2m_dqbuf(9)v4l2_m2m_prepare_buf(9)v4l2_m2m_create_bufs(9)v4l2_m2m_expbuf(9)v4l2_m2m_streamon(9)v4l2_m2m_streamoff(9)v4l2_m2m_update_start_streaming_state(9)v4l2_m2m_update_stop_streaming_state(9)v4l2_m2m_encoder_cmd(9)v4l2_m2m_decoder_cmd(9)v4l2_m2m_poll(9)v4l2_m2m_mmap(9)v4l2_m2m_init(9)v4l2_m2m_release(9)v4l2_m2m_get(9)v4l2_m2m_ctx_init(9)v4l2_m2m_ctx_release(9)v4l2_m2m_buf_queue(9)v4l2_m2m_num_src_bufs_ready(9)v4l2_m2m_num_dst_bufs_ready(9)v4l2_m2m_next_buf(9)v4l2_m2m_next_src_buf(9)v4l2_m2m_next_dst_buf(9)v4l2_m2m_last_buf(9)v4l2_m2m_last_src_buf(9)v4l2_m2m_last_dst_buf(9)v4l2_m2m_for_each_dst_buf(9)v4l2_m2m_for_each_src_buf(9)v4l2_m2m_for_each_dst_buf_safe(9)v4l2_m2m_for_each_src_buf_safe(9)v4l2_m2m_get_src_vq(9)v4l2_m2m_get_dst_vq(9)v4l2_m2m_buf_remove(9)v4l2_m2m_src_buf_remove(9)v4l2_m2m_dst_buf_remove(9)v4l2_m2m_buf_remove_by_buf(9)v4l2_m2m_src_buf_remove_by_buf(9)v4l2_m2m_dst_buf_remove_by_buf(9)v4l2_m2m_buf_copy_metadata(9)
and that's the whole page, bestie, you ate that π ngl this one lives in ./include/media and it's dated October 2026, tagged v4l2_m2m_put(9) β so go forth and put responsibly πβ¨
π¦ 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