diff options
author | Jochen Eisinger <jochen@penguin-breeder.org> | 2008-05-01 07:34:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-01 11:04:00 -0400 |
commit | 4ed99a27d161ce6f1eb6657c5cd5e6aef365c665 (patch) | |
tree | ba052e070138f7bd8759e80361a853b8601c25fe /drivers/char/i8k.c | |
parent | af8e2a4cb9b3e14b919ae1cd4012825aefddbeb0 (diff) |
i8k: make fan multiplier tunable with a module parameter
The i8k driver multiplies the fan speed reported by the BIOS with a factor of
30. On my Dell Latitude D800, this factor is not required.
I'd suggest to make this configurable.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/i8k.c')
-rw-r--r-- | drivers/char/i8k.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c index f49037b744f9..b60d425ce8d1 100644 --- a/drivers/char/i8k.c +++ b/drivers/char/i8k.c | |||
@@ -77,6 +77,10 @@ static int power_status; | |||
77 | module_param(power_status, bool, 0600); | 77 | module_param(power_status, bool, 0600); |
78 | MODULE_PARM_DESC(power_status, "Report power status in /proc/i8k"); | 78 | MODULE_PARM_DESC(power_status, "Report power status in /proc/i8k"); |
79 | 79 | ||
80 | static int fan_mult = I8K_FAN_MULT; | ||
81 | module_param(fan_mult, int, 0); | ||
82 | MODULE_PARM_DESC(fan_mult, "Factor to multiply fan speed with"); | ||
83 | |||
80 | static int i8k_open_fs(struct inode *inode, struct file *file); | 84 | static int i8k_open_fs(struct inode *inode, struct file *file); |
81 | static int i8k_ioctl(struct inode *, struct file *, unsigned int, | 85 | static int i8k_ioctl(struct inode *, struct file *, unsigned int, |
82 | unsigned long); | 86 | unsigned long); |
@@ -239,7 +243,7 @@ static int i8k_get_fan_speed(int fan) | |||
239 | struct smm_regs regs = { .eax = I8K_SMM_GET_SPEED, }; | 243 | struct smm_regs regs = { .eax = I8K_SMM_GET_SPEED, }; |
240 | 244 | ||
241 | regs.ebx = fan & 0xff; | 245 | regs.ebx = fan & 0xff; |
242 | return i8k_smm(®s) ? : (regs.eax & 0xffff) * I8K_FAN_MULT; | 246 | return i8k_smm(®s) ? : (regs.eax & 0xffff) * fan_mult; |
243 | } | 247 | } |
244 | 248 | ||
245 | /* | 249 | /* |