iio_dmaengin...er_setup_ext(9)
π NAME π
iio_dmaengine_buffer_setup_ext β literally the glow-up moment where you set up a DMA buffer for an IIO device β¨
(also hiiii, this is from the Kernel API Manual, welcome to the group chat π )
πΈ SYNOPSIS πΈ
struct iio_buffer * iio_dmaengine_buffer_setup_ext (struct device *dev ,
struct iio_dev *indio_dev , const char *channel , enum
iio_buffer_direction dir );
π¦ ARGUMENTS π¦
devβ the DMA channel consumer device, aka the main character doing the consuming π«Άindio_devβ the IIO device you're attaching this buffer to, bestie gets a whole buffer, obsessed πchannelβ the DMA channel name, and like, typically it's"rx"(iykyk) πdirβ the direction of the buffer, either in or out, pick your vibe π
π₯ DESCRIPTION π₯
Okay so here's the tea β β this function allocates a brand-new IIO buffer using devm_iio_dmaengine_buffer_alloc and then attaches it to an IIO device with iio_device_attach_buffer. Two steps, both iconic, no cap π
It also appends the INDIO_BUFFER_HARDWARE mode to the supported modes of the IIO device, because your device deserves to have options, periodt π
Once you're done using the buffer, iio_dmaengine_buffer_teardown should be used to release it β like, actually do this, don't just ghost the buffer π
β SEE ALSO β
- Kernel file
./drivers/iio/buffer/industrialio-buffer-dmaengine.cβ go read it, it's giving source code realness π iio_dmaengine_buffer_alloc(9)iio_dmaengine_buffer_free(9)iio_dmaengine_buffer_teardown(9)devm_iio_dmaengine_buffer_setup_ext(9)devm_iio_dmaengine_buffer_setup_with_handle(9)
k bye bestie, this page came from ./drivers/iio/buffer, dated October 2026, and I have to return to iio_dmaengin...er_setup_ext(9) now β slay your DMA setup for me πβ¨π§
π¦ 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