apm_power: calculate to_full/to_empty time using energy
[pandora-kernel.git] / arch / i386 / kernel / acpi / cstate.c
index 20563e5..2d39f55 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/init.h>
 #include <linux/acpi.h>
 #include <linux/cpu.h>
+#include <linux/sched.h>
 
 #include <acpi/processor.h>
 #include <asm/acpi.h>
@@ -46,13 +47,13 @@ EXPORT_SYMBOL(acpi_processor_power_init_bm_check);
 
 /* The code below handles cstate entry with monitor-mwait pair on Intel*/
 
-struct cstate_entry_s {
+struct cstate_entry {
        struct {
                unsigned int eax;
                unsigned int ecx;
        } states[ACPI_PROCESSOR_MAX_POWER];
 };
-static struct cstate_entry_s *cpu_cstate_entry;        /* per CPU ptr */
+static struct cstate_entry *cpu_cstate_entry;  /* per CPU ptr */
 
 static short mwait_supported[ACPI_PROCESSOR_MAX_POWER];
 
@@ -70,7 +71,7 @@ static short mwait_supported[ACPI_PROCESSOR_MAX_POWER];
 int acpi_processor_ffh_cstate_probe(unsigned int cpu,
                struct acpi_processor_cx *cx, struct acpi_power_register *reg)
 {
-       struct cstate_entry_s *percpu_entry;
+       struct cstate_entry *percpu_entry;
        struct cpuinfo_x86 *c = cpu_data + cpu;
 
        cpumask_t saved_mask;
@@ -135,7 +136,7 @@ EXPORT_SYMBOL_GPL(acpi_processor_ffh_cstate_probe);
 void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx *cx)
 {
        unsigned int cpu = smp_processor_id();
-       struct cstate_entry_s *percpu_entry;
+       struct cstate_entry *percpu_entry;
 
        percpu_entry = per_cpu_ptr(cpu_cstate_entry, cpu);
        mwait_idle_with_hints(percpu_entry->states[cx->index].eax,
@@ -149,16 +150,14 @@ static int __init ffh_cstate_init(void)
        if (c->x86_vendor != X86_VENDOR_INTEL)
                return -1;
 
-       cpu_cstate_entry = alloc_percpu(struct cstate_entry_s);
+       cpu_cstate_entry = alloc_percpu(struct cstate_entry);
        return 0;
 }
 
 static void __exit ffh_cstate_exit(void)
 {
-       if (cpu_cstate_entry) {
-               free_percpu(cpu_cstate_entry);
-               cpu_cstate_entry = NULL;
-       }
+       free_percpu(cpu_cstate_entry);
+       cpu_cstate_entry = NULL;
 }
 
 arch_initcall(ffh_cstate_init);