input_sync(&corgikbd_data->input); 
input_sync(corgikbd_data->input); 
static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs *regs){	unsigned int row, col, rowd;	unsigned long flags;	unsigned int num_pressed;	if (corgikbd_data->suspended)		return;	spin_lock_irqsave(&corgikbd_data->lock, flags);	if (regs)		input_regs(&corgikbd_data->input, regs);	num_pressed = 0;	for (col = 0; col < KB_COLS; col++) {		/*		 * Discharge the output driver capacitatance		 * in the keyboard matrix. (Yes it is significant..)		 */		corgikbd_discharge_all();		udelay(KB_DISCHARGE_DELAY);		corgikbd_activate_col(col);		udelay(KB_ACTIVATE_DELAY);		rowd = GET_ROWS_STATUS(col);		for (row = 0; row < KB_ROWS; row++) {			unsigned int scancode, pressed;			scancode = SCANCODE(row, col);			pressed = rowd & KB_ROWMASK(row);			input_report_key(&corgikbd_data->input, corgikbd_data->keycode[scancode], pressed);			if (pressed)				num_pressed++;			if (pressed && (corgikbd_data->keycode[scancode] == CORGI_KEY_OFF)					&& time_after(jiffies, corgikbd_data->suspend_jiffies + HZ)) {				input_event(&corgikbd_data->input, EV_PWR, CORGI_KEY_OFF, 1);				corgikbd_data->suspend_jiffies=jiffies;			}		}		corgikbd_reset_col(col);	}	corgikbd_activate_all();	input_sync(&corgikbd_data->input);	/* if any keys are pressed, enable the timer */	if (num_pressed)		mod_timer(&corgikbd_data->timer, jiffies + SCAN_INTERVAL);	spin_unlock_irqrestore(&corgikbd_data->lock, flags);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3c42f0c3dde8feb59fc87df45cadb847d5511c0a/corgikbd.c/buggy/drivers/input/keyboard/corgikbd.c