STRUCT DEV_PIN_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Okay so welcome to struct dev_pin_info(9) from the Kernel API Manual, bestie β€” this is the pin state container for devices. That's literally the whole vibe: it holds pin states for a device, and we're gonna go through every member like it's a group chat roll call πŸ’…βœ¨

✨ SYNOPSIS ✨

Here's the struct, exactly as it appears, no cap:

       struct dev_pin_info {
           struct pinctrl *p;
           struct pinctrl_state *default_state;
           struct pinctrl_state *init_state;
         #ifdef CONFIG_PM;
           struct pinctrl_state *sleep_state;
           struct pinctrl_state *idle_state;
         #endif;
        };

Notice the #ifdef CONFIG_PM; and #endif; β€” yes, they have semicolons in the original, so we're keeping them exactly. Do not "fix" them, bestie, that's not the assignment πŸ™ˆ

πŸ’… Members πŸ’…

  • p β€” the pinctrl handle for the containing device. Main character pointer energy, fr fr πŸ”₯
  • default_state β€” the default state for the handle, if found. Slay when it shows up ✨
  • init_state β€” the state at probe time, if found. That's the early-era vibe πŸŽ€
  • sleep_state β€” the state at suspend time, if found. It's giving sleepy time 😴
  • idle_state β€” the state at idle (runtime suspend) time, if found. Lowkey chilling πŸ¦‹

Also yes: sleep_state and idle_state are wrapped in #ifdef CONFIG_PM; in the synopsis, so that's the conditional situation πŸ’œ

πŸ” SEE ALSO πŸ”

  • Kernel file β€” ./include/linux/pinctrl/devinfo.h β€” go look, bestie, that's where the real source lives πŸ‘€πŸ«Ά

K bye! This page is from ./include/linux/pinctrl, dated October 2026, and it's giving kernel documentation but make it cute πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from