STRUCT PCH_GPIO(9)
okay bestie, welcome to the struct pch_gpio(9) page in the Kernel API Manual β we're decoding the private data structure for GPIO, and it's giving backstage-pass energy β¨. every field is here, no skips, fr fr.
π NAME π
struct pch_gpio β GPIO private data structure. that's the name, and yes, it's quietly iconic π
β¨ SYNOPSIS β¨
struct pch_gpio {
void __iomem *base;
struct pch_regs __iomem *reg;
struct device *dev;
struct gpio_chip gpio;
struct pch_gpio_reg_data pch_gpio_reg;
int irq_base;
enum pch_type_t ioh;
raw_spinlock_t spinlock;
};
π Members π
baseβ PCI base address of Memory mapped I/O register. literally the base address for that memory-mapped I/O register, periodt πregβ memory-mapped PCH GPIO register list. the lineup of PCH GPIO registers, mapped into memory, slay πdevβ pointer to device structure. just a pointer to the device structure, keeping it connected π«Άgpioβ data for GPIO infrastructure. the data for GPIO infrastructure β main-character payload, no cap β¨pch_gpio_regβ memory-mapped Register data is saved here when suspend. when suspend happens, the memory-mapped register data gets stashed here π΄irq_baseβ saves base of IRQ number for interrupt. it saves the base of the IRQ number for interrupt, iykyk π₯iohβ IOH ID. that's the IOH ID β short, mysterious, iconic πspinlockβ used for register access protection. the spinlock for register access protection, keeping things protected π
π SEE ALSO π
- Kernel file
./drivers/gpio/gpio-pch.cβ go peek at the source, bestie, it's right there π struct pch_gpio_reg_data(9)β the related register-data struct page, linked for your reading pleasure β¨
and that's the whole struct vibe π«Ά β this page's source/version is ./drivers/gpio, dated October 2026. byeee π
π¦ 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