memset(ts, 0, sizeof(struct ucb1x00_ts)); 
ts->idev = input_allocate_device(); if (!ts->idev) { kfree(ts); return -ENOMEM; } 
static int ucb1x00_ts_add(struct ucb1x00_dev *dev){	struct ucb1x00_ts *ts;	ts = kmalloc(sizeof(struct ucb1x00_ts), GFP_KERNEL);	if (!ts)		return -ENOMEM;	memset(ts, 0, sizeof(struct ucb1x00_ts));	ts->ucb = dev->ucb;	ts->adcsync = adcsync ? UCB_SYNC : UCB_NOSYNC;	ts->idev.name       = "Touchscreen panel";	ts->idev.id.product = ts->ucb->id;	ts->idev.open       = ucb1x00_ts_open;	ts->idev.close      = ucb1x00_ts_close;	__set_bit(EV_ABS, ts->idev.evbit);	__set_bit(ABS_X, ts->idev.absbit);	__set_bit(ABS_Y, ts->idev.absbit);	__set_bit(ABS_PRESSURE, ts->idev.absbit);	input_register_device(&ts->idev);	dev->priv = ts;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bd622663192e8ebebb27dc1d9397f352a82d2495/ucb1x00-ts.c/clean/drivers/mfd/ucb1x00-ts.c