STRUCT REGMAP_ACCESS_TABLE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct regmap_access_table(9) πŸ’–

okay bestie, welcome to the Kernel API Manual page for struct regmap_access_table β€” it's giving "which registers are allowed to be touched, and which are absolutely not," and honestly it's iconic.


✨ NAME ✨

struct regmap_access_table β€” a whole table of register ranges for access checks, iykyk πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

ok so here's the shape of it, look at her:

struct regmap_access_table {
    const struct regmap_range *yes_ranges;
    unsigned int n_yes_ranges;
    const struct regmap_range *no_ranges;
    unsigned int n_no_ranges;
 };

🌸 Members 🌸

  • yes_ranges β€” pointer to an array of regmap ranges that are the "yes ranges" πŸ’š like the VIP list, these ones get in.
  • n_yes_ranges β€” size of the above array. yes, you gotta tell her how many. lowkey important.
  • no_ranges β€” pointer to an array of regmap ranges used as "no ranges" 🚫 the blocked list, the "do not perceive" list.
  • n_no_ranges β€” size of that above array. count 'em, bestie.

πŸ”₯ Description πŸ”₯

So this is a table of ranges β€” some yes ranges and some no ranges, living together in one struct, main character energy fr. πŸ’…

Here's the tea on how the checks go:

  • If a register belongs to a no_range, the corresponding check function will return false. blocked. denied. not today.
  • If a register belongs to a yes range, the corresponding check function will return true. slay, go off. βœ…
  • and this is the part you cannot miss: "no_ranges" are searched first. πŸ‘‘ no ranges get first dibs. the no's come before the yes's. periodt.
🫢 no cap, the ordering matters β€” nos are searched first, so keep that in your head before you go writing your tables.

🌈 SEE ALSO 🌈

Kernel file ./include/linux/regmap.h β€” and literally the whole regmap fam, here's everyone:


and that's the page bestie πŸ§šπŸ’œ come find me in ./include/linux β€” this one's from October 2026, brought to you by the Kernel API Manual herself. mwah, go read your regmap docs, ily, bye πŸ’–βœ¨

πŸ“¦ where this page comes from