for_each_child_of_node(np, child_np) {
int index;
const char *available;
+#ifdef CONFIG_EXYNOS_ACPM
const char *policy_use;
-
+#endif
if (of_property_read_u32(child_np, "dm-index", &index))
return -ENODEV;
} else {
dm->dm_data[index].available = false;
}
-
+#ifdef CONFIG_EXYNOS_ACPM
if (of_property_read_string(child_np, "policy_use", &policy_use)) {
dev_info(dm->dev, "This doesn't need to send policy to ACPM\n");
} else {
if (of_property_read_u32(child_np, "cal_id", &dm->dm_data[index].cal_id))
return -ENODEV;
+#endif
}
return ret;
{
struct exynos_dm_data *dm;
struct timeval pre, before, after;
+#ifdef CONFIG_EXYNOS_ACPM
struct ipc_config config;
unsigned int cmd[4];
int size, ch_num, ret;
+#endif
s32 time = 0, pre_time = 0;
do_gettimeofday(&pre);
constraint_checker_max(get_max_constraint_list(dm), max_freq);
/*Send policy to FVP*/
+#ifdef CONFIG_EXYNOS_ACPM
if (dm->policy_use) {
ret = acpm_ipc_request_channel(exynos_dm->dev->of_node, NULL, &ch_num, &size);
if (ret) {
return -EINVAL;
}
}
+#endif
out:
do_gettimeofday(&after);
struct exynos_dm_data {
bool available; /* use for DVFS domain available */
+#ifdef CONFIG_EXYNOS_ACPM
bool policy_use;
-
+#endif
enum exynos_dm_type dm_type;
enum exynos_dvfs_type dvfs_type;
char dm_type_name[EXYNOS_DM_TYPE_NAME_LEN];
struct list_head min_clist;
struct list_head max_clist;
u32 constraint_checked;
+#ifdef CONFIG_EXYNOS_ACPM
u32 cal_id;
+#endif
};
struct exynos_dm_device {