]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/acpi/processor_idle.c
ACPI processor: remove deprecated ACPI procfs I/F
[net-next-2.6.git] / drivers / acpi / processor_idle.c
index b1b385692f46e09f05dd55882ed3ea9c73039b74..5cbc0cb73e2c6c2b3811e74bc7650fa2ea389b0a 100644 (file)
@@ -33,8 +33,6 @@
 #include <linux/init.h>
 #include <linux/cpufreq.h>
 #include <linux/slab.h>
-#include <linux/proc_fs.h>
-#include <linux/seq_file.h>
 #include <linux/acpi.h>
 #include <linux/dmi.h>
 #include <linux/moduleparam.h>
@@ -76,14 +74,12 @@ static unsigned int max_cstate __read_mostly = ACPI_PROCESSOR_MAX_POWER;
 module_param(max_cstate, uint, 0000);
 static unsigned int nocst __read_mostly;
 module_param(nocst, uint, 0000);
+static int bm_check_disable __read_mostly;
+module_param(bm_check_disable, uint, 0000);
 
 static unsigned int latency_factor __read_mostly = 2;
 module_param(latency_factor, uint, 0644);
 
-static u64 us_to_pm_timer_ticks(s64 t)
-{
-       return div64_u64(t * PM_TIMER_FREQUENCY, 1000000);
-}
 /*
  * IBM ThinkPad R40e crashes mysteriously when going into C2 or C3.
  * For now disable this. Probably a bug somewhere else.
@@ -684,78 +680,6 @@ static int acpi_processor_get_power_info(struct acpi_processor *pr)
        return 0;
 }
 
-#ifdef CONFIG_ACPI_PROCFS
-static int acpi_processor_power_seq_show(struct seq_file *seq, void *offset)
-{
-       struct acpi_processor *pr = seq->private;
-       unsigned int i;
-
-
-       if (!pr)
-               goto end;
-
-       seq_printf(seq, "active state:            C%zd\n"
-                  "max_cstate:              C%d\n"
-                  "maximum allowed latency: %d usec\n",
-                  pr->power.state ? pr->power.state - pr->power.states : 0,
-                  max_cstate, pm_qos_request(PM_QOS_CPU_DMA_LATENCY));
-
-       seq_puts(seq, "states:\n");
-
-       for (i = 1; i <= pr->power.count; i++) {
-               seq_printf(seq, "   %cC%d:                  ",
-                          (&pr->power.states[i] ==
-                           pr->power.state ? '*' : ' '), i);
-
-               if (!pr->power.states[i].valid) {
-                       seq_puts(seq, "<not supported>\n");
-                       continue;
-               }
-
-               switch (pr->power.states[i].type) {
-               case ACPI_STATE_C1:
-                       seq_printf(seq, "type[C1] ");
-                       break;
-               case ACPI_STATE_C2:
-                       seq_printf(seq, "type[C2] ");
-                       break;
-               case ACPI_STATE_C3:
-                       seq_printf(seq, "type[C3] ");
-                       break;
-               default:
-                       seq_printf(seq, "type[--] ");
-                       break;
-               }
-
-               seq_puts(seq, "promotion[--] ");
-
-               seq_puts(seq, "demotion[--] ");
-
-               seq_printf(seq, "latency[%03d] usage[%08d] duration[%020Lu]\n",
-                          pr->power.states[i].latency,
-                          pr->power.states[i].usage,
-                          us_to_pm_timer_ticks(pr->power.states[i].time));
-       }
-
-      end:
-       return 0;
-}
-
-static int acpi_processor_power_open_fs(struct inode *inode, struct file *file)
-{
-       return single_open(file, acpi_processor_power_seq_show,
-                          PDE(inode)->data);
-}
-
-static const struct file_operations acpi_processor_power_fops = {
-       .owner = THIS_MODULE,
-       .open = acpi_processor_power_open_fs,
-       .read = seq_read,
-       .llseek = seq_lseek,
-       .release = single_release,
-};
-#endif
-
 /**
  * acpi_idle_bm_check - checks if bus master activity was detected
  */
@@ -763,6 +687,9 @@ static int acpi_idle_bm_check(void)
 {
        u32 bm_status = 0;
 
+       if (bm_check_disable)
+               return 0;
+
        acpi_read_bit_register(ACPI_BITREG_BUS_MASTER_STATUS, &bm_status);
        if (bm_status)
                acpi_write_bit_register(ACPI_BITREG_BUS_MASTER_STATUS, 1);
@@ -947,7 +874,7 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
        if (acpi_idle_suspend)
                return(acpi_idle_enter_c1(dev, state));
 
-       if (acpi_idle_bm_check()) {
+       if (!cx->bm_sts_skip && acpi_idle_bm_check()) {
                if (dev->safe_state) {
                        dev->last_state = dev->safe_state;
                        return dev->safe_state->enter(dev, dev->safe_state);
@@ -1164,9 +1091,6 @@ int __cpuinit acpi_processor_power_init(struct acpi_processor *pr,
 {
        acpi_status status = 0;
        static int first_run;
-#ifdef CONFIG_ACPI_PROCFS
-       struct proc_dir_entry *entry = NULL;
-#endif
 
        if (boot_option_idle_override)
                return 0;
@@ -1215,15 +1139,6 @@ int __cpuinit acpi_processor_power_init(struct acpi_processor *pr,
                if (cpuidle_register_device(&pr->power.dev))
                        return -EIO;
        }
-#ifdef CONFIG_ACPI_PROCFS
-       /* 'power' [R] */
-       entry = proc_create_data(ACPI_PROCESSOR_FILE_POWER,
-                                S_IRUGO, acpi_device_dir(device),
-                                &acpi_processor_power_fops,
-                                acpi_driver_data(device));
-       if (!entry)
-               return -EIO;
-#endif
        return 0;
 }
 
@@ -1236,11 +1151,5 @@ int acpi_processor_power_exit(struct acpi_processor *pr,
        cpuidle_unregister_device(&pr->power.dev);
        pr->flags.power_setup_done = 0;
 
-#ifdef CONFIG_ACPI_PROCFS
-       if (acpi_device_dir(device))
-               remove_proc_entry(ACPI_PROCESSOR_FILE_POWER,
-                                 acpi_device_dir(device));
-#endif
-
        return 0;
 }