devm_free_irq(9)
π devm_free_irq(9) π
okay so bestie, welcome to the Kernel API Manual β¨ this one's short and sweet and honestly iconic for it.
πΈ NAME πΈ
devm_free_irq β free an interrupt π
β¨ SYNOPSIS β¨
void devm_free_irq (struct device *dev , unsigned int irq , void *dev_id );
like, that's the whole signature. no cap. π«Ά
π¦ ARGUMENTS π¦
devβ the device you wanna free the interrupt for, bestie πirqβ the interrupt line you're freeing, literally the numberdev_idβ the device identity you're freeing, yes it matters
π DESCRIPTION π
okay so here's the tea: except for that extra dev argument, this function takes the same arguments and does the same thing as free_irq. same energy, just with the device tacked on. periodt. π
the way that matters tho: this one β not free_irq β is what you should use to manually free IRQs that were allocated with devm_request_irq. so if you used the devm version to get it, use the devm version to yeet it. matching sets, fr fr π
π SEE ALSO π
- Kernel file
./kernel/irq/devres.c devm_request_threaded_irq(9)devm_request_any_context_irq(9)__devm_irq_alloc_descs(9)devm_irq_alloc_generic_chip(9)devm_irq_setup_generic_chip(9)devm_irq_domain_instantiate(9)
π§ go read the friends too, they're all in the same lil squad π
and that's the whole page, bestie π
this one came from ./kernel/irq, dated October 2026, and the header says devm_free_irq(9) β go off, interrupt queen ππΈ
π¦ 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