Skip to content

Commit

Permalink
i8k: make fan multiplier tunable with a module parameter
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jochen Eisinger authored and Linus Torvalds committed May 1, 2008
1 parent af8e2a4 commit 4ed99a2
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/char/i8k.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
}

/*
Expand Down

0 comments on commit 4ed99a2

Please sign in to comment.