regs.eax = I8K_SMM_FN_STATUS; if ((rc=i8k_smm(&regs)) < 0) { return rc; } 
regs.eax = I8K_SMM_FN_STATUS; if ((rc = i8k_smm(&regs)) < 0) { return rc; } 
static int i8k_get_fn_status(void){    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };    int rc;    regs.eax = I8K_SMM_FN_STATUS;    if ((rc=i8k_smm(&regs)) < 0) {	return rc;    }    switch ((regs.eax >> I8K_FN_SHIFT) & I8K_FN_MASK) {    case I8K_FN_UP:	return I8K_VOL_UP;    case I8K_FN_DOWN:	return I8K_VOL_DOWN;    case I8K_FN_MUTE:	return I8K_VOL_MUTE;    default:	return 0;    }}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dec63ec32ea486ab915138e8790084c22a3f7bf6/i8k.c/clean/drivers/char/i8k.c