if (dev->dynalloc) input_register_classdevice(dev);  
void input_register_device(struct input_dev *dev){	struct input_handle *handle;	struct input_handler *handler;	struct input_device_id *id;	set_bit(EV_SYN, dev->evbit);	init_MUTEX(&dev->sem);	/*	 * If delay and period are pre-set by the driver, then autorepeating	 * is handled by the driver itself and we don't do it in input.c.	 */	init_timer(&dev->timer);	if (!dev->rep[REP_DELAY] && !dev->rep[REP_PERIOD]) {		dev->timer.data = (long) dev;		dev->timer.function = input_repeat_key;		dev->rep[REP_DELAY] = 250;		dev->rep[REP_PERIOD] = 33;	}	INIT_LIST_HEAD(&dev->h_list);	list_add_tail(&dev->node, &input_dev_list);	list_for_each_entry(handler, &input_handler_list, node)		if (!handler->blacklist || !input_match_device(handler->blacklist, dev))			if ((id = input_match_device(handler->id_table, dev)))				if ((handle = handler->connect(handler, dev, id)))					input_link_handle(handle);	if (dev->dynalloc)		input_register_classdevice(dev);#ifdef CONFIG_HOTPLUG	input_call_hotplug("add", dev);#endif	input_wakeup_procfs_readers();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/102040204f1949562406b72007c14a2a241cb0d9/input.c/clean/drivers/input/input.c