Merge branch 'linus' into cpumask-for-linus
Conflicts: arch/x86/kernel/cpu/common.c
This commit is contained in:
@@ -39,7 +39,7 @@ static struct pci_dev *speedstep_chipset_dev;
|
||||
|
||||
/* speedstep_processor
|
||||
*/
|
||||
static unsigned int speedstep_processor = 0;
|
||||
static unsigned int speedstep_processor;
|
||||
|
||||
static u32 pmbase;
|
||||
|
||||
@@ -54,7 +54,8 @@ static struct cpufreq_frequency_table speedstep_freqs[] = {
|
||||
};
|
||||
|
||||
|
||||
#define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, "speedstep-ich", msg)
|
||||
#define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, \
|
||||
"speedstep-ich", msg)
|
||||
|
||||
|
||||
/**
|
||||
@@ -62,7 +63,7 @@ static struct cpufreq_frequency_table speedstep_freqs[] = {
|
||||
*
|
||||
* Returns: -ENODEV if no register could be found
|
||||
*/
|
||||
static int speedstep_find_register (void)
|
||||
static int speedstep_find_register(void)
|
||||
{
|
||||
if (!speedstep_chipset_dev)
|
||||
return -ENODEV;
|
||||
@@ -90,7 +91,7 @@ static int speedstep_find_register (void)
|
||||
*
|
||||
* Tries to change the SpeedStep state.
|
||||
*/
|
||||
static void speedstep_set_state (unsigned int state)
|
||||
static void speedstep_set_state(unsigned int state)
|
||||
{
|
||||
u8 pm2_blk;
|
||||
u8 value;
|
||||
@@ -133,11 +134,11 @@ static void speedstep_set_state (unsigned int state)
|
||||
|
||||
dprintk("read at pmbase 0x%x + 0x50 returned 0x%x\n", pmbase, value);
|
||||
|
||||
if (state == (value & 0x1)) {
|
||||
dprintk("change to %u MHz succeeded\n", (speedstep_get_processor_frequency(speedstep_processor) / 1000));
|
||||
} else {
|
||||
printk (KERN_ERR "cpufreq: change failed - I/O error\n");
|
||||
}
|
||||
if (state == (value & 0x1))
|
||||
dprintk("change to %u MHz succeeded\n",
|
||||
speedstep_get_frequency(speedstep_processor) / 1000);
|
||||
else
|
||||
printk(KERN_ERR "cpufreq: change failed - I/O error\n");
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -149,7 +150,7 @@ static void speedstep_set_state (unsigned int state)
|
||||
* Tries to activate the SpeedStep status and control registers.
|
||||
* Returns -EINVAL on an unsupported chipset, and zero on success.
|
||||
*/
|
||||
static int speedstep_activate (void)
|
||||
static int speedstep_activate(void)
|
||||
{
|
||||
u16 value = 0;
|
||||
|
||||
@@ -175,20 +176,18 @@ static int speedstep_activate (void)
|
||||
* functions. Returns the SPEEDSTEP_CHIPSET_-number for the detected
|
||||
* chipset, or zero on failure.
|
||||
*/
|
||||
static unsigned int speedstep_detect_chipset (void)
|
||||
static unsigned int speedstep_detect_chipset(void)
|
||||
{
|
||||
speedstep_chipset_dev = pci_get_subsys(PCI_VENDOR_ID_INTEL,
|
||||
PCI_DEVICE_ID_INTEL_82801DB_12,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
NULL);
|
||||
if (speedstep_chipset_dev)
|
||||
return 4; /* 4-M */
|
||||
|
||||
speedstep_chipset_dev = pci_get_subsys(PCI_VENDOR_ID_INTEL,
|
||||
PCI_DEVICE_ID_INTEL_82801CA_12,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
NULL);
|
||||
if (speedstep_chipset_dev)
|
||||
return 3; /* 3-M */
|
||||
@@ -196,8 +195,7 @@ static unsigned int speedstep_detect_chipset (void)
|
||||
|
||||
speedstep_chipset_dev = pci_get_subsys(PCI_VENDOR_ID_INTEL,
|
||||
PCI_DEVICE_ID_INTEL_82801BA_10,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
NULL);
|
||||
if (speedstep_chipset_dev) {
|
||||
/* speedstep.c causes lockups on Dell Inspirons 8000 and
|
||||
@@ -208,8 +206,7 @@ static unsigned int speedstep_detect_chipset (void)
|
||||
|
||||
hostbridge = pci_get_subsys(PCI_VENDOR_ID_INTEL,
|
||||
PCI_DEVICE_ID_INTEL_82815_MC,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID,
|
||||
PCI_ANY_ID, PCI_ANY_ID,
|
||||
NULL);
|
||||
|
||||
if (!hostbridge)
|
||||
@@ -236,7 +233,7 @@ static unsigned int _speedstep_get(const struct cpumask *cpus)
|
||||
|
||||
cpus_allowed = current->cpus_allowed;
|
||||
set_cpus_allowed_ptr(current, cpus);
|
||||
speed = speedstep_get_processor_frequency(speedstep_processor);
|
||||
speed = speedstep_get_frequency(speedstep_processor);
|
||||
set_cpus_allowed_ptr(current, &cpus_allowed);
|
||||
dprintk("detected %u kHz as current frequency\n", speed);
|
||||
return speed;
|
||||
@@ -251,11 +248,12 @@ static unsigned int speedstep_get(unsigned int cpu)
|
||||
* speedstep_target - set a new CPUFreq policy
|
||||
* @policy: new policy
|
||||
* @target_freq: the target frequency
|
||||
* @relation: how that frequency relates to achieved frequency (CPUFREQ_RELATION_L or CPUFREQ_RELATION_H)
|
||||
* @relation: how that frequency relates to achieved frequency
|
||||
* (CPUFREQ_RELATION_L or CPUFREQ_RELATION_H)
|
||||
*
|
||||
* Sets a new CPUFreq policy.
|
||||
*/
|
||||
static int speedstep_target (struct cpufreq_policy *policy,
|
||||
static int speedstep_target(struct cpufreq_policy *policy,
|
||||
unsigned int target_freq,
|
||||
unsigned int relation)
|
||||
{
|
||||
@@ -264,7 +262,8 @@ static int speedstep_target (struct cpufreq_policy *policy,
|
||||
cpumask_t cpus_allowed;
|
||||
int i;
|
||||
|
||||
if (cpufreq_frequency_table_target(policy, &speedstep_freqs[0], target_freq, relation, &newstate))
|
||||
if (cpufreq_frequency_table_target(policy, &speedstep_freqs[0],
|
||||
target_freq, relation, &newstate))
|
||||
return -EINVAL;
|
||||
|
||||
freqs.old = _speedstep_get(policy->cpus);
|
||||
@@ -308,7 +307,7 @@ static int speedstep_target (struct cpufreq_policy *policy,
|
||||
* Limit must be within speedstep_low_freq and speedstep_high_freq, with
|
||||
* at least one border included.
|
||||
*/
|
||||
static int speedstep_verify (struct cpufreq_policy *policy)
|
||||
static int speedstep_verify(struct cpufreq_policy *policy)
|
||||
{
|
||||
return cpufreq_frequency_table_verify(policy, &speedstep_freqs[0]);
|
||||
}
|
||||
@@ -344,7 +343,8 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy)
|
||||
return -EIO;
|
||||
|
||||
dprintk("currently at %s speed setting - %i MHz\n",
|
||||
(speed == speedstep_freqs[SPEEDSTEP_LOW].frequency) ? "low" : "high",
|
||||
(speed == speedstep_freqs[SPEEDSTEP_LOW].frequency)
|
||||
? "low" : "high",
|
||||
(speed / 1000));
|
||||
|
||||
/* cpuinfo and default policy values */
|
||||
@@ -352,9 +352,9 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy)
|
||||
|
||||
result = cpufreq_frequency_table_cpuinfo(policy, speedstep_freqs);
|
||||
if (result)
|
||||
return (result);
|
||||
return result;
|
||||
|
||||
cpufreq_frequency_table_get_attr(speedstep_freqs, policy->cpu);
|
||||
cpufreq_frequency_table_get_attr(speedstep_freqs, policy->cpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -366,7 +366,7 @@ static int speedstep_cpu_exit(struct cpufreq_policy *policy)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct freq_attr* speedstep_attr[] = {
|
||||
static struct freq_attr *speedstep_attr[] = {
|
||||
&cpufreq_freq_attr_scaling_available_freqs,
|
||||
NULL,
|
||||
};
|
||||
@@ -396,13 +396,15 @@ static int __init speedstep_init(void)
|
||||
/* detect processor */
|
||||
speedstep_processor = speedstep_detect_processor();
|
||||
if (!speedstep_processor) {
|
||||
dprintk("Intel(R) SpeedStep(TM) capable processor not found\n");
|
||||
dprintk("Intel(R) SpeedStep(TM) capable processor "
|
||||
"not found\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/* detect chipset */
|
||||
if (!speedstep_detect_chipset()) {
|
||||
dprintk("Intel(R) SpeedStep(TM) for this chipset not (yet) available.\n");
|
||||
dprintk("Intel(R) SpeedStep(TM) for this chipset not "
|
||||
"(yet) available.\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
@@ -431,9 +433,11 @@ static void __exit speedstep_exit(void)
|
||||
}
|
||||
|
||||
|
||||
MODULE_AUTHOR ("Dave Jones <davej@redhat.com>, Dominik Brodowski <linux@brodo.de>");
|
||||
MODULE_DESCRIPTION ("Speedstep driver for Intel mobile processors on chipsets with ICH-M southbridges.");
|
||||
MODULE_LICENSE ("GPL");
|
||||
MODULE_AUTHOR("Dave Jones <davej@redhat.com>, "
|
||||
"Dominik Brodowski <linux@brodo.de>");
|
||||
MODULE_DESCRIPTION("Speedstep driver for Intel mobile processors on chipsets "
|
||||
"with ICH-M southbridges.");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
module_init(speedstep_init);
|
||||
module_exit(speedstep_exit);
|
||||
|
Reference in New Issue
Block a user