input_event(&spitzkbd_data->input, EV_PWR, KEY_SUSPEND, 1); 
input_event(spitzkbd_data->input, EV_PWR, KEY_SUSPEND, 1); 
static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs *regs){	unsigned int row, col, rowd;	unsigned long flags;	unsigned int num_pressed, pwrkey = ((GPLR(SPITZ_GPIO_ON_KEY) & GPIO_bit(SPITZ_GPIO_ON_KEY)) != 0);	if (spitzkbd_data->suspended)		return;	spin_lock_irqsave(&spitzkbd_data->lock, flags);	if (regs)		input_regs(&spitzkbd_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..)		 */		spitzkbd_discharge_all();		udelay(KB_DISCHARGE_DELAY);		spitzkbd_activate_col(col);		udelay(KB_ACTIVATE_DELAY);		rowd = spitzkbd_get_row_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(&spitzkbd_data->input, spitzkbd_data->keycode[scancode], pressed);			if (pressed)				num_pressed++;		}		spitzkbd_reset_col(col);	}	spitzkbd_activate_all();	input_report_key(&spitzkbd_data->input, SPITZ_KEY_SYNC, (GPLR(SPITZ_GPIO_SYNC) & GPIO_bit(SPITZ_GPIO_SYNC)) != 0 );	input_report_key(&spitzkbd_data->input, KEY_SUSPEND, pwrkey);	if (pwrkey && time_after(jiffies, spitzkbd_data->suspend_jiffies + msecs_to_jiffies(1000))) {		input_event(&spitzkbd_data->input, EV_PWR, KEY_SUSPEND, 1);		spitzkbd_data->suspend_jiffies = jiffies;	}	input_sync(&spitzkbd_data->input);	/* if any keys are pressed, enable the timer */	if (num_pressed)		mod_timer(&spitzkbd_data->timer, jiffies + msecs_to_jiffies(100));	spin_unlock_irqrestore(&spitzkbd_data->lock, flags);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3c42f0c3dde8feb59fc87df45cadb847d5511c0a/spitzkbd.c/clean/drivers/input/keyboard/spitzkbd.c