devm_fwnode..._get_by_name(9)
π devm_fwnode..._get_by_name(9) β¨
okay so bestie, welcome to the Kernel API Manual π this one lives in ./include/linux/iio and honestly? she's a whole vibe. buckle up π
πΈ NAME πΈ
devm_fwnode_iio_channel_get_by_name β it's literally the resource-managed version of fwnode_iio_channel_get_by_name(), no cap π
β¨ SYNOPSIS β¨
struct iio_channel * devm_fwnode_iio_channel_get_by_name (struct device
*dev , struct fwnode_handle *fwnode , const char *consumer_channel );
that's the whole signature, bestie β three args, one struct iio_channel * coming back at you π¦
π«Ά ARGUMENTS π«Ά
devβ pointer to the consumer device. that's your device, main character energy πfwnodeβ pointer to the consumer Firmware node πconsumer_channelβ a unique name so you can identify the channel on the consumer side. it typically describes how the channel gets used inside the consumer β like, for example,'battery_voltage'π
π DESCRIPTION π
so here's the tea: it returns a pointer to a negative errno if it can't get the iio channel π otherwise it returns a valid pointer for the iio channel. slay π
and the best part? the allocated iio channel is automatically released when the device is unbound β devm really said "i'll handle it, you go be great" β¨
π¦ SEE ALSO π¦
the whole friend group, fr fr β and also the kernel file ./include/linux/iio/consumer.h:
struct iio_channel(9), iio_channel_get(9), iio_channel_release(9), devm_iio_channel_get(9), iio_channel_get_all(9), iio_channel_release_all(9), devm_iio_channel_get_all(9), fwnode_iio_channel_get_by_name(9), iio_channel_get_all_cb(9), iio_channel_cb_set_buffer_watermark(9), iio_channel_release_all_cb(9), iio_channel_start_all_cb(9), iio_channel_stop_all_cb(9), iio_channel_cb_get_channels(9), iio_channel_cb_get_iio_dev(9), iio_read_channel_raw(9), iio_read_channel_average_raw(9), iio_read_channel_processed(9), iio_read_channel_processed_scale(9), iio_write_channel_attribute(9), iio_read_channel_attribute(9), iio_write_channel_raw(9), iio_read_max_channel_raw(9), iio_read_min_channel_raw(9), iio_read_avail_channel_raw(9), iio_read_avail_channel_attribute(9), iio_get_channel_type(9), iio_read_channel_offset(9), iio_read_channel_scale(9), iio_multiply_value(9), iio_convert_raw_to_processed(9), iio_get_channel_ext_info_count(9), iio_read_channel_ext_info(9), iio_write_channel_ext_info(9), iio_read_channel_label(9)
like, that's the entire roster β not me listing all of them π but every single one is here, i would never leave a bestie out π«Ά
ok that's the page!! ily, go read your sensors π
and finally, the cute lil sign-off: this one's filed under ./include/linux/iio, from October 2026, and it's the devm_fwnode..._get_by_name(9) page of the Kernel API Manual πΈ periodt.
π¦ 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