STRUCT KEEMBAY_PINCTRL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct keembay_pinctrl(9) πŸŽ€

okay bestie, welcome to the Kernel API Manual β€” this one's all about struct keembay_pinctrl, the Intel Keembay pinctrl structure. yes it's a struct, yes it's iconic, let's go πŸ’…


✨ NAME ✨

struct keembay_pinctrl β€” literally the Intel Keembay pinctrl structure, no cap πŸ¦‹


🌸 SYNOPSIS 🌸

here's the whole vibe, character for character, don't touch:

struct keembay_pinctrl {
    struct pinctrl_dev *pctrl;
    void __iomem *base0;
    void __iomem *base1;
    struct device *dev;
    struct gpio_chip chip;
    const struct keembay_pin_soc *soc;
    raw_spinlock_t lock;
    unsigned int ngroups;
    unsigned int nfuncs;
    unsigned int npins;
    struct keembay_gpio_irq irq[KEEMBAY_GPIO_NUM_IRQ];
    int max_gpios_level_type;
    int max_gpios_edge_type;
 };

πŸ’– Members πŸ’–

okay so every single field, one by one, no skipping bc every one of these matters 🫢

  • pctrl β€” pointer to the pin controller device. like, the main character pointer ✨
  • base0 β€” the first register base address
  • base1 β€” the second register base address (yes there's two, we love a duo πŸ’œ)
  • dev β€” pointer to the device structure
  • chip β€” the GPIO chip this pin controller uses
  • soc β€” pin control configuration data based on SoC
  • lock β€” a spinlock that protects the various gpio config register access. it's giving bodyguard energy ngl πŸ”₯
  • ngroups β€” number of pin groups available
  • nfuncs β€” number of pin functions available
  • npins β€” number of GPIO pins available
  • irq β€” stores the Interrupt source
  • max_gpios_level_type β€” stores the max level trigger type
  • max_gpios_edge_type β€” stores the max edge trigger type
fr fr bestie, lock is there for a reason β€” it protects gpio config register access. don't be out here touching registers unprotected 😭

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/pinctrl/pinctrl-keembay.c struct keembay_mux_desc(9), struct keembay_gpio_irq(9), struct keembay_pin_soc(9)

and that's the whole page, bestie, you ate that πŸ“ this masterpiece lives in the kernel file ./drivers/pinctrl and it's dated October 2026 β€” periodt, go read the source, iykyk πŸ‘‘πŸ’«

πŸ“¦ where this page comes from