devm_iio_ba...quest_buffer(9)
π devm_iio_backend_request_buffer(9) β like, the actual manual page β¨
okay so bestie, welcome to the Kernel API Manual π this one's short and sweet, no cap.
πΈ NAME πΈ
devm_iio_backend_request_buffer β device managed buffer request. yes that's the whole name, it's giving "long function name energy" and honestly? iconic.
β¨ SYNOPSIS β¨
int devm_iio_backend_request_buffer (struct device *dev , struct iio_backend *back , struct iio_dev *indio_dev );
like, look at her. three args, returns an int, does what it says on the tin π
π«Ά ARGUMENTS π«Ά
devβ the consumer device for the backend. she's the one asking for the buffer, main character of this transaction fr.backβ the backend device. the one giving the buffer. the plug, if you will π₯indio_devβ the IIO device. yeah. that one.
π¦ DESCRIPTION π¦
so what she does is: request an IIO buffer from the backend. that's it. that's the vibe π
the type of buffer β and bestie, it's typically INDIO_BUFFER_HARDWARE β is totally up to the backend to decide. not you. not me. the backend. because normally, the backend is the one who dictates what kind of buffering we can get. she's the expert, let her cook π
and the lil magic trick: the backend .free_buffer hook is automatically called on dev detach β¨ so you don't have to clean up after yourself, the devres machinery handles it. obsessed with her honestly.
β RETURN β
0on success π- negative error number on failure π (yes it's a negative error number, not a pointer, not a bool, a number. we don't guess here.)
π₯ SEE ALSO π₯
the source of truth, the kernel file herself:
Kernel file ./drivers/iio/industrialio-backend.c
and the whole friend group, in order, no one left out π
iio_backend_debugfs_add(9)iio_backend_debugfs_print_chan_status(9)iio_backend_chan_enable(9)iio_backend_chan_disable(9)iio_backend_disable(9)iio_backend_enable(9)devm_iio_backend_enable(9)iio_backend_data_format_set(9)iio_backend_data_source_set(9)iio_backend_data_source_get(9)iio_backend_set_sampling_freq(9)iio_backend_test_pattern_set(9)iio_backend_chan_status(9)iio_backend_iodelay_set(9)iio_backend_data_sample_trigger(9)iio_backend_read_raw(9)iio_backend_ext_info_get(9)iio_backend_ext_info_set(9)iio_backend_interface_type_get(9)iio_backend_data_size_set(9)iio_backend_oversampling_ratio_set(9)iio_backend_extend_chan_spec(9)iio_backend_has_caps(9)iio_backend_filter_type_set(9)iio_backend_interface_data_align(9)iio_backend_num_lanes_set(9)iio_backend_ddr_enable(9)iio_backend_ddr_disable(9)iio_backend_data_stream_enable(9)iio_backend_data_stream_disable(9)iio_backend_data_transfer_addr(9)devm_iio_backend_get(9)devm_iio_backend_get_by_index(9)devm_iio_backend_fwnode_get(9)__devm_iio_backend_get_from_fwnode_lookup(9)iio_backend_get_priv(9)devm_iio_backend_register(9)
anyway that's the page!! mwah π this lil love letter lives at ./drivers/iio, dated October 2026, and yeah β she's still signing herself devm_iio_backend_request_buffer(9) at the bottom like the diva she is πβ¨ go read your errno, drink water, and remember: the backend decides the buffer type, not you π
π¦ 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