regs.eax = I8K_SMM_SET_FAN; regs.ebx = (fan & 0xff) | (speed << 8); if ((rc = i8k_smm(&regs)) < 0) { return rc; }  return (i8k_get_fan_status(fan)); 
return i8k_smm(&regs) ? : i8k_get_fan_status(fan); 
static int i8k_set_fan(int fan, int speed){	SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };	int rc;	speed = (speed < 0) ? 0 : ((speed > I8K_FAN_MAX) ? I8K_FAN_MAX : speed);	regs.eax = I8K_SMM_SET_FAN;	regs.ebx = (fan & 0xff) | (speed << 8);	if ((rc = i8k_smm(&regs)) < 0) {		return rc;	}	return (i8k_get_fan_status(fan));}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8378b92405dd606c6f3a0b1e303b67c8f8c9f743/i8k.c/clean/drivers/char/i8k.c