regmap_init_mmio_clk(9)
π regmap_init_mmio_clk β kernel API manual, but make it cute
okay so bestie, this is regmap_init_mmio_clk(9) from the Kernel API Manual and it is literally the moment your register map gets a clock. we're doing this together, no cap.
β¨ NAME β¨
regmap_init_mmio_clk β Initialise register map with register clock
like, it sets up your register map and it brings the register clock along for the ride π
πΈ SYNOPSIS πΈ
regmap_init_mmio_clk (dev , clk_id , regs , config );
that's the whole vibe. four things in, one regmap (or an error) out π
π¦ ARGUMENTS π¦
devβ Device that will be interacted with. the main character we're doing all this for πclk_idβ register clock consumer ID. yes, the clock needs a name to be looked up by, iykyk β°regsβ Pointer to memory-mapped IO region. the actual memory-mapped real estate, mmio and all πΊοΈconfigβ Configuration for register map. all the settings, all the choices, it's giving customization β¨
π DESCRIPTION π
okay so the important bit, and I need you to hear me on this: The return value will be an ERR_PTR on error or a valid pointer to a struct regmap.
so like β check it. don't just assume it worked. if it's bad news it comes back as an ERR_PTR, if it's good news it's a real live struct regmap pointer π«Ά
Also: this implies 'fast_io'. that's it, that's the note. it's implied. periodt π
π₯ SEE ALSO π₯
bestie there are SO many siblings, buckle up:
- Kernel file
./include/linux/regmap.h 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(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(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)
lowkey the whole regmap family is iconic and this one is just the mmio + clock version. go read the rest, you'll be obsessed π
that's the page!! sources say it lives in ./include/linux, dated October 2026, and it goes by regmap_init_mmio_clk(9) β mwah, bye bestie ππ
π¦ 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