input_report_key (&lk->dev, lk->keycode[i], 0); input_sync (&lk->dev); 
input_report_key (lk->dev, lk->keycode[i], 0); input_sync (lk->dev); 
lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags,		struct pt_regs *regs){	struct lkkbd *lk = serio_get_drvdata (serio);	int i;	DBG (KERN_INFO "Got byte 0x%02x\n", data);	if (lk->ignore_bytes > 0) {		DBG (KERN_INFO "Ignoring a byte on %s\n",				lk->name);		lk->id[LK_NUM_IGNORE_BYTES - lk->ignore_bytes--] = data;		if (lk->ignore_bytes == 0)			lkkbd_detection_done (lk);		return IRQ_HANDLED;	}	switch (data) {		case LK_ALL_KEYS_UP:			input_regs (&lk->dev, regs);			for (i = 0; i < ARRAY_SIZE (lkkbd_keycode); i++)				if (lk->keycode[i] != KEY_RESERVED)					input_report_key (&lk->dev, lk->keycode[i], 0);			input_sync (&lk->dev);			break;		case LK_METRONOME:			DBG (KERN_INFO "Got LK_METRONOME and don't "					"know how to handle...\n");			break;		case LK_OUTPUT_ERROR:			DBG (KERN_INFO "Got LK_OUTPUT_ERROR and don't "					"know how to handle...\n");			break;		case LK_INPUT_ERROR:			DBG (KERN_INFO "Got LK_INPUT_ERROR and don't "					"know how to handle...\n");			break;		case LK_KBD_LOCKED:			DBG (KERN_INFO "Got LK_KBD_LOCKED and don't "					"know how to handle...\n");			break;		case LK_KBD_TEST_MODE_ACK:			DBG (KERN_INFO "Got LK_KBD_TEST_MODE_ACK and don't "					"know how to handle...\n");			break;		case LK_PREFIX_KEY_DOWN:			DBG (KERN_INFO "Got LK_PREFIX_KEY_DOWN and don't "					"know how to handle...\n");			break;		case LK_MODE_CHANGE_ACK:			DBG (KERN_INFO "Got LK_MODE_CHANGE_ACK and ignored "					"it properly...\n");			break;		case LK_RESPONSE_RESERVED:			DBG (KERN_INFO "Got LK_RESPONSE_RESERVED and don't "					"know how to handle...\n");			break;		case 0x01:			DBG (KERN_INFO "Got 0x01, scheduling re-initialization\n");			lk->ignore_bytes = LK_NUM_IGNORE_BYTES;			lk->id[LK_NUM_IGNORE_BYTES - lk->ignore_bytes--] = data;			schedule_work (&lk->tq);			break;		default:			if (lk->keycode[data] != KEY_RESERVED) {				input_regs (&lk->dev, regs);				if (!test_bit (lk->keycode[data], lk->dev.key))					input_report_key (&lk->dev, lk->keycode[data], 1);				else					input_report_key (&lk->dev, lk->keycode[data], 0);				input_sync (&lk->dev);                        } else                                printk (KERN_WARNING "%s: Unknown key with "						"scancode 0x%02x on %s.\n",						__FILE__, data, lk->name);	}	return IRQ_HANDLED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3c42f0c3dde8feb59fc87df45cadb847d5511c0a/lkkbd.c/clean/drivers/input/keyboard/lkkbd.c