aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/thinkpad_acpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/thinkpad_acpi.h')
-rw-r--r--drivers/misc/thinkpad_acpi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/misc/thinkpad_acpi.h b/drivers/misc/thinkpad_acpi.h
index e833ff3caf39..2fe4d61cc27f 100644
--- a/drivers/misc/thinkpad_acpi.h
+++ b/drivers/misc/thinkpad_acpi.h
@@ -349,6 +349,8 @@ enum { /* Fan control constants */
349 349
350 TP_EC_FAN_FULLSPEED = 0x40, /* EC fan mode: full speed */ 350 TP_EC_FAN_FULLSPEED = 0x40, /* EC fan mode: full speed */
351 TP_EC_FAN_AUTO = 0x80, /* EC fan mode: auto fan control */ 351 TP_EC_FAN_AUTO = 0x80, /* EC fan mode: auto fan control */
352
353 TPACPI_FAN_LAST_LEVEL = 0x100, /* Use cached last-seen fan level */
352}; 354};
353 355
354enum fan_status_access_mode { 356enum fan_status_access_mode {
@@ -375,6 +377,7 @@ static enum fan_status_access_mode fan_status_access_mode;
375static enum fan_control_access_mode fan_control_access_mode; 377static enum fan_control_access_mode fan_control_access_mode;
376static enum fan_control_commands fan_control_commands; 378static enum fan_control_commands fan_control_commands;
377static u8 fan_control_initial_status; 379static u8 fan_control_initial_status;
380static u8 fan_control_desired_level;
378static int fan_watchdog_maxinterval; 381static int fan_watchdog_maxinterval;
379 382
380struct mutex fan_mutex; 383struct mutex fan_mutex;
@@ -384,10 +387,13 @@ static acpi_handle fans_handle, gfan_handle, sfan_handle;
384static int fan_init(struct ibm_init_struct *iibm); 387static int fan_init(struct ibm_init_struct *iibm);
385static void fan_exit(void); 388static void fan_exit(void);
386static int fan_get_status(u8 *status); 389static int fan_get_status(u8 *status);
390static int fan_get_status_safe(u8 *status);
387static int fan_get_speed(unsigned int *speed); 391static int fan_get_speed(unsigned int *speed);
392static void fan_update_desired_level(u8 status);
388static void fan_watchdog_fire(struct work_struct *ignored); 393static void fan_watchdog_fire(struct work_struct *ignored);
389static void fan_watchdog_reset(void); 394static void fan_watchdog_reset(void);
390static int fan_set_level(int level); 395static int fan_set_level(int level);
396static int fan_set_level_safe(int level);
391static int fan_set_enable(void); 397static int fan_set_enable(void);
392static int fan_set_disable(void); 398static int fan_set_disable(void);
393static int fan_set_speed(int speed); 399static int fan_set_speed(int speed);