STRUCT REGMAP_RANGE_CFG(9)
π struct regmap_range_cfg(9) π
okay bestie, welcome to the Kernel API Manual β this is the group-chat explainer for struct regmap_range_cfg(9), and itβs giving βconfiguration for indirectly accessed or paged registersβ energy. no cap. π¦
πΈ NAME πΈ
struct regmap_range_cfg β configuration for indirectly accessed or paged registers. thatβs the main character energy of this page: itβs the config struct for registers you reach indirectly, or in pages. periodt. π
β¨ SYNOPSIS β¨
struct regmap_range_cfg {
const char *name;
unsigned int range_min;
unsigned int range_max;
unsigned int selector_reg;
unsigned int selector_mask;
int selector_shift;
unsigned int window_start;
unsigned int window_len;
};
π Members π
nameβ descriptive name for diagnostics. your little label for when diagnostics need to know whoβs who. πrange_minβ address of the lowest register address in virtual range. the bottom edge of the virtual-range situation.range_maxβ address of the highest register in virtual range. the top edge, bestie.selector_regβ register with selector field. yep, the register that holds the selector field.selector_maskβ bit mask for selector value. masking, but make it cute. πselector_shiftβ bit shift for selector value. shifting bits like itβs a whole vibe.window_startβ address of first (lowest) register in data window. the first/lowest one in the data window.window_lenβ number of registers in data window. literally the count of registers in that data window. π’
π§ DESCRIPTION π§
registers, mapped to this virtual range, are accessed in two steps:
- page selector register update;
- access through data window registers.
lowkey iconic: first the page selector register gets updated, then you access through the data window registers. thatβs the two-step. no extra lore, fr fr. π
π SEE ALSO π
Kernel file ./include/linux/regmap.h β plus the whole see-also squad: struct reg_default(9), struct reg_sequence(9), regmap_read_poll_timeout(9), regmap_read_poll_timeout_atomic(9), regmap_field_read_poll_timeout(9), struct regmap_range(9), struct regmap_access_table(9), struct regmap_config(9), struct regmap_sdw_mbq_cfg(9), struct regmap_bus(9), regmap_init(9), regmap_init_i2c(9), regmap_init_mdio(9), regmap_init_sccb(9), regmap_init_slimbus(9), regmap_init_spi(9), regmap_init_spmi_base(9), regmap_init_spmi_ext(9), regmap_init_w1(9), regmap_init_mmio_clk(9), regmap_init_mmio(9), regmap_init_ac97(9), regmap_init_sdw(9), regmap_init_sdw_mbq(9), regmap_init_sdw_mbq_cfg(9), regmap_init_i3c(9), regmap_init_spi_avmm(9), regmap_init_fsi(9), devm_regmap_init(9), devm_regmap_init_i2c(9), devm_regmap_init_mdio(9), devm_regmap_init_sccb(9), devm_regmap_init_spi(9), devm_regmap_init_spmi_base(9), devm_regmap_init_spmi_ext(9), devm_regmap_init_w1(9), devm_regmap_init_mmio_clk(9), devm_regmap_init_mmio(9), devm_regmap_init_ac97(9), devm_regmap_init_sdw(9), devm_regmap_init_sdw_mbq(9), devm_regmap_init_sdw_mbq_cfg(9), devm_regmap_init_slimbus(9), devm_regmap_init_i3c(9), devm_regmap_init_spi_avmm(9), devm_regmap_init_fsi(9), struct reg_field(9), struct regmap_irq_type(9), struct regmap_irq(9), struct regmap_irq_chip(9)
mwah π β from ./include/linux, October 2026, with the struct regmap_range_cfg(9) page. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms