Commit 49df85d0 authored by Viresh Kumar's avatar Viresh Kumar
Browse files

cpufreq: sti: Migrate to dev_pm_opp_set_config()



The OPP core now provides a unified API for setting all configuration
types, i.e. dev_pm_opp_set_config().

Lets start using it.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
parent 49cd000d
Loading
Loading
Loading
Loading
+10 −17
Original line number Diff line number Diff line
@@ -156,9 +156,13 @@ static int sti_cpufreq_set_opp_info(void)
	unsigned int hw_info_offset;
	unsigned int version[VERSION_ELEMENTS];
	int pcode, substrate, major, minor;
	int ret;
	int opp_token, ret;
	char name[MAX_PCODE_NAME_LEN];
	struct opp_table *opp_table;
	struct dev_pm_opp_config config = {
		.supported_hw = version,
		.supported_hw_count = ARRAY_SIZE(version),
		.prop_name = name,
	};

	reg_fields = sti_cpufreq_match();
	if (!reg_fields) {
@@ -210,21 +214,14 @@ static int sti_cpufreq_set_opp_info(void)

	snprintf(name, MAX_PCODE_NAME_LEN, "pcode%d", pcode);

	opp_table = dev_pm_opp_set_prop_name(dev, name);
	if (IS_ERR(opp_table)) {
		dev_err(dev, "Failed to set prop name\n");
		return PTR_ERR(opp_table);
	}

	version[0] = BIT(major);
	version[1] = BIT(minor);
	version[2] = BIT(substrate);

	opp_table = dev_pm_opp_set_supported_hw(dev, version, VERSION_ELEMENTS);
	if (IS_ERR(opp_table)) {
		dev_err(dev, "Failed to set supported hardware\n");
		ret = PTR_ERR(opp_table);
		goto err_put_prop_name;
	opp_token = dev_pm_opp_set_config(dev, &config);
	if (opp_token < 0) {
		dev_err(dev, "Failed to set OPP config\n");
		return opp_token;
	}

	dev_dbg(dev, "pcode: %d major: %d minor: %d substrate: %d\n",
@@ -233,10 +230,6 @@ static int sti_cpufreq_set_opp_info(void)
		version[0], version[1], version[2]);

	return 0;

err_put_prop_name:
	dev_pm_opp_put_prop_name(opp_table);
	return ret;
}

static int sti_cpufreq_fetch_syscon_registers(void)