summaryrefslogtreecommitdiffstats
path: root/drivers/char/i8k.c
diff options
context:
space:
mode:
authorJochen Eisinger <jochen@penguin-breeder.org>2008-05-01 04:34:58 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-01 08:04:00 -0700
commit4ed99a27d161ce6f1eb6657c5cd5e6aef365c665 (patch)
treeba052e070138f7bd8759e80361a853b8601c25fe /drivers/char/i8k.c
parentaf8e2a4cb9b3e14b919ae1cd4012825aefddbeb0 (diff)
downloadop-kernel-dev-4ed99a27d161ce6f1eb6657c5cd5e6aef365c665.zip
op-kernel-dev-4ed99a27d161ce6f1eb6657c5cd5e6aef365c665.tar.gz
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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c
index f49037b..b60d425 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(&regs) ? : (regs.eax & 0xffff) * I8K_FAN_MULT;
+ return i8k_smm(&regs) ? : (regs.eax & 0xffff) * fan_mult;
}
/*
OpenPOWER on IntegriCloud