pmu_data
static const struct dove_pmu_initdata pmu_data __initconst = {
dove_init_pmu_legacy(&pmu_data);
pmu_data(init, pmu.data_addr_pmu, pmu.data_addr, pmu.data_size);
pmu_data(init, pmu, img, len);
pmu_data(init, pmu, img, len);
return &rp->pmu_data;
struct rapl_package_pmu_data *data = &rp->pmu_data;
static void __init pmu_reset_init(struct pmu_data *pmu)
static void __init pmu_reset_init(struct pmu_data *pmu)
struct pmu_data *pmu;
struct pmu_data *pmu = pmu_dom->pmu;
struct pmu_data *pmu = pmu_dom->pmu;
struct pmu_data *pmu = irq_desc_get_handler_data(desc);
static int __init dove_init_pmu_irq(struct pmu_data *pmu, int irq)
struct pmu_data *pmu;
struct pmu_data *pmu;
#define rcdev_to_pmu(rcdev) container_of(rcdev, struct pmu_data, reset)
struct pmu_data *pmu = rcdev_to_pmu(rc);
struct pmu_data *pmu = rcdev_to_pmu(rc);
struct pmu_data *pmu = rcdev_to_pmu(rc);
const struct exynos_pmu_data *pmu_data;
pmu_context->pmu_data = of_device_get_match_data(dev);
if (pmu_context->pmu_data && pmu_context->pmu_data->pmu_secure) {
pmu_regmcfg.wr_table = pmu_context->pmu_data->wr_table;
pmu_regmcfg.rd_table = pmu_context->pmu_data->rd_table;
if (pmu_context->pmu_data && pmu_context->pmu_data->pmu_cpuhp) {
if (pmu_context->pmu_data && pmu_context->pmu_data->pmu_init)
pmu_context->pmu_data->pmu_init();
const struct exynos_pmu_data *pmu_data;
if (!pmu_context || !pmu_context->pmu_data)
pmu_data = pmu_context->pmu_data;
if (pmu_data->powerdown_conf)
pmu_data->powerdown_conf(mode);
if (pmu_data->pmu_config) {
for (i = 0; (pmu_data->pmu_config[i].offset != PMU_TABLE_END); i++)
pmu_raw_writel(pmu_data->pmu_config[i].val[mode],
pmu_data->pmu_config[i].offset);
if (pmu_data->powerdown_conf_extra)
pmu_data->powerdown_conf_extra(mode);
if (pmu_data->pmu_config_extra) {
for (i = 0; pmu_data->pmu_config_extra[i].offset != PMU_TABLE_END; i++)
pmu_raw_writel(pmu_data->pmu_config_extra[i].val[mode],
pmu_data->pmu_config_extra[i].offset);
struct rapl_package_pmu_data pmu_data;