devm_iio_gt...avail_tables(9)
π devm_iio_gts_build_avail_tables β the Kernel API Manual β¨
okay so bestie, you know that kernel page devm_iio_gt...avail_tables(9)? Yeah. That one. It's the managed-build-availability-tables situation and we're gonna get into it together, no cap π«Ά
πΈ NAME πΈ
devm_iio_gts_build_avail_tables β managed add availability tables π
β¨ SYNOPSIS β¨
int devm_iio_gts_build_avail_tables (struct device *dev , struct iio_gts
*gts );
π ARGUMENTS π
devβ pointer to the device whose lifetime these tables are bound to. like, the tables live and die with this device, periodt. π₯gtsβ the gain time scale descriptor. the main character of this whole operation. π
π DESCRIPTION π
So here's the vibe: this function builds the tables that can represent the available scales and the available integration times. Availability tables get built based on the originally given gain table and the originally given time table. iykyk π§
When both the time table and the gain table are given, this is what you get:
- A set of sorted tables representing available scales for each supported integration time. β¨
- A single sorted table listing all the unique scales that any combination of supported gains and times can provide. π
- A sorted table of supported integration times. β
Once these tables are built, you can go off and use the iio_gts_all_avail_scales, iio_gts_avail_scales_for_time and iio_gts_avail_times helpers to implement the read_avail operations. slay. π
The tables are automatically released upon device detach β this is the devm_ part doing its thing, so you literally don't have to clean up after yourself. obsessed. π
π RETURN π
0 on success. that's it, that's the whole return value. iconic. π
π¦ SEE ALSO π¦
Kernel file ./drivers/iio/industrialio-gts-helper.c β and honestly the whole friend group:
iio_gts_get_gain(9)gain_get_scale_fraction(9)iio_gts_total_gain_to_scale(9)iio_gts_purge_avail_scale_table(9)iio_gts_build_avail_scale_table(9)iio_gts_build_avail_time_table(9)iio_gts_purge_avail_time_table(9)iio_gts_build_avail_tables(9)iio_gts_purge_avail_tables(9)devm_iio_init_iio_gts(9)iio_gts_all_avail_scales(9)iio_gts_avail_scales_for_time(9)iio_gts_avail_times(9)iio_gts_find_sel_by_gain(9)iio_gts_find_gain_by_sel(9)iio_gts_get_min_gain(9)iio_find_closest_gain_low(9)iio_gts_find_gain_for_scale_using_time(9)iio_gts_find_gain_sel_for_scale_using_time(9)iio_gts_find_gain_time_sel_for_scale(9)iio_gts_get_total_gain(9)iio_gts_get_scale(9)iio_gts_find_new_gain_sel_by_old_gain_time(9)iio_gts_find_new_gain_by_old_gain_time(9)iio_gts_find_new_gain_by_gain_time_min(9)
anyway bestie, that's the whole page π it shipped out of ./drivers/iio back in October 2026, and you found it under devm_iio_gt...avail_tables(9) in the Kernel API Manual β drink some water, go build some tables, and remember: the device detaches, the tables release themselves, and you were gorgeous the whole time. 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