drivers/interconnect/qcom/icc-rpm-clocks.c

Source file repositories/reference/linux-study-clean/drivers/interconnect/qcom/icc-rpm-clocks.c

File Facts

System
Linux kernel
Corpus path
drivers/interconnect/qcom/icc-rpm-clocks.c
Extension
.c
Size
1988 bytes
Lines
90
Domain
Driver Families
Bucket
drivers/interconnect
Inferred role
Driver Families: exported/initcall integration point
Status
integration 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

#include <linux/soc/qcom/smd-rpm.h>

#include "icc-rpm.h"

const struct rpm_clk_resource aggre1_clk = {
	.resource_type = QCOM_SMD_RPM_AGGR_CLK,
	.clock_id = 1,
};
EXPORT_SYMBOL_GPL(aggre1_clk);

const struct rpm_clk_resource aggre2_clk = {
	.resource_type = QCOM_SMD_RPM_AGGR_CLK,
	.clock_id = 2,
};
EXPORT_SYMBOL_GPL(aggre2_clk);

const struct rpm_clk_resource bimc_clk = {
	.resource_type = QCOM_SMD_RPM_MEM_CLK,
	.clock_id = 0,
};
EXPORT_SYMBOL_GPL(bimc_clk);

const struct rpm_clk_resource mem_1_clk = {
	.resource_type = QCOM_SMD_RPM_MEM_CLK,
	.clock_id = 1,
};
EXPORT_SYMBOL_GPL(mem_1_clk);

const struct rpm_clk_resource gpu_mem_2_clk = {
	.resource_type = QCOM_SMD_RPM_MEM_CLK,
	.clock_id = 2,
};
EXPORT_SYMBOL_GPL(gpu_mem_2_clk);

const struct rpm_clk_resource bus_0_clk = {
	.resource_type = QCOM_SMD_RPM_BUS_CLK,
	.clock_id = 0,
};
EXPORT_SYMBOL_GPL(bus_0_clk);

const struct rpm_clk_resource bus_1_clk = {
	.resource_type = QCOM_SMD_RPM_BUS_CLK,
	.clock_id = 1,
};
EXPORT_SYMBOL_GPL(bus_1_clk);

const struct rpm_clk_resource bus_2_clk = {
	.resource_type = QCOM_SMD_RPM_BUS_CLK,
	.clock_id = 2,
};
EXPORT_SYMBOL_GPL(bus_2_clk);

const struct rpm_clk_resource mmaxi_0_clk = {
	.resource_type = QCOM_SMD_RPM_MMAXI_CLK,
	.clock_id = 0,
};
EXPORT_SYMBOL_GPL(mmaxi_0_clk);

const struct rpm_clk_resource mmaxi_1_clk = {
	.resource_type = QCOM_SMD_RPM_MMAXI_CLK,
	.clock_id = 1,
};
EXPORT_SYMBOL_GPL(mmaxi_1_clk);

const struct rpm_clk_resource qup_clk = {
	.resource_type = QCOM_SMD_RPM_QUP_CLK,
	.clock_id = 0,
};
EXPORT_SYMBOL_GPL(qup_clk);

/* Branch clocks */
const struct rpm_clk_resource aggre1_branch_clk = {
	.resource_type = QCOM_SMD_RPM_AGGR_CLK,
	.clock_id = 1,
	.branch = true,
};
EXPORT_SYMBOL_GPL(aggre1_branch_clk);

const struct rpm_clk_resource aggre2_branch_clk = {
	.resource_type = QCOM_SMD_RPM_AGGR_CLK,
	.clock_id = 2,
	.branch = true,
};
EXPORT_SYMBOL_GPL(aggre2_branch_clk);

Annotation

Implementation Notes