struct input_dev *dev = &psmouse->dev; 
struct input_dev *dev = psmouse->dev; 
static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse, struct pt_regs *regs){	struct input_dev *dev = &psmouse->dev;	unsigned char *packet = psmouse->packet;	if (psmouse->pktcnt < 3)		return PSMOUSE_GOOD_DATA;/* * Full packet accumulated, process it */	input_regs(dev, regs);	if ((packet[0] & 0x48) == 0x48 && (packet[1] & 0x02) == 0x02) {		/* Logitech extended packet */		switch ((packet[1] >> 4) | (packet[0] & 0x30)) {			case 0x0d: /* Mouse extra info */				input_report_rel(dev, packet[2] & 0x80 ? REL_HWHEEL : REL_WHEEL,					(int) (packet[2] & 8) - (int) (packet[2] & 7));				input_report_key(dev, BTN_SIDE, (packet[2] >> 4) & 1);				input_report_key(dev, BTN_EXTRA, (packet[2] >> 5) & 1);				break;			case 0x0e: /* buttons 4, 5, 6, 7, 8, 9, 10 info */				input_report_key(dev, BTN_SIDE, (packet[2]) & 1);				input_report_key(dev, BTN_EXTRA, (packet[2] >> 1) & 1);				input_report_key(dev, BTN_BACK, (packet[2] >> 3) & 1);				input_report_key(dev, BTN_FORWARD, (packet[2] >> 4) & 1);				input_report_key(dev, BTN_TASK, (packet[2] >> 2) & 1);				break;			case 0x0f: /* TouchPad extra info */				input_report_rel(dev, packet[2] & 0x08 ? REL_HWHEEL : REL_WHEEL,					(int) ((packet[2] >> 4) & 8) - (int) ((packet[2] >> 4) & 7));				packet[0] = packet[2] | 0x08;				break;#ifdef DEBUG			default:				printk(KERN_WARNING "psmouse.c: Received PS2++ packet #%x, but don't know how to handle.\n",					(packet[1] >> 4) | (packet[0] & 0x30));#endif		}	} else {		/* Standard PS/2 motion data */		input_report_rel(dev, REL_X, packet[1] ? (int) packet[1] - (int) ((packet[0] << 4) & 0x100) : 0);		input_report_rel(dev, REL_Y, packet[2] ? (int) ((packet[0] << 3) & 0x100) - (int) packet[2] : 0);	}	input_report_key(dev, BTN_LEFT,    packet[0]       & 1);	input_report_key(dev, BTN_MIDDLE, (packet[0] >> 2) & 1);	input_report_key(dev, BTN_RIGHT,  (packet[0] >> 1) & 1);	input_sync(dev);	return PSMOUSE_FULL_PACKET;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2e5b636bb5f8dacbb91d08544e2c41ebcad5dace/logips2pp.c/buggy/drivers/input/mouse/logips2pp.c