int i, j, k, l; 
int i; 
static void tmdc_poll(struct gameport *gameport){	unsigned char data[2][TMDC_MAX_LENGTH];	struct tmdc *tmdc = gameport_get_drvdata(gameport);	struct input_dev *dev;	unsigned char r, bad = 0;	int i, j, k, l;	tmdc->reads++;	if ((r = tmdc_read_packet(tmdc->gameport, data)) != tmdc->exists)		bad = 1;	else	for (j = 0; j < 2; j++)		if (r & (1 << j) & tmdc->exists) {			if (data[j][TMDC_BYTE_ID] != tmdc->mode[j]) {				bad = 1;				continue;			}			dev = tmdc->dev + j;			for (i = 0; i < tmdc->absc[j]; i++) {				if (tmdc->abs[j][i] < 0) continue;				input_report_abs(dev, tmdc->abs[j][i], data[j][tmdc_byte_a[i]]);			}			switch (tmdc->mode[j]) {				case TMDC_MODE_M3DI:					i = tmdc_byte_d[0];					input_report_abs(dev, ABS_HAT0X, ((data[j][i] >> 3) & 1) - ((data[j][i] >> 1) & 1));					input_report_abs(dev, ABS_HAT0Y, ((data[j][i] >> 2) & 1) - ( data[j][i]       & 1));					break;				case TMDC_MODE_AT:					i = tmdc_byte_a[3];					input_report_abs(dev, ABS_HAT0X, tmdc_hat_to_axis[(data[j][i] - 141) / 25].x);					input_report_abs(dev, ABS_HAT0Y, tmdc_hat_to_axis[(data[j][i] - 141) / 25].y);					break;			}			for (k = l = 0; k < 4; k++) {				for (i = 0; i < tmdc->btnc[j][k]; i++)					input_report_key(dev, tmdc->btn[j][i + l],						((data[j][tmdc_byte_d[k]] >> (i + tmdc->btno[j][k])) & 1));				l += tmdc->btnc[j][k];			}			input_sync(dev);	}	tmdc->bads += bad;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/17dd3f0f7aa729a042af5d3318ff9b3e7781b45b/tmdc.c/buggy/drivers/input/joystick/tmdc.c