iio_device_claim_direct(9)
π
iio_device_claim_direct β honestly kinda iconic
okay so this is a page from the Kernel API Manual bestie, and it's all about iio_device_claim_direct, which is lowkey the "keep the device in direct mode" girlie. let me walk you through it π
β¨ SYNOPSIS β¨
bool iio_device_claim_direct (struct iio_dev *indio_dev );
that's it. that's the whole vibe. one function, one argument, returns a bool. ate and left no crumbs π«Ά
πΈ ARGUMENTS πΈ
indio_devβ thestruct iio_devthat's associated with the device. yeah she's the main character here, everything runs through her π
π¦ DESCRIPTION π¦
so here's the tea β β if the device is in direct mode, this function guarantees it's gonna stay that way until iio_device_release_direct gets called. no cap. locked in. the mode is not going anywhere until you say so πβ¨
use it together with iio_device_release_direct, bestie β they're a matching set, like best friend necklaces but for kernel code π
β RETURN β
trueon success π (slay)falseon failure π (aw)
literally a vibe check in boolean form.
π SEE ALSO π
okay buckle up buttercup, this list is long and I am obsessed with the completeness of it. every single one, coming right up π
from the kernel file ./include/linux/iio/iio.h:
struct iio_chan_spec_ext_info(9)struct iio_enum(9)IIO_ENUM(9)IIO_ENUM_AVAILABLE(9)struct iio_mount_matrix(9)IIO_MOUNT_MATRIX(9)struct iio_event_spec(9)IIO_SCAN_FORMAT_SIGNED_INT(9)IIO_SCAN_FORMAT_UNSIGNED_INT(9)IIO_SCAN_FORMAT_FLOAT(9)struct iio_scan_type(9)struct iio_chan_spec(9)iio_channel_has_info(9)iio_channel_has_available(9)struct iio_info(9)struct iio_buffer_setup_ops(9)struct iio_dev(9)iio_device_register(9)devm_iio_device_register(9)iio_device_release_direct(9)iio_device_try_claim_buffer_mode(9)iio_device_release_buffer_mode(9)IIO_DEV_ACQUIRE_DIRECT_MODE(9)IIO_DEV_ACQUIRE_FAILED(9)IIO_DEV_GUARD_CURRENT_MODE(9)iio_device_put(9)dev_to_iio_dev(9)iio_device_get(9)iio_device_set_parent(9)iio_device_set_drvdata(9)iio_device_get_drvdata(9)IIO_DECLARE_BUFFER_WITH_TS(9)IIO_DECLARE_DMA_BUFFER_WITH_TS(9)IIO_DECLARE_QUATERNION(9)iio_get_debugfs_dentry(9)iio_device_suspend_triggering(9)iio_device_resume_triggering(9)iio_get_current_scan_type(9)iio_get_masklength(9)iio_for_each_active_channel(9)IIO_DEGREE_TO_RAD(9)IIO_RAD_TO_DEGREE(9)IIO_G_TO_M_S_2(9)IIO_M_S_2_TO_G(9)
like, that's the whole friend group fr fr ππ
this lil beauty lives in the kernel file ./include/linux/iio, and the version date on it is October 2026 β so yes, she's from the future and she's thriving π§ββοΈβ¨ mwah, go read the whole thing, iykyk π
π¦ 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