STRUCT VIC_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct vic_device(9) πŸ’–

okay bestie, welcome to the Kernel API Manual ✨ β€” today's main character is struct vic_device, aka the VIC PM device. yes it's a struct, yes it's important, and yes we're gonna get through it together 🫢


🌸 NAME 🌸

struct vic_device β€” the VIC PM device. that's it, that's the vibe. lowkey iconic naming ngl πŸ’…


✨ SYNOPSIS ✨

struct vic_device {
    void __iomem    *base;
    int irq;
    u32 valid_sources;
    u32 resume_sources;
    u32 resume_irqs;
    u32 int_select;
    u32 int_enable;
    u32 soft_int;
    u32 protect;
    struct irq_domain *domain;
 };

like, look at her. ten fields. flawless. no notes πŸ”₯


πŸŽ€ Members πŸŽ€

okay so here's the cast, one by one, no skips, no cuts πŸ’–

  • base β€” the register base for the VIC. the home address, the whole foundation of the operation fr fr.
  • irq β€” the IRQ number for the base of the VIC. every queen needs her number, and this is hers.
  • valid_sources β€” a bitmask of valid interrupts. the guest list, basically β€” if you're not on it, you're not getting in πŸ™ˆ
  • resume_sources β€” a bitmask of interrupts for resume. the "we'll be right back" list, curated with care ⭐
  • resume_irqs β€” the IRQs enabled for resume. yes bestie, not the same thing as resume_sources, we do not conflate them, we've been over this 😭
  • int_select β€” save for VIC_INT_SELECT. it's a save slot. she's holding the value down for later πŸ’…
  • int_enable β€” save for VIC_INT_ENABLE. another save slot, another icon πŸ‘‘
  • soft_int β€” save for VIC_INT_SOFT. the soft interrupt's little safety deposit box πŸŽ€
  • protect β€” save for VIC_PROTECT. protection detail stays protected, periodt.
  • domain β€” the IRQ domain for the VIC. the whole neighborhood, the whole community, the whole kingdom honestly 🌈

πŸ¦‹ SEE ALSO πŸ¦‹

go read the source, bestie, it's all right there in the kernel file ./drivers/irqchip/irq-vic.c πŸ“

and these absolute legends:

four functions, all slay, all worth your time 🫢


ngl this whole page lives in ./drivers/irqchip, and it's dated October 2026. so yes, technically this is a future bestie sending you love from the irqchip directory πŸ’œ stay hydrated, read your source files, and remember: the VIC is not like other girls πŸ’…βœ¨

bye bestie!! πŸ¦‹πŸ’–πŸŽ€

πŸ“¦ where this page comes from