Lines Matching defs:asv
20 #include "exynos-asv.h"
21 #include "exynos5422-asv.h"
25 static int exynos_asv_update_cpu_opps(struct exynos_asv *asv,
33 for (i = 0; i < ARRAY_SIZE(asv->subsys); i++) {
35 asv->subsys[i].cpu_dt_compat)) {
36 subsys = &asv->subsys[i];
51 dev_info(asv->dev, "cpu%d opp%d, freq: %u missing\n",
58 new_volt = asv->opp_get_voltage(subsys, i, volt);
67 dev_err(asv->dev,
71 dev_dbg(asv->dev,
79 static int exynos_asv_update_opps(struct exynos_asv *asv)
99 ret = exynos_asv_update_cpu_opps(asv, cpu);
101 dev_err(asv->dev, "Couldn't udate OPPs for cpu%d\n",
113 int (*probe_func)(struct exynos_asv *asv);
114 struct exynos_asv *asv;
119 asv = devm_kzalloc(dev, sizeof(*asv), GFP_KERNEL);
120 if (!asv)
123 asv->chipid_regmap = regmap;
124 asv->dev = dev;
125 ret = regmap_read(asv->chipid_regmap, EXYNOS_CHIPID_REG_PRO_ID,
138 devm_kfree(dev, asv);
147 ret = of_property_read_u32(dev->of_node, "samsung,asv-bin",
148 &asv->of_bin);
150 asv->of_bin = -EINVAL;
152 for (i = 0; i < ARRAY_SIZE(asv->subsys); i++)
153 asv->subsys[i].asv = asv;
155 ret = probe_func(asv);
159 return exynos_asv_update_opps(asv);