struct input_dev *dev = &warrior->dev; 
struct input_dev *dev = warrior->dev; 
static void warrior_process_packet(struct warrior *warrior, struct pt_regs *regs){	struct input_dev *dev = &warrior->dev;	unsigned char *data = warrior->data;	if (!warrior->idx) return;	input_regs(dev, regs);	switch ((data[0] >> 4) & 7) {		case 1:					/* Button data */			input_report_key(dev, BTN_TRIGGER,  data[3]       & 1);			input_report_key(dev, BTN_THUMB,   (data[3] >> 1) & 1);			input_report_key(dev, BTN_TOP,     (data[3] >> 2) & 1);			input_report_key(dev, BTN_TOP2,    (data[3] >> 3) & 1);			break;		case 3:					/* XY-axis info->data */			input_report_abs(dev, ABS_X, ((data[0] & 8) << 5) - (data[2] | ((data[0] & 4) << 5)));			input_report_abs(dev, ABS_Y, (data[1] | ((data[0] & 1) << 7)) - ((data[0] & 2) << 7));			break;		case 5:					/* Throttle, spinner, hat info->data */			input_report_abs(dev, ABS_THROTTLE, (data[1] | ((data[0] & 1) << 7)) - ((data[0] & 2) << 7));			input_report_abs(dev, ABS_HAT0X, (data[3] & 2 ? 1 : 0) - (data[3] & 1 ? 1 : 0));			input_report_abs(dev, ABS_HAT0Y, (data[3] & 8 ? 1 : 0) - (data[3] & 4 ? 1 : 0));			input_report_rel(dev, REL_DIAL,  (data[2] | ((data[0] & 4) << 5)) - ((data[0] & 8) << 5));			break;	}	input_sync(dev);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/17dd3f0f7aa729a042af5d3318ff9b3e7781b45b/warrior.c/clean/drivers/input/joystick/warrior.c