STRUCT IRQ_CHIP_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct irq_chip_type(9) β€” like, the whole vibe

okay bestie, welcome to the Kernel API Manual entry for struct irq_chip_type(9) β€” yes the (9) is part of the name, she's a section-9 girlie, we respect it πŸŽ€

This is the generic interrupt chip instance for a flow type. Say that five times fast. Or don't, honestly, just keep reading πŸ’–


✨ NAME ✨

struct irq_chip_type β€” generic interrupt chip instance for a flow type, no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

struct irq_chip_type {
    struct irq_chip         chip;
    struct irq_chip_regs    regs;
    irq_flow_handler_t handler;
    u32 type;
    u32 mask_cache_priv;
    u32 *mask_cache;
 };

yes there's a little space before the closing brace, leave her alone, she's doing her best 😭 copy it exactly, character for character, fr fr.


πŸ‘‘ Members πŸ‘‘

okay so this is the cast of characters, and honestly every single one of them is a main character:

  • chip β€” the real interrupt chip, the one that actually provides the callbacks. she's the one doing the work while everyone else is like, standing there looking pretty πŸ’…
  • regs β€” register offsets for this chip. the map, the coordinates, the little address book πŸ“
  • handler β€” the flow handler associated with this chip. she handles the flow, literally 🌊
  • type β€” the flow types this chip can handle. like, her type. her literal type. get it? 🫢
  • mask_cache_priv β€” cached mask register, private to the chip type. private! personal! don't touch her stuff πŸ™ˆ
  • mask_cache β€” a pointer to the cached mask register. not the register itself, a pointer to it. important distinction bestie, do not come for me ⭐

🌸 Description 🌸

so here's the tea: an irq_generic_chip can have several instances of irq_chip_type when it needs different functions and different register offsets for different flow types.

like, she's versatile. she contains multitudes. one generic chip, many chip types, each one serving a different flow type with its own functions and its own register offsets β€” it's giving "I contain multitudes" energy and honestly? obsessed ✨

no cap, this is the whole reason this struct exists β€” variety is the spice of interrupts 🌈

πŸ”₯ SEE ALSO πŸ”₯

go read these next, bestie, iykyk:

  • Kernel file ./include/linux/irq.h
  • struct irq_common_data(9)
  • struct irq_data(9)
  • struct irq_chip(9)
  • struct irq_chip_regs(9)
  • struct irq_chip_generic(9)
  • enum irq_gc_flags(9)
  • struct irq_domain_chip_generic_info(9)

and that's the whole page, periodt πŸ’œ this one lives in ./include/linux and the version you're looking at is dated October 2026 β€” shoutout to the kernel docs girlies keeping the API manual cute and current, mwah πŸ«ΆπŸ’–

πŸ“¦ where this page comes from