Commit 0a9db0a0 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 cpufreq material for v5.6 from Viresh Kumar:

"This contains:

- Update to imx cpufreq driver to add support for i.MX8MP platform.

- Blacklists few NVIDIA SoCs from cpufreq-dt-platdev layer.

- Convertion of few platform drivers to use
  devm_platform_ioremap_resource().

- Fixed refcount imbalance in few drivers."

* 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
  cpufreq: brcmstb-avs: fix imbalance of cpufreq policy refcount
  cpufreq: s3c: fix unbalances of cpufreq policy refcount
  cpufreq: imx-cpufreq-dt: Add i.MX8MP support
  cpufreq: Use imx-cpufreq-dt for i.MX8MP's speed grading
  cpufreq: tegra186: convert to devm_platform_ioremap_resource
  cpufreq: kirkwood: convert to devm_platform_ioremap_resource
parents 1250c1a5 a48ac1c9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -455,6 +455,8 @@ static unsigned int brcm_avs_cpufreq_get(unsigned int cpu)
	struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
	struct private_data *priv = policy->driver_data;

	cpufreq_cpu_put(policy);

	return brcm_avs_get_frequency(priv->base);
}

+1 −0
Original line number Diff line number Diff line
@@ -109,6 +109,7 @@ static const struct of_device_id blacklist[] __initconst = {
	{ .compatible = "fsl,imx8mq", },
	{ .compatible = "fsl,imx8mm", },
	{ .compatible = "fsl,imx8mn", },
	{ .compatible = "fsl,imx8mp", },

	{ .compatible = "marvell,armadaxp", },

+4 −2
Original line number Diff line number Diff line
@@ -35,7 +35,8 @@ static int imx_cpufreq_dt_probe(struct platform_device *pdev)
	if (ret)
		return ret;

	if (of_machine_is_compatible("fsl,imx8mn"))
	if (of_machine_is_compatible("fsl,imx8mn") ||
	    of_machine_is_compatible("fsl,imx8mp"))
		speed_grade = (cell_value & IMX8MN_OCOTP_CFG3_SPEED_GRADE_MASK)
			      >> OCOTP_CFG3_SPEED_GRADE_SHIFT;
	else
@@ -54,7 +55,8 @@ static int imx_cpufreq_dt_probe(struct platform_device *pdev)
		if (of_machine_is_compatible("fsl,imx8mm") ||
		    of_machine_is_compatible("fsl,imx8mq"))
			speed_grade = 1;
		if (of_machine_is_compatible("fsl,imx8mn"))
		if (of_machine_is_compatible("fsl,imx8mn") ||
		    of_machine_is_compatible("fsl,imx8mp"))
			speed_grade = 0xb;
	}

+1 −3
Original line number Diff line number Diff line
@@ -102,13 +102,11 @@ static struct cpufreq_driver kirkwood_cpufreq_driver = {
static int kirkwood_cpufreq_probe(struct platform_device *pdev)
{
	struct device_node *np;
	struct resource *res;
	int err;

	priv.dev = &pdev->dev;

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	priv.base = devm_ioremap_resource(&pdev->dev, res);
	priv.base = devm_platform_ioremap_resource(pdev, 0);
	if (IS_ERR(priv.base))
		return PTR_ERR(priv.base);

+11 −1
Original line number Diff line number Diff line
@@ -304,6 +304,7 @@ static int s3c2416_cpufreq_reboot_notifier_evt(struct notifier_block *this,
{
	struct s3c2416_data *s3c_freq = &s3c2416_cpufreq;
	int ret;
	struct cpufreq_policy *policy;

	mutex_lock(&cpufreq_lock);

@@ -318,7 +319,16 @@ static int s3c2416_cpufreq_reboot_notifier_evt(struct notifier_block *this,
	 */
	if (s3c_freq->is_dvs) {
		pr_debug("cpufreq: leave dvs on reboot\n");
		ret = cpufreq_driver_target(cpufreq_cpu_get(0), FREQ_SLEEP, 0);

		policy = cpufreq_cpu_get(0);
		if (!policy) {
			pr_debug("cpufreq: get no policy for cpu0\n");
			return NOTIFY_BAD;
		}

		ret = cpufreq_driver_target(policy, FREQ_SLEEP, 0);
		cpufreq_cpu_put(policy);

		if (ret < 0)
			return NOTIFY_BAD;
	}
Loading