Lines Matching refs:ctrl
922 struct samsung_retention_ctrl *ctrl = drvdata->retention_ctrl; in exynos_retention_disable() local
923 struct regmap *pmu_regs = ctrl->priv; in exynos_retention_disable()
926 if (ctrl->refcnt && !atomic_dec_and_test(ctrl->refcnt)) in exynos_retention_disable()
929 for (i = 0; i < ctrl->nr_regs; i++) in exynos_retention_disable()
930 regmap_write(pmu_regs, ctrl->regs[i], ctrl->value); in exynos_retention_disable()
937 struct samsung_retention_ctrl *ctrl; in exynos_retention_init() local
941 ctrl = devm_kzalloc(drvdata->dev, sizeof(*ctrl), GFP_KERNEL); in exynos_retention_init()
942 if (!ctrl) in exynos_retention_init()
949 ctrl->priv = pmu_regs; in exynos_retention_init()
950 ctrl->regs = data->regs; in exynos_retention_init()
951 ctrl->nr_regs = data->nr_regs; in exynos_retention_init()
952 ctrl->value = data->value; in exynos_retention_init()
953 ctrl->refcnt = data->refcnt; in exynos_retention_init()
954 ctrl->enable = exynos_retention_enable; in exynos_retention_init()
955 ctrl->disable = exynos_retention_disable; in exynos_retention_init()
958 for (i = 0; i < ctrl->nr_regs; i++) in exynos_retention_init()
959 regmap_write(pmu_regs, ctrl->regs[i], ctrl->value); in exynos_retention_init()
961 return ctrl; in exynos_retention_init()