class_device_create(idetape_sysfs_class, 
class_device_create(idetape_sysfs_class, NULL, 
static int ide_tape_probe(struct device *dev){	ide_drive_t *drive = to_ide_device(dev);	idetape_tape_t *tape;	struct gendisk *g;	int minor;	if (!strstr("ide-tape", drive->driver_req))		goto failed;	if (!drive->present)		goto failed;	if (drive->media != ide_tape)		goto failed;	if (!idetape_identify_device (drive)) {		printk(KERN_ERR "ide-tape: %s: not supported by this version of ide-tape\n", drive->name);		goto failed;	}	if (drive->scsi) {		printk("ide-tape: passing drive %s to ide-scsi emulation.\n", drive->name);		goto failed;	}	if (strstr(drive->id->model, "OnStream DI-")) {		printk(KERN_WARNING "ide-tape: Use drive %s with ide-scsi emulation and osst.\n", drive->name);		printk(KERN_WARNING "ide-tape: OnStream support will be removed soon from ide-tape!\n");	}	tape = (idetape_tape_t *) kmalloc (sizeof (idetape_tape_t), GFP_KERNEL);	if (tape == NULL) {		printk(KERN_ERR "ide-tape: %s: Can't allocate a tape structure\n", drive->name);		goto failed;	}	g = alloc_disk(1 << PARTN_BITS);	if (!g)		goto out_free_tape;	ide_init_disk(g, drive);	ide_register_subdriver(drive, &idetape_driver);	memset(tape, 0, sizeof(*tape));	kref_init(&tape->kref);	tape->drive = drive;	tape->driver = &idetape_driver;	tape->disk = g;	g->private_data = &tape->driver;	drive->driver_data = tape;	down(&idetape_ref_sem);	for (minor = 0; idetape_devs[minor]; minor++)		;	idetape_devs[minor] = tape;	up(&idetape_ref_sem);	idetape_setup(drive, tape, minor);	class_device_create(idetape_sysfs_class,			MKDEV(IDETAPE_MAJOR, minor), dev, "%s", tape->name);	class_device_create(idetape_sysfs_class,			MKDEV(IDETAPE_MAJOR, minor + 128), dev, "n%s", tape->name);	devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor),			S_IFCHR | S_IRUGO | S_IWUGO,			"%s/mt", drive->devfs_name);	devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor + 128),			S_IFCHR | S_IRUGO | S_IWUGO,			"%s/mtn", drive->devfs_name);	g->number = devfs_register_tape(drive->devfs_name);	g->fops = &idetape_block_ops;	ide_register_region(g);	return 0;out_free_tape:	kfree(tape);failed:	return -ENODEV;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/53f4654272df7c51064825024340554b39c9efba/ide-tape.c/clean/drivers/ide/ide-tape.c