STRUCT PCS_SOC_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct pcs_soc_data(9) β€” SoC specific settings πŸŽ€

okay bestie, so this is a page straight out of the Kernel API Manual (struct pcs_soc_data(9), iykyk) and it's literally just the lil settings bag for your SoC. no cap, it's giving "one struct to hold all the board-specific vibes" ✨


🌸 NAME 🌸

struct pcs_soc_data β€” SoC specific settings 🫢


⭐ SYNOPSIS ⭐

struct pcs_soc_data {
    unsigned flags;
    int irq;
    unsigned irq_enable_mask;
    unsigned irq_status_mask;
    void (*rearm)(void);
 };

like, that's the whole thing. five fields. short queen energy πŸ‘‘ copy it exactly, don't be out here renaming stuff fr fr.


πŸ’– Members πŸ’–

  • flags β€” the initial SoC specific PCS_FEAT_xxx values 🌈 these are your starting feature vibes.
  • irq β€” an optional interrupt for the controller πŸ¦‹ optional! it can just. not be there.
  • irq_enable_mask β€” an optional SoC specific interrupt enable mask ✨
  • irq_status_mask β€” an optional SoC specific interrupt status mask πŸŽ€
  • rearm β€” an optional SoC specific wake-up rearm function πŸ’… it's a function pointer, void (*rearm)(void), no args, returns nothing, main character energy.
ngl three of these are optional and one is "initial values" β€” so if your struct looks mostly empty, that's valid, bestie πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

literally the whole pinctrl-single squad, all documented in the kernel file ./drivers/pinctrl/pinctrl-single.c β€” go read the whole friend group πŸ’œ:

that's 25 entries, count 'em, I did not skip a single one πŸ™


that's the whole page, bestie β€” sourced from ./drivers/pinctrl, dated October 2026, and yeah the footer repeats struct pcs_soc_data(9) because the manual loves a callback πŸ’€ slay, go forth and configure your SoC πŸ’…πŸ”₯

πŸ“¦ where this page comes from