drivers/clk/renesas/r8a7743-cpg-mssr.c

Source file repositories/reference/linux-study-clean/drivers/clk/renesas/r8a7743-cpg-mssr.c

File Facts

System
Linux kernel
Corpus path
drivers/clk/renesas/r8a7743-cpg-mssr.c
Extension
.c
Size
9940 bytes
Lines
281
Domain
Driver Families
Bucket
drivers/clk
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if (r8a7743_core_clks[i].id == R8A7743_CLK_ZG) {
				r8a7743_core_clks[i].div = 5;
				break;
			}
	}
	return rcar_gen2_cpg_init(cpg_pll_config, 2, cpg_mode);
}

const struct cpg_mssr_info r8a7743_cpg_mssr_info __initconst = {
	/* Core Clocks */
	.core_clks = r8a7743_core_clks,
	.num_core_clks = ARRAY_SIZE(r8a7743_core_clks),
	.last_dt_core_clk = LAST_DT_CORE_CLK,
	.num_total_core_clks = MOD_CLK_BASE,

	/* Module Clocks */
	.mod_clks = r8a7743_mod_clks,
	.num_mod_clks = ARRAY_SIZE(r8a7743_mod_clks),
	.num_hw_mod_clks = 12 * 32,

	/* Critical Module Clocks */
	.crit_mod_clks = r8a7743_crit_mod_clks,
	.num_crit_mod_clks = ARRAY_SIZE(r8a7743_crit_mod_clks),

	/* Callbacks */
	.init = r8a7743_cpg_mssr_init,
	.cpg_clk_register = rcar_gen2_cpg_clk_register,
};

Annotation

Implementation Notes