STRUCT WINBOND_GPIO_PORT_CONFLICT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct winbond_gpio_port_conflict β€” literally the info about a device that might be beefing with you

okay bestie, so this struct is like the little warning label on a GPIO port, right? it's holding the deets on a possibly-conflicting device so the kernel can do a vibe check before anything messy happens 🫢


✨ SYNOPSIS ✨

struct winbond_gpio_port_conflict {
    const char *name;
    u8 dev;
    u8 testreg;
    u8 testbit;
    bool warnonly;
 };

look at her. five fields. main character energy πŸ‘‘


πŸŽ€ Members πŸŽ€

  • name β€” the device name, periodt. and if it's NULL? that means no conflicting device is defined at all, so like… nothing to worry about here, bestie πŸ’–
  • dev β€” the Super I/O logical device number where the testreg register lives. or you can pass WB_SIO_DEV_NONE, which is the "don't select any logical device" option β€” iconic lowkey opt-out 🌸
  • testreg β€” the register number where the testbit bit is chillin'. that's where we go lookin' πŸ”
  • testbit β€” the index of the bit we check to see whether an actual conflict exists. like, is there really drama or are we imagining it 😭
  • warnonly β€” if this is set, then a conflict isn't fatal (we just warn about it, no biggie, we're being chill πŸ’…). otherwise β€” and this is the important part β€” the particular GPIO port gets disabled if a conflict is detected. so if you leave it unset, the port is gone. not me forgetting to set that flag πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./drivers/gpio/gpio-winbond.c
  • struct winbond_gpio_info(9)

fr fr go read struct winbond_gpio_info(9) next, it's the companion piece, iykyk πŸ¦‹

that's the whole page bestie, go slay some GPIO ports 🌈✨

signed off from ./drivers/gpio β€” October 2026 β€” mwah, drink water, and may your conflicts always be warnonly πŸ“πŸ’œ

πŸ“¦ where this page comes from