regmap_init(9)
π regmap_init β Initialise register map β¨
okay so real talk, this is the regmap_init(9) page from the Kernel API Manual, and it's genuinely the moment a register map gets born. Buckle up bestie π
πΈ NAME πΈ
regmap_init β Initialise register map π
β SYNOPSIS β
regmap_init (dev , bus , bus_context , config );
like, that's the whole vibe. four args, one iconic function π
π¦ ARGUMENTS π¦
devβ the Device that will be interacted with π«Ά this is the thing you're going to be chatting with, so pls make sure it's the right one.busβ the Bus-specific callbacks to use with device. yup, the callbacks, the little handlers that make the bus do its thing.bus_contextβ Data passed to bus-specific callbacks. it's the lil bag of stuff those callbacks get handed, no cap.configβ Configuration for register map. all your settings live here β¨
π DESCRIPTION π
so here's the tea β: the return value will be an ERR_PTR on error, or a valid pointer to a struct regmap. that's the whole contract, and it's honestly giving very straightforward of it.
β οΈ main character warning: this function should generally not be called directly β it should be called by bus-specific init functions. like, yes you can, but the bus-specific ones are the ones doing the calling, iykyk π
π₯ SEE ALSO π₯
the link-up section, and there are so many of them, she's popular fr fr π
Kernel file ./include/linux/regmap.h and then, in order:
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_range_cfg(9)struct regmap_sdw_mbq_cfg(9)struct regmap_bus(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)
go off, cross-references, go off π
kisses bestie, this page ships from the Kernel file ./include/linux, dated October 2026 β like, mark your calendar, that's the whole sign-off πππ¦
π¦ 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