dy = y - rpcmouse_lasty; 
dy = y - rpcmouse_lasty; 
static irqreturn_t rpcmouse_irq(int irq, void *dev_id, struct pt_regs *regs){	struct input_dev *dev = dev_id;	short x, y, dx, dy, b;	x = (short) iomd_readl(IOMD_MOUSEX);	y = (short) iomd_readl(IOMD_MOUSEY);	b = (short) (__raw_readl(0xe0310000) ^ 0x70);	dx = x - rpcmouse_lastx;	dy = y - rpcmouse_lasty; 	rpcmouse_lastx = x;	rpcmouse_lasty = y;	input_regs(dev, regs);	input_report_rel(dev, REL_X, dx);	input_report_rel(dev, REL_Y, -dy);	input_report_key(dev, BTN_LEFT,   b & 0x40);	input_report_key(dev, BTN_MIDDLE, b & 0x20);	input_report_key(dev, BTN_RIGHT,  b & 0x10);	input_sync(dev);	return IRQ_HANDLED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/968ac842c4946abcd6ae623414783548672177f5/rpcmouse.c/buggy/drivers/input/mouse/rpcmouse.c