memset(input_dev, 0, sizeof(struct dc_mouse)); init_input_dev(input_dev); 
static int dc_mouse_connect(struct maple_device *dev){	unsigned long data = be32_to_cpu(dev->devinfo.function_data[0]);	struct input_dev *input_dev;	if (!(input_dev = kmalloc(sizeof(struct input_dev), GFP_KERNEL)))		return -1;	dev->private_data = input_dev;	memset(input_dev, 0, sizeof(struct dc_mouse));	init_input_dev(input_dev);	input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REL);	input_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE);	input_dev->relbit[0] = BIT(REL_X) | BIT(REL_Y) | BIT(REL_WHEEL);	input_dev->name = dev->product_name;	input_dev->id.bustype = BUS_MAPLE;	input_register_device(input_dev);	maple_getcond_callback(dev, dc_mouse_callback, 1, MAPLE_FUNC_MOUSE);	printk(KERN_INFO "input: mouse(0x%lx): %s\n", data, input_dev->name);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2e5b636bb5f8dacbb91d08544e2c41ebcad5dace/maplemouse.c/clean/drivers/input/mouse/maplemouse.c