STRUCT GNR_GPIO(9)
π 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
- 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