From: Jochen Eisinger Date: Thu, 1 May 2008 11:34:58 +0000 (-0700) Subject: i8k: make fan multiplier tunable with a module parameter X-Git-Tag: v2.6.26-rc1~63 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=4ed99a27d161ce6f1eb6657c5cd5e6aef365c665;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Linus Torvalds --- diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c index f49037b744f..b60d425ce8d 100644 --- a/drivers/char/i8k.c +++ b/drivers/char/i8k.c @@ -77,6 +77,10 @@ static int power_status; module_param(power_status, bool, 0600); MODULE_PARM_DESC(power_status, "Report power status in /proc/i8k"); +static int fan_mult = I8K_FAN_MULT; +module_param(fan_mult, int, 0); +MODULE_PARM_DESC(fan_mult, "Factor to multiply fan speed with"); + static int i8k_open_fs(struct inode *inode, struct file *file); static int i8k_ioctl(struct inode *, struct file *, unsigned int, unsigned long); @@ -239,7 +243,7 @@ static int i8k_get_fan_speed(int fan) struct smm_regs regs = { .eax = I8K_SMM_GET_SPEED, }; regs.ebx = fan & 0xff; - return i8k_smm(®s) ? : (regs.eax & 0xffff) * I8K_FAN_MULT; + return i8k_smm(®s) ? : (regs.eax & 0xffff) * fan_mult; } /*