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