set_bit(BTN_EXTRA, psmouse->dev.keybit); 
set_bit(BTN_EXTRA, psmouse->dev->keybit); 
static int thinking_detect(struct psmouse *psmouse, int set_properties){	struct ps2dev *ps2dev = &psmouse->ps2dev;	unsigned char param[2];	unsigned char seq[] = { 20, 60, 40, 20, 20, 60, 40, 20, 20, 0 };	int i;	param[0] = 10;	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRATE);	param[0] = 0;	ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES);	for (i = 0; seq[i]; i++)		ps2_command(ps2dev, seq + i, PSMOUSE_CMD_SETRATE);	ps2_command(ps2dev, param, PSMOUSE_CMD_GETID);	if (param[0] != 2)		return -1;	if (set_properties) {		set_bit(BTN_EXTRA, psmouse->dev.keybit);		psmouse->vendor = "Kensington";		psmouse->name = "ThinkingMouse";	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2e5b636bb5f8dacbb91d08544e2c41ebcad5dace/psmouse-base.c/buggy/drivers/input/mouse/psmouse-base.c