devm_regulator_irq_helper(9)
π devm_regulator_irq_helper(9) β from the Kernel API Manual, bestie
okay so picture this: it's a kernel API manual page, it's called devm_regulator_irq_helper(9), and it's literally the resource managed registration of an IRQ based regulator event/error notifier. like, that's the whole vibe. no cap. β¨
πΈ NAME πΈ
devm_regulator_irq_helper β resource managed registration of IRQ based regulator event/error notifier. it's giving "I handle your IRQ-driven regulator events AND I clean up after myself." main character energy fr fr π
π SYNOPSIS π
void * devm_regulator_irq_helper (struct device *dev , const struct
regulator_irq_desc *d , int irq , int irq_flags , int common_errs , int
*per_rdev_errs , struct regulator_dev **rdev , int rdev_amount );
she takes eight arguments, she's high maintenance, we love her π«Ά
π¦ ARGUMENTS π¦
devβ the device whose lifetime the helper's lifetime is bound to. basically they're attached at the hip, devm-style πdβ the IRQ helper descriptor. the whole blueprint of the operation, iykyk.irqβ the IRQ that's used to inform events/errors to be notified. the messenger π§irq_flagsβ extra IRQ flags, and they get OR'ed with the defaultIRQF_ONESHOTwhen requesting the (threaded) irq. so like, you're adding sprinkles to the default sprinkle situation β¨common_errsβ errors which can be flagged by this IRQ for all rdevs. and here's the tea: when the IRQ is re-enabled, these errors will be cleared from all associated regulators. automatic cleanup, we stan πper_rdev_errsβ optional error flag array describing errors specific to only some of the regulators. these errors will be or'ed with common errors. if you pass this, the array should containrdev_amountflags. can be set toNULLif there are no regulator specific error flags for this IRQ. optional queen behavior πrdevβ array of pointers to regulators associated with this IRQ.rdev_amountβ how many regulators are associated with this IRQ. the headcount bestie π
β RETURN β
you get a handle to irq_helper, or an ERR_PTR encoded negative error number. so like... check it, bestie. don't just assume it slayed π
π₯ SEE ALSO π₯
Kernel file ./drivers/regulator/devres.c, plus the whole friend group:
devm_regulator_get(9)devm_regulator_get_exclusive(9)devm_regulator_get_enable_optional(9)devm_regulator_get_enable(9)devm_regulator_get_optional(9)devm_regulator_get_enable_read_voltage(9)devm_regulator_put(9)devm_regulator_bulk_get(9)devm_regulator_bulk_get_exclusive(9)devm_regulator_bulk_get_const(9)devm_regulator_bulk_put(9)devm_regulator_bulk_get_enable(9)devm_regulator_register(9)devm_regulator_register_supply_alias(9)devm_regulator_bulk_register_supply_alias(9)devm_regulator_register_notifier(9)devm_regulator_unregister_notifier(9)devm_of_regulator_get(9)devm_of_regulator_get_optional(9)
and that's the page, periodt π
sign-off tea: this whole masterpiece lives in./drivers/regulator, and it's dated October 2026. the page itself isdevm_regulator_irq_helper(9). go read it again, it's iconic ππΈ
π¦ 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