input_unregister_device(psmouse->dev); 
static void psmouse_disconnect(struct serio *serio){	struct psmouse *psmouse, *parent = NULL;	psmouse = serio_get_drvdata(serio);	sysfs_remove_group(&serio->dev.kobj, &psmouse_attribute_group);	down(&psmouse_sem);	psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);	if (serio->parent && serio->id.type == SERIO_PS_PSTHRU) {		parent = serio_get_drvdata(serio->parent);		psmouse_deactivate(parent);	}	if (psmouse->disconnect)		psmouse->disconnect(psmouse);	if (parent && parent->pt_deactivate)		parent->pt_deactivate(parent);	psmouse_set_state(psmouse, PSMOUSE_IGNORE);	input_unregister_device(&psmouse->dev);	serio_close(serio);	serio_set_drvdata(serio, NULL);	kfree(psmouse);	if (parent)		psmouse_activate(parent);	up(&psmouse_sem);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2e5b636bb5f8dacbb91d08544e2c41ebcad5dace/psmouse-base.c/buggy/drivers/input/mouse/psmouse-base.c