mirror of https://gitee.com/openkylin/linux.git
Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm into pm-cpufreq
Pull cpufreq drivers material for v5.1 from Viresh Kumar: "This contains: - Minor cleanups for pcc, longhaul, powerenv and speedstep drivers (Yangtao Li). - Moving configuration data out of mach directory for davinci (Bartosz Golaszewski)." * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: cpufreq: davinci: move configuration to include/linux/platform_data cpufreq: speedstep: convert BUG() to BUG_ON() cpufreq: powernv: fix missing check of return value in init_powernv_pstates() cpufreq: longhaul: remove unneeded semicolon cpufreq: pcc-cpufreq: remove unneeded semicolon
This commit is contained in:
commit
ab0ef5d532
|
@ -21,6 +21,7 @@
|
|||
#include <linux/mfd/da8xx-cfgchip.h>
|
||||
#include <linux/platform_data/clk-da8xx-cfgchip.h>
|
||||
#include <linux/platform_data/clk-davinci-pll.h>
|
||||
#include <linux/platform_data/davinci-cpufreq.h>
|
||||
#include <linux/platform_data/gpio-davinci.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/regmap.h>
|
||||
|
@ -29,7 +30,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include <mach/common.h>
|
||||
#include <mach/cpufreq.h>
|
||||
#include <mach/cputype.h>
|
||||
#include <mach/da8xx.h>
|
||||
#include <mach/irqs.h>
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* TI DaVinci CPUFreq platform support.
|
||||
*
|
||||
* Copyright (C) 2009 Texas Instruments, Inc. http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation version 2.
|
||||
*
|
||||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||||
* kind, whether express or implied; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
#ifndef _MACH_DAVINCI_CPUFREQ_H
|
||||
#define _MACH_DAVINCI_CPUFREQ_H
|
||||
|
||||
#include <linux/cpufreq.h>
|
||||
|
||||
struct davinci_cpufreq_config {
|
||||
struct cpufreq_frequency_table *freq_table;
|
||||
int (*set_voltage) (unsigned int index);
|
||||
int (*init) (void);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -23,13 +23,10 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/platform_data/davinci-cpufreq.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/cpufreq.h>
|
||||
#include <mach/common.h>
|
||||
|
||||
struct davinci_cpufreq {
|
||||
struct device *dev;
|
||||
struct clk *armclk;
|
||||
|
|
|
@ -851,7 +851,7 @@ static int longhaul_cpu_init(struct cpufreq_policy *policy)
|
|||
case TYPE_POWERSAVER:
|
||||
pr_cont("Powersaver supported\n");
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
/* Doesn't hurt */
|
||||
longhaul_setup_southbridge();
|
||||
|
|
|
@ -268,7 +268,7 @@ static int pcc_get_offset(int cpu)
|
|||
if (!pccp || pccp->type != ACPI_TYPE_PACKAGE) {
|
||||
ret = -ENODEV;
|
||||
goto out_free;
|
||||
};
|
||||
}
|
||||
|
||||
offset = &(pccp->package.elements[0]);
|
||||
if (!offset || offset->type != ACPI_TYPE_INTEGER) {
|
||||
|
|
|
@ -244,6 +244,7 @@ static int init_powernv_pstates(void)
|
|||
u32 len_ids, len_freqs;
|
||||
u32 pstate_min, pstate_max, pstate_nominal;
|
||||
u32 pstate_turbo, pstate_ultra_turbo;
|
||||
int rc = -ENODEV;
|
||||
|
||||
power_mgt = of_find_node_by_path("/ibm,opal/power-mgt");
|
||||
if (!power_mgt) {
|
||||
|
@ -327,8 +328,11 @@ static int init_powernv_pstates(void)
|
|||
powernv_freqs[i].frequency = freq * 1000; /* kHz */
|
||||
powernv_freqs[i].driver_data = id & 0xFF;
|
||||
|
||||
revmap_data = (struct pstate_idx_revmap_data *)
|
||||
kmalloc(sizeof(*revmap_data), GFP_KERNEL);
|
||||
revmap_data = kmalloc(sizeof(*revmap_data), GFP_KERNEL);
|
||||
if (!revmap_data) {
|
||||
rc = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
revmap_data->pstate_id = id & 0xFF;
|
||||
revmap_data->cpufreq_table_idx = i;
|
||||
|
@ -357,7 +361,7 @@ static int init_powernv_pstates(void)
|
|||
return 0;
|
||||
out:
|
||||
of_node_put(power_mgt);
|
||||
return -ENODEV;
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* Returns the CPU frequency corresponding to the pstate_id. */
|
||||
|
|
|
@ -243,8 +243,7 @@ static unsigned int speedstep_get(unsigned int cpu)
|
|||
unsigned int speed;
|
||||
|
||||
/* You're supposed to ensure CPU is online. */
|
||||
if (smp_call_function_single(cpu, get_freq_data, &speed, 1) != 0)
|
||||
BUG();
|
||||
BUG_ON(smp_call_function_single(cpu, get_freq_data, &speed, 1));
|
||||
|
||||
pr_debug("detected %u kHz as current frequency\n", speed);
|
||||
return speed;
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* TI DaVinci CPUFreq platform support.
|
||||
*
|
||||
* Copyright (C) 2009 Texas Instruments, Inc. http://www.ti.com/
|
||||
*/
|
||||
|
||||
#ifndef _MACH_DAVINCI_CPUFREQ_H
|
||||
#define _MACH_DAVINCI_CPUFREQ_H
|
||||
|
||||
#include <linux/cpufreq.h>
|
||||
|
||||
struct davinci_cpufreq_config {
|
||||
struct cpufreq_frequency_table *freq_table;
|
||||
int (*set_voltage)(unsigned int index);
|
||||
int (*init)(void);
|
||||
};
|
||||
|
||||
#endif /* _MACH_DAVINCI_CPUFREQ_H */
|
Loading…
Reference in New Issue