while (i < 32 && period[i] < dev->rep[REP_PERIOD]) i++; while (j < 4 && delay[j] < dev->rep[REP_DELAY]) j++; 
while (i < 31 && period[i] < dev->rep[REP_PERIOD]) i++; while (j < 3 && delay[j] < dev->rep[REP_DELAY]) j++; 
static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int code, int value){	struct atkbd *atkbd = dev->private;	const short period[32] =		{ 33,  37,  42,  46,  50,  54,  58,  63,  67,  75,  83,  92, 100, 109, 116, 125,		 133, 149, 167, 182, 200, 217, 232, 250, 270, 303, 333, 370, 400, 435, 470, 500 };	const short delay[4] =		{ 250, 500, 750, 1000 };	unsigned char param[2];	int i, j;	if (!atkbd->write)		return -1;	switch (type) {		case EV_LED:			param[0] = (test_bit(LED_SCROLLL, dev->led) ? 1 : 0)			         | (test_bit(LED_NUML,    dev->led) ? 2 : 0)			         | (test_bit(LED_CAPSL,   dev->led) ? 4 : 0);		        ps2_schedule_command(&atkbd->ps2dev, param, ATKBD_CMD_SETLEDS);			if (atkbd->extra) {				param[0] = 0;				param[1] = (test_bit(LED_COMPOSE, dev->led) ? 0x01 : 0)					 | (test_bit(LED_SLEEP,   dev->led) ? 0x02 : 0)					 | (test_bit(LED_SUSPEND, dev->led) ? 0x04 : 0)				         | (test_bit(LED_MISC,    dev->led) ? 0x10 : 0)				         | (test_bit(LED_MUTE,    dev->led) ? 0x20 : 0);				ps2_schedule_command(&atkbd->ps2dev, param, ATKBD_CMD_EX_SETLEDS);			}			return 0;		case EV_REP:			if (atkbd->softrepeat) return 0;			i = j = 0;			while (i < 32 && period[i] < dev->rep[REP_PERIOD]) i++;			while (j < 4 && delay[j] < dev->rep[REP_DELAY]) j++;			dev->rep[REP_PERIOD] = period[i];			dev->rep[REP_DELAY] = delay[j];			param[0] = i | (j << 5);			ps2_schedule_command(&atkbd->ps2dev, param, ATKBD_CMD_SETREP);			return 0;	}	return -1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/53b21689ba567ad437e4d7917dd9da54a8d6fd5c/atkbd.c/buggy/drivers/input/keyboard/atkbd.c