dma_request_chan(9)
π dma_request_chan(9) β like, the Kernel API Manual one π
okay so bestie, welcome to the group chat where we talk about kernel APIs and I promise it's gonna slay. this one lives in the Kernel API Manual (yes, the whole manual, it's giving official) and it's about grabbing yourself a DMA channel. stay with me β¨
πΈ NAME πΈ
dma_request_chan β the "try to allocate an exclusive slave channel" girlie. she's exclusive, she's slave, and she's gonna try her best. periodt π
β¨ SYNOPSIS β¨
struct dma_chan * dma_request_chan (struct device *dev , const char
*name );
like, this is the whole vibe right here β one function, two args, returns a struct dma_chan *. no cap π«Ά
π ARGUMENTS π
devβ pointer to the client device structure. like, the device that's asking for the channel. it's the main character in this transaction ngl πnameβ the slave channel name. just the name, bestie, aconst char *, that's it π¦
π DESCRIPTION π
so here's the tea: it returns a pointer to the appropriate DMA channel on success, or an error pointer. that's literally it. success? pointer to your channel, slay. failure? error pointer, and you're gonna have to check that with the usual IS_ERR-style energy. no exceptions, no hidden lore, that's the whole deal π₯
ngl the manpage does not say which error codes or anything extra, so don't come for me β this is the entire description and I'm not about to invent lore that isn't there π
π¦ SEE ALSO π¦
okay this list is LONG and honestly iconic, so buckle up and let's go through the whole squad, no skipping, we respect every single one of them π
- Kernel file
./drivers/dma/dmaengine.cβ the source file, go read it iykyk dev_to_dma_chan(9)struct dma_chan_tbl_ent(9)dma_chan_is_local(9)min_chan(9)dma_channel_rebalance(9)balance_ref_count(9)dma_chan_get(9)dma_chan_put(9)dma_find_channel(9)dma_issue_pending_all(9)dma_get_slave_channel(9)__dma_request_channel(9)dma_request_chan_by_mask(9)devm_dma_request_chan(9)dmaengine_get(9)dmaengine_put(9)dma_async_device_register(9)dma_async_device_unregister(9)dmaenginem_async_device_register(9)dma_wait_for_async_tx(9)dma_run_dependencies(9)
like, twenty-two whole references plus the kernel file?? that's a full friend group and every one of them ate πβ
mwah, that's the page! tysm for reading my little kernel lecture, you're literally the best π«Ά
<div>this one's brought to you by ./drivers/dma (the source), version vibes from October 2026 (the date), and of course the star of the show herself, dma_request_chan(9). catch you in the next manpage, bestie πβ¨π</div>
π¦ 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