STRUCT EQBR_GPIO_CTRL(9)
π struct eqbr_gpio_ctrl(9) β Kernel API Manual, bestie edition β¨
okay so. this is a page from the Kernel API Manual, section 9, and it's all about struct eqbr_gpio_ctrl β literally the whole personality of a gpio controller, packaged as one struct. it's giving "backstage pass to the pin bank" energy π
πΈ NAME πΈ
struct eqbr_gpio_ctrl β represent a gpio controller.
that's it. that's the whole job. it represents a gpio controller. iconic, honestly π
β¨ SYNOPSIS β¨
struct eqbr_gpio_ctrl {
struct gpio_generic_chip chip;
struct fwnode_handle *fwnode;
struct eqbr_pin_bank *bank;
void __iomem *membase;
const char *name;
unsigned int virq;
raw_spinlock_t lock;
};
look at her. seven members, all of them carrying their weight, no filler π
π¦ Members π¦
okay let's meet the cast, one by one, no skips:
chipβ the gpio chip. that's the core of the whole thing, the main character energy of the struct fr fr.fwnodeβ firmware node of gpio controller. the firmware-side paperwork that says who this controller is ποΈbankβ pointer to corresponding pin bank. your controller's home base, the bank where all its pins actually live.membaseβ base address of the gpio controller. like the street address but for registers, yk? πnameβ gpio chip name. the government name. the one on the birth certificate πΌvirqβ irq number of the gpio chip to parent's irq domain. this is the one linking you up to the parent's irq domain, so like. the family connection unlocked πlockβ spin lock to protect gpio register write. bestie DO NOT touch those registers without holding this, it's literally the bouncer at the door of every register write ππ
π₯ SEE ALSO π₯
go read these next, i'm obsessed with them, they're all in the same little friend group:
- Kernel file
./drivers/pinctrl/pinctrl-equilibrium.h struct gpio_irq_type(9)struct eqbr_pin_bank(9)struct eqbr_pinctrl_drv_data(9)
the header lives under ./drivers/pinctrl too, so you already know where the whole squad hangs out π«Ά
ngl this page is short and sweet but it's lowkey load-bearing β every one of those members is doing real work for the equilibrium pinctrl driver, so treat them with respect π
okay that's the page!! source is ./drivers/pinctrl, dated October 2026, and the header/footer both say struct eqbr_gpio_ctrl(9) because she said her name twice for emphasis π
β¨ bye bestie, go forth and pin-control responsibly π§ββοΈπΈ
π¦ 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