Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / drivers / char / ftape / zftape / zftape-init.c
index dbac7e5..164a1aa 100644 (file)
@@ -20,7 +20,6 @@
  *      to the ftape floppy tape driver for Linux
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/fs.h>
@@ -33,7 +32,6 @@
 #endif
 #include <linux/fcntl.h>
 #include <linux/smp_lock.h>
-#include <linux/devfs_fs_kernel.h>
 
 #include <linux/zftape.h>
 #include <linux/init.h>
@@ -88,7 +86,7 @@ static ssize_t zft_read (struct file *fp, char __user *buff,
 static ssize_t zft_write(struct file *fp, const char __user *buff,
                         size_t req_len, loff_t *ppos);
 
-static struct file_operations zft_cdev =
+static const struct file_operations zft_cdev =
 {
        .owner          = THIS_MODULE,
        .read           = zft_read,
@@ -99,7 +97,7 @@ static struct file_operations zft_cdev =
        .release        = zft_close,
 };
 
-static struct class_simple *zft_class;
+static struct class *zft_class;
 
 /*      Open floppy tape device
  */
@@ -329,32 +327,14 @@ KERN_INFO
              "installing zftape VFS interface for ftape driver ...");
        TRACE_CATCH(register_chrdev(QIC117_TAPE_MAJOR, "zft", &zft_cdev),);
 
-       zft_class = class_simple_create(THIS_MODULE, "zft");
+       zft_class = class_create(THIS_MODULE, "zft");
        for (i = 0; i < 4; i++) {
-               class_simple_device_add(zft_class, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i);
-               devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i),
-                               S_IFCHR | S_IRUSR | S_IWUSR,
-                               "qft%i", i);
-               class_simple_device_add(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i);
-               devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 4),
-                               S_IFCHR | S_IRUSR | S_IWUSR,
-                               "nqft%i", i);
-               class_simple_device_add(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i);
-               devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 16),
-                               S_IFCHR | S_IRUSR | S_IWUSR,
-                               "zqft%i", i);
-               class_simple_device_add(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i);
-               devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 20),
-                               S_IFCHR | S_IRUSR | S_IWUSR,
-                               "nzqft%i", i);
-               class_simple_device_add(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i);
-               devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 32),
-                               S_IFCHR | S_IRUSR | S_IWUSR,
-                               "rawqft%i", i);
-               class_simple_device_add(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i);
-               devfs_mk_cdev(MKDEV(QIC117_TAPE_MAJOR, i + 36),
-                               S_IFCHR | S_IRUSR | S_IWUSR,
-                               "nrawqft%i", i);
+               class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i), NULL, "qft%i", i);
+               class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 4), NULL, "nqft%i", i);
+               class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 16), NULL, "zqft%i", i);
+               class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 20), NULL, "nzqft%i", i);
+               class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 32), NULL, "rawqft%i", i);
+               class_device_create(zft_class, NULL, MKDEV(QIC117_TAPE_MAJOR, i + 36), NULL, "nrawrawqft%i", i);
        }
 
 #ifdef CONFIG_ZFT_COMPRESSOR
@@ -380,20 +360,14 @@ static void zft_exit(void)
                TRACE(ft_t_info, "successful");
        }
         for (i = 0; i < 4; i++) {
-               devfs_remove("qft%i", i);
-               class_simple_device_remove(MKDEV(QIC117_TAPE_MAJOR, i));
-               devfs_remove("nqft%i", i);
-               class_simple_device_remove(MKDEV(QIC117_TAPE_MAJOR, i + 4));
-               devfs_remove("zqft%i", i);
-               class_simple_device_remove(MKDEV(QIC117_TAPE_MAJOR, i + 16));
-               devfs_remove("nzqft%i", i);
-               class_simple_device_remove(MKDEV(QIC117_TAPE_MAJOR, i + 20));
-               devfs_remove("rawqft%i", i);
-               class_simple_device_remove(MKDEV(QIC117_TAPE_MAJOR, i + 32));
-               devfs_remove("nrawqft%i", i);
-               class_simple_device_remove(MKDEV(QIC117_TAPE_MAJOR, i + 36));
+               class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i));
+               class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 4));
+               class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 16));
+               class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 20));
+               class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 32));
+               class_device_destroy(zft_class, MKDEV(QIC117_TAPE_MAJOR, i + 36));
        }
-       class_simple_destroy(zft_class);
+       class_destroy(zft_class);
        zft_uninit_mem(); /* release remaining memory, if any */
         printk(KERN_INFO "zftape successfully unloaded.\n");
        TRACE_EXIT;