STRUCT REGMAP_IRQ_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct regmap_irq_type(9) ✨

okay so bestie, this is struct regmap_irq_type(9) from the Kernel API Manual, and it is literally the glow-up guide for your IRQ types πŸ’… like it's the struct that tells the regmap IRQ machinery how to poke your device's registers so an interrupt knows whether it's rising, falling, level-low or level-high. no cap, it's giving "configuration blueprint" energy and we are obsessed πŸŽ€


🌸 NAME 🌸

struct regmap_irq_type β€” IRQ type definitions. that's it, that's the vibe ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct regmap_irq_type {
    unsigned int type_reg_offset;
    unsigned int type_reg_mask;
    unsigned int type_rising_val;
    unsigned int type_falling_val;
    unsigned int type_level_low_val;
    unsigned int type_level_high_val;
    unsigned int types_supported;
 };

look at her. seven unsigned int fields, all main character energy πŸ‘‘ and yes you have to keep them exactly like that, don't touch the formatting, she's perfect πŸ’–


πŸŽ€ Members πŸŽ€

so here's the member-by-member breakdown, bestie, and every single one matters:

  • type_reg_offset β€” the offset register for the irq type setting. this is where the type config actually lives πŸ“
  • type_reg_mask β€” the device interrupt mask. mask it, queen 🎭
  • type_rising_val β€” the register value you write to configure a RISING type irq. going up? this is the value β¬†οΈβœ¨
  • type_falling_val β€” the register value to configure a FALLING type irq. going down? same deal, different value β¬‡οΈπŸ’œ
  • type_level_low_val β€” the register value to configure a LEVEL_LOW type irq. lowkey level-triggered πŸ“
  • type_level_high_val β€” the register value to configure a LEVEL_HIGH type irq. highkey level-triggered πŸ”₯
  • types_supported β€” a logical OR of IRQ_TYPE_* flags indicating the supported types. this is the vibe check for what your chip can actually do βœ…
fr fr, keep those flag names and values exactly as written β€” RISING, FALLING, LEVEL_LOW, LEVEL_HIGH, and IRQ_TYPE_* are literal, not a mood 🌈

πŸ‘‘ SEE ALSO πŸ‘‘

the whole extended friend group πŸ’– first up, the kernel file:

  • ./include/linux/regmap.h

and then, in order, because we do not skip anyone at this party:

like, that's the entire group chat and every one of them is iconic in their own way 🫢


aaaaaaaaand that's the page, bestie!! 🧚 this little masterpiece lives in ./include/linux and the version stamp is October 2026, and the whole thing is filed under struct regmap_irq_type(9) β€” so go forth, configure your IRQ types, and slay πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from