STRUCT CY8C95X0_PINCTRL(9)
π struct cy8c95x0_pinctrl(9) β the driver data glowie β¨
okay so bestie, welcome to the Kernel API Manual entry for struct cy8c95x0_pinctrl π this is literally just the driver data struct, and honestly? it's giving organized queen energy. every field is a little drawer in the pinctrl dresser, and we're opening all of them π
πΈ SYNOPSIS πΈ
here's the whole struct, bestie β copied exactly, no cap, do not touch:
struct cy8c95x0_pinctrl {
struct regmap *regmap;
struct mutex irq_lock;
struct mutex i2c_lock;
unsigned long irq_mask[BITS_TO_LONGS( MAX_LINE)];
unsigned long irq_trig_raise[BITS_TO_LONGS( MAX_LINE)];
unsigned long irq_trig_fall[BITS_TO_LONGS( MAX_LINE)];
unsigned long irq_trig_low[BITS_TO_LONGS( MAX_LINE)];
unsigned long irq_trig_high[BITS_TO_LONGS( MAX_LINE)];
unsigned long push_pull[BITS_TO_LONGS( MAX_LINE)];
unsigned long map[BITS_TO_LONGS( MAX_LINE)];
unsigned int nport;
struct gpio_chip gpio_chip;
struct device *dev;
struct pinctrl_dev *pctldev;
struct pinctrl_desc pinctrl_desc;
unsigned int tpin;
struct gpio_desc *gpio_reset;
};
likeβ¦ look at all those BITS_TO_LONGS( MAX_LINE) bitmaps. she's thriving on bitmaps π₯
π¦ Members π¦
time for the member-by-member vibe check, one icon at a time π
regmapβ the device's regmap. only direct access registers bestie, don't get it twisted πirq_lockβ the IRQ bus lock πi2c_lockβ a mutex you gotta hold while you're using the regmap. hold her gently π«Άirq_maskβ the I/O bits affected by interrupts β‘irq_trig_raiseβ the I/O bits affected by raising voltage level β¬οΈirq_trig_fallβ the I/O bits affected by falling voltage level β¬οΈirq_trig_lowβ the I/O bits affected by a low voltage level π§irq_trig_highβ the I/O bits affected by a high voltage level π₯push_pullβ the I/O bits configured as push pull driver πͺmapβ the mask used to compensate for Gport2 width π (yes, width compensation. she's doing math for you, say thank you)nportβ number of Gports in this chip π’gpio_chipβ the gpiolib chip π£devβstruct deviceπ±pctldevβ the pin controller device ποΈpinctrl_descβ the pin controller description π (yes it's<noun>andpinctrl_desc, iconique naming, we stan)tpinβ total number of pins πgpio_resetβ a GPIO line handler that can reset the IC π like a little reset button but classy
β SEE ALSO β
go read these next, bestie, they're the whole friend group π―ββοΈ
- Kernel file
./drivers/pinctrl/pinctrl-cy8c95x0.cπ cy8c95x0_regmap_write_bits(9),cy8c95x0_regmap_update_bits(9),cy8c95x0_regmap_read_bits(9)β¨
ok real talk β this page lives in ./drivers/pinctrl, which is the source dir, and the date on it is October 2026. so likeβ¦ future-coded manpage, main character energy fr fr π
that's the whole struct, no skips, no summaries, we ate and left no crumbs π π 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