Commit 7ac839a0 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm

Pull ARM cpufreq changes for v5.12 from Viresh Kumar:

"- Removal of Tango driver as the platform got removed (Arnd Bergmann).

 - Use resource managed APIs for tegra20 (Dmitry Osipenko).

 - Generic cleanups for brcmstb (Christophe JAILLET).

 - Enable boost support for qcom-hw (Shawn Guo)."

* 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
  cpufreq: remove tango driver
  cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove()
  cpufreq: brcmstb-avs-cpufreq: Free resources in error path
  cpufreq: qcom-hw: enable boost support
  cpufreq: tegra20: Use resource-managed API
parents 2f053186 7114ebff
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -289,11 +289,6 @@ config ARM_STI_CPUFREQ
	  this config option if you wish to add CPUFreq support for STi based
	  SoCs.

config ARM_TANGO_CPUFREQ
	bool
	depends on CPUFREQ_DT && ARCH_TANGO
	default y

config ARM_TEGRA20_CPUFREQ
	tristate "Tegra20/30 CPUFreq support"
	depends on ARCH_TEGRA && CPUFREQ_DT
+0 −1
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ obj-$(CONFIG_ARM_SCPI_CPUFREQ) += scpi-cpufreq.o
obj-$(CONFIG_ARM_SPEAR_CPUFREQ)		+= spear-cpufreq.o
obj-$(CONFIG_ARM_STI_CPUFREQ)		+= sti-cpufreq.o
obj-$(CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM) += sun50i-cpufreq-nvmem.o
obj-$(CONFIG_ARM_TANGO_CPUFREQ)		+= tango-cpufreq.o
obj-$(CONFIG_ARM_TEGRA20_CPUFREQ)	+= tegra20-cpufreq.o
obj-$(CONFIG_ARM_TEGRA124_CPUFREQ)	+= tegra124-cpufreq.o
obj-$(CONFIG_ARM_TEGRA186_CPUFREQ)	+= tegra186-cpufreq.o
+17 −7
Original line number Diff line number Diff line
@@ -597,6 +597,16 @@ static int brcm_avs_prepare_init(struct platform_device *pdev)
	return ret;
}

static void brcm_avs_prepare_uninit(struct platform_device *pdev)
{
	struct private_data *priv;

	priv = platform_get_drvdata(pdev);

	iounmap(priv->avs_intr_base);
	iounmap(priv->base);
}

static int brcm_avs_cpufreq_init(struct cpufreq_policy *policy)
{
	struct cpufreq_frequency_table *freq_table;
@@ -732,21 +742,21 @@ static int brcm_avs_cpufreq_probe(struct platform_device *pdev)

	brcm_avs_driver.driver_data = pdev;

	return cpufreq_register_driver(&brcm_avs_driver);
	ret = cpufreq_register_driver(&brcm_avs_driver);
	if (ret)
		brcm_avs_prepare_uninit(pdev);

	return ret;
}

static int brcm_avs_cpufreq_remove(struct platform_device *pdev)
{
	struct private_data *priv;
	int ret;

	ret = cpufreq_unregister_driver(&brcm_avs_driver);
	if (ret)
		return ret;
	WARN_ON(ret);

	priv = platform_get_drvdata(pdev);
	iounmap(priv->base);
	iounmap(priv->avs_intr_base);
	brcm_avs_prepare_uninit(pdev);

	return 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -141,8 +141,6 @@ static const struct of_device_id blacklist[] __initconst = {
	{ .compatible = "st,stih410", },
	{ .compatible = "st,stih418", },

	{ .compatible = "sigma,tango4", },

	{ .compatible = "ti,am33xx", },
	{ .compatible = "ti,am43", },
	{ .compatible = "ti,dra7", },
+6 −0
Original line number Diff line number Diff line
@@ -347,6 +347,12 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy)

	dev_pm_opp_of_register_em(cpu_dev, policy->cpus);

	if (policy_has_boost_freq(policy)) {
		ret = cpufreq_enable_boost_support();
		if (ret)
			dev_warn(cpu_dev, "failed to enable boost: %d\n", ret);
	}

	return 0;
error:
	devm_iounmap(dev, base);
Loading