STRUCT GNR_GPIO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

Okay so this is struct gnr_gpio(9), straight out of the Kernel API Manual, and it is literally the Intel Granite Rapids-D vGPIO driver state. That's the name, that's the assignment, no cap. πŸ’…


✨ SYNOPSIS ✨

The struct is giving exactly this, character for character:

       struct gnr_gpio {
           struct gpio_chip gc;
           void __iomem *reg_base;
           void __iomem *pad_base;
           unsigned long ro_bitmap[BITS_TO_LONGS( GNR_NUM_PINS)];
           raw_spinlock_t lock;
           u32 pad_backup[];
        };

Periodt. That's the whole shape of it. πŸ¦‹


🫢 Members 🫢

Every member, and what it's doing, because we do not skip details in this group chat:

  • gc β€” the GPIO controller interface. Main character energy for the controller side. πŸ‘‘
  • reg_base β€” base address of the GPIO registers. That's the address, bestie, not a vibe. ✨
  • pad_base β€” base address of the vGPIO pad configuration registers. Pad config lives here. πŸŽ€
  • ro_bitmap β€” bitmap of read-only pins. It's literally a bitmap tracking which pins are read-only. πŸ”’
  • lock β€” guard the registers. It's the lock keeping register access from getting messy. πŸ’…
  • pad_backup β€” backup of the register state for suspend. Suspend gets a little backup copy, periodt. 🫢

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpio/gpio-graniterapids.c β€” go read the source, bestie, it's right there. πŸ“šβœ¨

Okay that's the page! Cute sign-off time: this one's from source/version ./drivers/gpio, dated October 2026, and the page title is struct gnr_gpio(9). Bye bestie, go slay those GPIO registers πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from