Skip to contentSkip to conversation

Patch "cpufreq: st: enable selective initialization based on the platform" has been added to the 4.5-stable tree

PATCH [email protected] 1 participant 1 message May 8, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

cpufreq: st: enable selective initialization based on the platform

to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
cpufreq-st-enable-selective-initialization-based-on-the-platform.patch
and it can be found in the queue-4.5 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 2482bc31ca8096241b8fa97610ef23154ce55f45 Mon Sep 17 00:00:00 2001

From: Sudeep Holla <[email protected]>
Date: Wed, 27 Apr 2016 17:18:59 +0100
Subject: cpufreq: st: enable selective initialization based on the platform

From: Sudeep Holla <[email protected]>

commit 2482bc31ca8096241b8fa97610ef23154ce55f45 upstream.

The sti-cpufreq does unconditional registration of the cpufreq-dt driver which causes issue on an multi-platform build. For example, on Vexpress TC2 platform, we get the following error on boot:

cpu cpu0: OPP-v2 not supported
cpu cpu0: Not doing voltage scaling
cpu: dev_pm_opp_of_cpumask_add_table: couldn't find opp table

	for cpu:0, -19
cpu cpu0: dev_pm_opp_get_max_volt_latency: Invalid regulator (-6)
...
arm_big_little: bL_cpufreq_register: Failed registering platform driver:
		vexpress-spc, err: -17

The actual driver fails to initialise as cpufreq-dt is probed successfully, which is incorrect. This issue can happen to any platform not using cpufreq-dt in a multi-platform build.

This patch adds a check to do selective initialization of the driver.

Fixes ab0ea257fc58 (cpufreq: st: Provide runtime initialised driver for ST's platforms)
---
 drivers/cpufreq/sti-cpufreq.c |    4 ++++
 1 file changed, 4 insertions(+)
drivers/cpufreq/sti-cpufreq.c +4 -0
@@ -259,6 +259,10 @@ static int sti_cpufreq_init(void)
 {
 	int ret;
 
+	if ((!of_machine_is_compatible("st,stih407")) &&
+		(!of_machine_is_compatible("st,stih410")))
+		return -ENODEV;
+
 	ddata.cpu = get_cpu_device(0);
 	if (!ddata.cpu) {
 		dev_err(ddata.cpu, "Failed to get device for CPU0\n");

Patches currently in stable-queue which might be from [email protected] are

queue-4.5/cpufreq-st-enable-selective-initialization-based-on-the-platform.patch