iio_backend_ext_info_get(9)
π iio_backend_ext_info_get β a Kernel API Manual moment (section 9, bestie)
okay so this is the iio_backend_ext_info_get(9) page, straight out of the Kernel API Manual, and honestly? it's giving "small helper, big responsibilities." let's get into it π
β¨ NAME β¨
iio_backend_ext_info_get β the IIO ext_info read callback. yes that's the whole name. she's concise. we respect it. π
β¨ SYNOPSIS β¨
ssize_t iio_backend_ext_info_get (struct iio_dev *indio_dev , uintptr_t
private , const struct iio_chan_spec *chan , char *buf );
that's the whole signature, no cap. four args, one ssize_t return, and a whole lot of purpose π¦
β¨ ARGUMENTS β¨
indio_devβ the IIO device themselves. main character energy, obviously πprivateβ data that's private to the driver. secrets. we love that for them πchanβ the IIO channel. the vibe check happens here β¨bufβ the buffer where we place the attribute data. put it there. gently π
β¨ DESCRIPTION β¨
okay so here's the tea β β this helper is intended to be used by backends that extend an IIO channel with extended info, and the way they do that is through iio_backend_extend_chan_spec.
and here's the part where it gets a little spicy π₯: in that case, backends are not supposed to give their own callbacks β because (and this is the important bit) they would not have a way to get the backend from indio_dev. like, the pointer just isn't there, bestie. it's not a skill issue, it's a design issue. π
so instead of backends doing their own thing, this helper is the getter. she gets. periodt. π
β¨ RETURN β¨
- number of bytes written to
buf(slay, it tells you how much it wrote) πΈ - negative error number on failure (ngl, if you see a negative number, something went wrong β do not ignore it, i'm literally begging π)
β¨ SEE ALSO β¨
the kernel file, in all her glory:
./drivers/iio/industrialio-backend.c
and now the full friend group, everyone invited to the group chat π«Ά:
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)devm_iio_backend_request_buffer(9)iio_backend_read_raw(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)
bestie reminder: that double-underscore one is __devm_iio_backend_get_from_fwnode_lookup(9) β two underscores, don't @ me, just copy it exactly π
and that's the whole page!! π§ from ./drivers/iio, dated October 2026 β ty for reading my manual page essay, ily, go read the kernel source, mwah ππβ¨
π¦ 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