request_firmware_into_buf(9)
π request_firmware_into_buf(9) π
okay so bestie, welcome to the kernel API manual, this one's a function page and it's honestly kind of a slay π«Ά β it's called request_firmware_into_buf and it does exactly one thing but it does it, like, really well.
β¨ NAME β¨
request_firmware_into_buf β load firmware into a previously allocated buffer π
π SYNOPSIS π
int request_firmware_into_buf (const struct firmware **firmware_p ,
const char *name , struct device *device , void *buf , size_t size );
like yes, that's the whole vibe. five arguments, one int coming back at you π
π¦ ARGUMENTS π¦
firmware_pβ pointer to firmware image. it's the double-pointer situation, she's fancy πnameβ name of firmware file. so like, what you're actually asking for πΈdeviceβ device for which firmware is being loaded and DMA region allocated. it's giving "who is this for" energy πbufβ address of buffer to load firmware into. the destination, the moment, the main character π―sizeβ size of buffer. no cap, you gotta tell her how much room there is β
π DESCRIPTION π
okay so here's the tea β β this function works pretty much like request_firmware, but it doesn't allocate a buffer to hold the firmware data. nope, not doing that today π
ββοΈ
Instead, the firmware is loaded directly into the buffer pointed to by buf, and the firmware_p data member is pointed at buf. the way that it just... points directly at your buffer? iconic. no middleman, no extra allocation, she's efficient πβ¨
Also important bestie, and I need you to hear me on this one: this function doesn't cache firmware either. no caching, no hoarding, no saving it for later π
π SEE ALSO π
Kernel file ./drivers/base/firmware_loader/main.c and honestly the whole friend group:
request_firmware(9)firmware_request_nowarn(9)request_firmware_direct(9)firmware_request_platform(9)firmware_request_cache(9)request_partial_firmware_into_buf(9)release_firmware(9)request_firmware_nowait(9)firmware_request_nowait_nowarn(9)request_firmware_nowait_cancel(9)cache_firmware(9)uncache_firmware(9)device_cache_fw_images(9)device_uncache_fw_images(9)device_uncache_fw_images_delay(9)
and that's the page, bestie π§π this one lives in ./drivers/base/firmware_loader and it's dated October 2026 β go forth and load your firmware directly into that buffer, 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