input_dev->id.bustype = BUS_XTKBD; 
input_dev->id.bustype = BUS_HOST; 
static int locomokbd_probe(struct locomo_dev *dev){	struct locomokbd *locomokbd;	struct input_dev *input_dev;	int i, ret;	locomokbd = kzalloc(sizeof(struct locomokbd), GFP_KERNEL);	input_dev = input_allocate_device();	if (!locomokbd || !input_dev) {		ret = -ENOMEM;		goto free;	}	/* try and claim memory region */	if (!request_mem_region((unsigned long) dev->mapbase,				dev->length,				LOCOMO_DRIVER_NAME(dev))) {		ret = -EBUSY;		printk(KERN_ERR "locomokbd: Can't acquire access to io memory for keyboard\n");		goto free;	}	locomokbd->ldev = dev;	locomo_set_drvdata(dev, locomokbd);	locomokbd->base = (unsigned long) dev->mapbase;	spin_lock_init(&locomokbd->lock);	init_timer(&locomokbd->timer);	locomokbd->timer.function = locomokbd_timer_callback;	locomokbd->timer.data = (unsigned long) locomokbd;	locomokbd->input = input_dev;	strcpy(locomokbd->phys, "locomokbd/input0");	input_dev->name = "LoCoMo keyboard";	input_dev->phys = locomokbd->phys;	input_dev->id.bustype = BUS_XTKBD;	input_dev->id.vendor = 0x0001;	input_dev->id.product = 0x0001;	input_dev->id.version = 0x0100;	input_dev->private = locomokbd;	input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP);	input_dev->keycode = locomokbd->keycode;	input_dev->keycodesize = sizeof(unsigned char);	input_dev->keycodemax = ARRAY_SIZE(locomokbd_keycode);	memcpy(locomokbd->keycode, locomokbd_keycode, sizeof(locomokbd->keycode));	for (i = 0; i < LOCOMOKBD_NUMKEYS; i++)		set_bit(locomokbd->keycode[i], input_dev->keybit);	clear_bit(0, input_dev->keybit);	/* attempt to get the interrupt */	ret = request_irq(dev->irq[0], locomokbd_interrupt, 0, "locomokbd", locomokbd);	if (ret) {		printk(KERN_ERR "locomokbd: Can't get irq for keyboard\n");		goto out;	}	input_register_device(locomokbd->input);	return 0;out:	release_mem_region((unsigned long) dev->mapbase, dev->length);	locomo_set_drvdata(dev, NULL);free:	input_free_device(input_dev);	kfree(locomokbd);	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d7a767dddcbd690a6c0e2b3b395858dc116db2e6/locomokbd.c/clean/drivers/input/keyboard/locomokbd.c