class_simple_device_add(tape_class, MKDEV(VIOTAPE_MAJOR, i), NULL, 
class_device_create(tape_class, MKDEV(VIOTAPE_MAJOR, i), NULL, 
static int viotape_probe(struct vio_dev *vdev, const struct vio_device_id *id){	char tapename[32];	int i = vdev->unit_address;	int j;	if (i >= viotape_numdev)		return -ENODEV;	tape_device[i] = &vdev->dev;	state[i].cur_part = 0;	for (j = 0; j < MAX_PARTITIONS; ++j)		state[i].part_stat_rwi[j] = VIOT_IDLE;	class_simple_device_add(tape_class, MKDEV(VIOTAPE_MAJOR, i), NULL,			"iseries!vt%d", i);	class_simple_device_add(tape_class, MKDEV(VIOTAPE_MAJOR, i | 0x80),			NULL, "iseries!nvt%d", i);	devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i), S_IFCHR | S_IRUSR | S_IWUSR,			"iseries/vt%d", i);	devfs_mk_cdev(MKDEV(VIOTAPE_MAJOR, i | 0x80),			S_IFCHR | S_IRUSR | S_IWUSR, "iseries/nvt%d", i);	sprintf(tapename, "iseries/vt%d", i);	state[i].dev_handle = devfs_register_tape(tapename);	printk(VIOTAPE_KERN_INFO "tape %s is iSeries "			"resource %10.10s type %4.4s, model %3.3s\n",			tapename, viotape_unitinfo[i].rsrcname,			viotape_unitinfo[i].type, viotape_unitinfo[i].model);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ca8eca6884861c1ce294b05aacfdf9045bba9aff/viotape.c/buggy/drivers/char/viotape.c