input_report_key(&cinergyt2->rc_input_dev, 
input_report_key(cinergyt2->rc_input_dev, 
static void cinergyt2_query_rc (void *data){	struct cinergyt2 *cinergyt2 = data;	char buf[1] = { CINERGYT2_EP1_GET_RC_EVENTS };	struct cinergyt2_rc_event rc_events[12];	int n, len, i;	if (down_interruptible(&cinergyt2->sem))		return;	len = cinergyt2_command(cinergyt2, buf, sizeof(buf),				(char *) rc_events, sizeof(rc_events));	if (len < 0)		goto out;	if (len == 0) {		if (time_after(jiffies, cinergyt2->last_event_jiffies +			       msecs_to_jiffies(150))) {			/* stop key repeat */			if (cinergyt2->rc_input_event != KEY_MAX) {				dprintk(1, "rc_input_event=%d Up\n", cinergyt2->rc_input_event);				input_report_key(&cinergyt2->rc_input_dev,						 cinergyt2->rc_input_event, 0);				cinergyt2->rc_input_event = KEY_MAX;			}			cinergyt2->rc_last_code = ~0;		}		goto out;	}	cinergyt2->last_event_jiffies = jiffies;	for (n = 0; n < (len / sizeof(rc_events[0])); n++) {		dprintk(1, "rc_events[%d].value = %x, type=%x\n",			n, le32_to_cpu(rc_events[n].value), rc_events[n].type);		if (rc_events[n].type == CINERGYT2_RC_EVENT_TYPE_NEC &&		    rc_events[n].value == ~0) {			/* keyrepeat bit -> just repeat last rc_input_event */		} else {			cinergyt2->rc_input_event = KEY_MAX;			for (i = 0; i < sizeof(rc_keys) / sizeof(rc_keys[0]); i += 3) {				if (rc_keys[i + 0] == rc_events[n].type &&				    rc_keys[i + 1] == le32_to_cpu(rc_events[n].value)) {					cinergyt2->rc_input_event = rc_keys[i + 2];					break;				}			}		}		if (cinergyt2->rc_input_event != KEY_MAX) {			if (rc_events[n].value == cinergyt2->rc_last_code &&			    cinergyt2->rc_last_code != ~0) {				/* emit a key-up so the double event is recognized */				dprintk(1, "rc_input_event=%d UP\n", cinergyt2->rc_input_event);				input_report_key(&cinergyt2->rc_input_dev,						 cinergyt2->rc_input_event, 0);			}			dprintk(1, "rc_input_event=%d\n", cinergyt2->rc_input_event);			input_report_key(&cinergyt2->rc_input_dev,					 cinergyt2->rc_input_event, 1);			cinergyt2->rc_last_code = rc_events[n].value;		}	}out:	schedule_delayed_work(&cinergyt2->rc_query_work,			      msecs_to_jiffies(RC_QUERY_INTERVAL));	up(&cinergyt2->sem);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b7df3910c1298fee8ed7b9dfd2da74b85df5539c/cinergyT2.c/buggy/drivers/media/dvb/cinergyT2/cinergyT2.c