struct input_dev *dev = &sermouse->dev; 
struct input_dev *dev = sermouse->dev; 
static void sermouse_process_msc(struct sermouse *sermouse, signed char data, struct pt_regs *regs){	struct input_dev *dev = &sermouse->dev;	signed char *buf = sermouse->buf;	input_regs(dev, regs);	switch (sermouse->count) {		case 0:			if ((data & 0xf8) != 0x80) return;			input_report_key(dev, BTN_LEFT,   !(data & 4));			input_report_key(dev, BTN_RIGHT,  !(data & 1));			input_report_key(dev, BTN_MIDDLE, !(data & 2));			break;		case 1:		case 3:			input_report_rel(dev, REL_X, data / 2);			input_report_rel(dev, REL_Y, -buf[1]);			buf[0] = data - data / 2;			break;		case 2:		case 4:			input_report_rel(dev, REL_X, buf[0]);			input_report_rel(dev, REL_Y, buf[1] - data);			buf[1] = data / 2;			break;	}	input_sync(dev);	if (++sermouse->count == (5 - ((sermouse->type == SERIO_SUN) << 1)))		sermouse->count = 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2e5b636bb5f8dacbb91d08544e2c41ebcad5dace/sermouse.c/clean/drivers/input/mouse/sermouse.c