if (!(psmouse = kcalloc(1, sizeof(struct psmouse), GFP_KERNEL))) { 
if (!(psmouse = kzalloc(sizeof(struct psmouse), GFP_KERNEL))) { 
static int psmouse_connect(struct serio *serio, struct serio_driver *drv){	struct psmouse *psmouse, *parent = NULL;	int retval;	down(&psmouse_sem);	/*	 * If this is a pass-through port deactivate parent so the device	 * connected to this port can be successfully identified	 */	if (serio->parent && serio->id.type == SERIO_PS_PSTHRU) {		parent = serio_get_drvdata(serio->parent);		psmouse_deactivate(parent);	}	if (!(psmouse = kcalloc(1, sizeof(struct psmouse), GFP_KERNEL))) {		retval = -ENOMEM;		goto out;	}	ps2_init(&psmouse->ps2dev, serio);	sprintf(psmouse->phys, "%s/input0", serio->phys);	psmouse_set_state(psmouse, PSMOUSE_INITIALIZING);	serio_set_drvdata(serio, psmouse);	retval = serio_open(serio, drv);	if (retval) {		serio_set_drvdata(serio, NULL);		kfree(psmouse);		goto out;	}	if (psmouse_probe(psmouse) < 0) {		serio_close(serio);		serio_set_drvdata(serio, NULL);		kfree(psmouse);		retval = -ENODEV;		goto out;	}	psmouse->rate = psmouse_rate;	psmouse->resolution = psmouse_resolution;	psmouse->resetafter = psmouse_resetafter;	psmouse->smartscroll = psmouse_smartscroll;	psmouse_switch_protocol(psmouse, NULL);	input_register_device(&psmouse->dev);	printk(KERN_INFO "input: %s on %s\n", psmouse->devname, serio->phys);	psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);	psmouse_initialize(psmouse);	if (parent && parent->pt_activate)		parent->pt_activate(parent);	device_create_file(&serio->dev, &psmouse_attr_protocol);	device_create_file(&serio->dev, &psmouse_attr_rate);	device_create_file(&serio->dev, &psmouse_attr_resolution);	device_create_file(&serio->dev, &psmouse_attr_resetafter);	psmouse_activate(psmouse);	retval = 0;out:	/* If this is a pass-through port the parent needs to be re-activated */	if (parent)		psmouse_activate(parent);	up(&psmouse_sem);	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a97e148a8b8da8b04bc3e18ceb824a8f5f56d567/psmouse-base.c/clean/drivers/input/mouse/psmouse-base.c