STRUCT PINCTRL_MAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay bestie, welcome to the tea on struct pinctrl_map(9) β€” yes, from the Kernel API Manual β€” and the short version is literally: boards/machines shall provide this map for devices. periodt πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of her, exactly:

       struct pinctrl_map {
           const char *dev_name;
           const char *name;
           enum pinctrl_map_type type;
           const char *ctrl_dev_name;
           union {
             struct pinctrl_map_mux mux;
             struct pinctrl_map_configs configs;
           } data;
        };

πŸŽ€ Members πŸŽ€

  • dev_name β€” the name of the device using this specific mapping. The name must be the same as in your struct device*. and heads up πŸ‘€ if this name is set to the same name as the pin controller's own dev_name, the map entry will be hogged by the driver itself upon registration.
  • name β€” the name of this specific map entry for the particular machine. This is the parameter passed to pinmux_lookup_state ✨
  • type β€” the type of mapping table entry.
  • ctrl_dev_name β€” the name of the device controlling this specific mapping; the name must be the same as in your struct device*. This field is not used for PIN_MAP_TYPE_DUMMY_STATE 🫢
  • data β€” Data specific to the mapping type.

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/pinctrl/machine.h, struct pinctrl_map_mux(9), struct pinctrl_map_configs(9) β€” go read those too bestie, iykyk 🌸


mwah πŸ’– source/version: ./include/linux/pinctrl, date: October 2026, title: struct pinctrl_map(9). byeee βœ¨πŸ¦‹

πŸ“¦ where this page comes from