[SCSI] Remove devfs support from the SCSI subsystem
authorGreg KH <gregkh@suse.de>
Thu, 19 Jan 2006 00:17:46 +0000 (16:17 -0800)
committer <jejb@mulgrave.il.steeleye.com> <>
Tue, 28 Feb 2006 04:55:04 +0000 (22:55 -0600)
As devfs has been disabled from the kernel tree for a number of months
now (5 to be exact), here's a patch against 2.6.16-rc1-git1 that removes
support for it from the SCSI subsystem.

The patch also removes the scsi_disk devfs_name field as it's no longer
needed.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/osst.c
drivers/scsi/scsi.c
drivers/scsi/scsi_scan.c
drivers/scsi/sd.c
drivers/scsi/sg.c
drivers/scsi/sr.c
drivers/scsi/st.c
include/scsi/scsi_device.h

index d9946bd95492e68ae43d9df891d497c86592d58d..b9f6084fdd9e9626a381a9197944252c7d33cc8b 100644 (file)
@@ -48,7 +48,6 @@ static const char * osst_version = "0.99.3";
 #include <linux/vmalloc.h>
 #include <linux/blkdev.h>
 #include <linux/moduleparam.h>
-#include <linux/devfs_fs_kernel.h>
 #include <linux/delay.h>
 #include <asm/uaccess.h>
 #include <asm/dma.h>
@@ -107,8 +106,6 @@ static struct osst_dev_parm {
 };
 #endif
 
-static char *osst_formats[ST_NBR_MODES] ={"", "l", "m", "a"};
-
 /* Some default definitions have been moved to osst_options.h */
 #define OSST_BUFFER_SIZE (OSST_BUFFER_BLOCKS * ST_KILOBYTE)
 #define OSST_WRITE_THRESHOLD (OSST_WRITE_THRESHOLD_BLOCKS * ST_KILOBYTE)
@@ -5667,7 +5664,7 @@ static int osst_probe(struct device *dev)
        struct st_partstat * STps;
        struct osst_buffer * buffer;
        struct gendisk     * drive;
-       int                  i, mode, dev_num;
+       int                  i, dev_num;
 
        if (SDp->type != TYPE_TAPE || !osst_supports(SDp))
                return -ENODEV;
@@ -5803,18 +5800,6 @@ static int osst_probe(struct device *dev)
                snprintf(name, 8, "%s%s", "n", tape_name(tpnt));
                osst_sysfs_add(MKDEV(OSST_MAJOR, dev_num + 128), dev, tpnt, name);
        }
-       for (mode = 0; mode < ST_NBR_MODES; ++mode) {
-               /*  Rewind entry  */
-               devfs_mk_cdev(MKDEV(OSST_MAJOR, dev_num + (mode << 5)),
-                               S_IFCHR | S_IRUGO | S_IWUGO,
-                               "%s/ot%s", SDp->devfs_name, osst_formats[mode]);
-
-               /*  No-rewind entry  */
-               devfs_mk_cdev(MKDEV(OSST_MAJOR, dev_num + (mode << 5) + 128),
-                               S_IFCHR | S_IRUGO | S_IWUGO,
-                               "%s/ot%sn", SDp->devfs_name, osst_formats[mode]);
-       }
-       drive->number = devfs_register_tape(SDp->devfs_name);
 
        sdev_printk(KERN_INFO, SDp,
                "osst :I: Attached OnStream %.5s tape as %s\n",
@@ -5831,7 +5816,7 @@ static int osst_remove(struct device *dev)
 {
        struct scsi_device * SDp = to_scsi_device(dev);
        struct osst_tape * tpnt;
-       int i, mode;
+       int i;
 
        if ((SDp->type != TYPE_TAPE) || (osst_nr_dev <= 0))
                return 0;
@@ -5842,11 +5827,6 @@ static int osst_remove(struct device *dev)
                        osst_sysfs_destroy(MKDEV(OSST_MAJOR, i));
                        osst_sysfs_destroy(MKDEV(OSST_MAJOR, i+128));
                        tpnt->device = NULL;
-                       for (mode = 0; mode < ST_NBR_MODES; ++mode) {
-                               devfs_remove("%s/ot%s", SDp->devfs_name, osst_formats[mode]);
-                               devfs_remove("%s/ot%sn", SDp->devfs_name, osst_formats[mode]);
-                       }
-                       devfs_unregister_tape(tpnt->drive->number);
                        put_disk(tpnt->drive);
                        os_scsi_tapes[i] = NULL;
                        osst_nr_dev--;
index 11b27ba0cd411189c6c2acb9f17a14b2530f050c..6913b0623167ca0c6d45d21862213a958cd215cf 100644 (file)
@@ -48,7 +48,6 @@
 #include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/completion.h>
-#include <linux/devfs_fs_kernel.h>
 #include <linux/unistd.h>
 #include <linux/spinlock.h>
 #include <linux/kmod.h>
@@ -1247,7 +1246,6 @@ static int __init init_scsi(void)
        for_each_cpu(i)
                INIT_LIST_HEAD(&per_cpu(scsi_done_q, i));
 
-       devfs_mk_dir("scsi");
        printk(KERN_NOTICE "SCSI subsystem initialized\n");
        return 0;
 
@@ -1272,7 +1270,6 @@ static void __exit exit_scsi(void)
        scsi_exit_sysctl();
        scsi_exit_hosts();
        scsi_exit_devinfo();
-       devfs_remove("scsi");
        scsi_exit_procfs();
        scsi_exit_queue();
 }
index 74863da1d630a2df419c2bb75ea0e5962ee5ba47..dfdbbd0086308848f7b669cca1b33c5c929c8ee8 100644 (file)
@@ -687,12 +687,8 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags)
        if (inq_result[7] & 0x10)
                sdev->sdtr = 1;
 
-       sprintf(sdev->devfs_name, "scsi/host%d/bus%d/target%d/lun%d",
-                               sdev->host->host_no, sdev->channel,
-                               sdev->id, sdev->lun);
-
        /*
-        * End driverfs/devfs code.
+        * End sysfs code.
         */
 
        if ((sdev->scsi_level >= SCSI_2) && (inq_result[7] & 2) &&
index 8ba2d988d051f6b1c56262503605f9873992daef..76b4d14c0b3f489af353d729876f31a0b0600ad7 100644 (file)
@@ -1571,8 +1571,6 @@ static int sd_probe(struct device *dev)
                        'a' + m1, 'a' + m2, 'a' + m3);
        }
 
-       strcpy(gd->devfs_name, sdp->devfs_name);
-
        gd->private_data = &sdkp->driver;
        gd->queue = sdkp->device->request_queue;
 
index ecf2f6010e76bce6444e6699fcca48a167a61659..06fc8ed720fc18a7f896c39d5612e8f47abccbb8 100644 (file)
@@ -44,7 +44,6 @@ static int sg_version_num = 30533;    /* 2 digits for each component */
 #include <linux/poll.h>
 #include <linux/smp_lock.h>
 #include <linux/moduleparam.h>
-#include <linux/devfs_fs_kernel.h>
 #include <linux/cdev.h>
 #include <linux/seq_file.h>
 #include <linux/blkdev.h>
@@ -1456,14 +1455,10 @@ sg_add(struct class_device *cl_dev, struct class_interface *cl_intf)
        k = error;
        sdp = sg_dev_arr[k];
 
-       devfs_mk_cdev(MKDEV(SCSI_GENERIC_MAJOR, k),
-                       S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP,
-                       "%s/generic", scsidp->devfs_name);
        error = cdev_add(cdev, MKDEV(SCSI_GENERIC_MAJOR, k), 1);
-       if (error) {
-               devfs_remove("%s/generic", scsidp->devfs_name);
+       if (error)
                goto out;
-       }
+
        sdp->cdev = cdev;
        if (sg_sysfs_valid) {
                struct class_device * sg_class_member;
@@ -1553,7 +1548,6 @@ sg_remove(struct class_device *cl_dev, struct class_interface *cl_intf)
                class_device_destroy(sg_sysfs_class, MKDEV(SCSI_GENERIC_MAJOR, k));
                cdev_del(sdp->cdev);
                sdp->cdev = NULL;
-               devfs_remove("%s/generic", scsidp->devfs_name);
                put_disk(sdp->disk);
                sdp->disk = NULL;
                if (NULL == sdp->headfp)
index d8d12a1718bf91cc9df203440b594dadb5c2ea76..328837b7ccb97a48776c64355b5950234f78a6c0 100644 (file)
@@ -573,8 +573,6 @@ static int sr_probe(struct device *dev)
        get_capabilities(cd);
        sr_vendor_init(cd);
 
-       snprintf(disk->devfs_name, sizeof(disk->devfs_name),
-                       "%s/cd", sdev->devfs_name);
        disk->driverfs_dev = &sdev->sdev_gendev;
        set_capacity(disk, cd->capacity);
        disk->private_data = &cd->driver;
index f0606da19d02868aa78071099b094b471fab48cc..31c6eefba9d695ca58dd20e7017904dff850d8d4 100644 (file)
@@ -35,7 +35,6 @@ static const char *verstr = "20050830";
 #include <linux/spinlock.h>
 #include <linux/blkdev.h>
 #include <linux/moduleparam.h>
-#include <linux/devfs_fs_kernel.h>
 #include <linux/cdev.h>
 #include <linux/delay.h>
 #include <linux/mutex.h>
@@ -4053,21 +4052,6 @@ static int st_probe(struct device *dev)
                do_create_class_files(tpnt, dev_num, mode);
        }
 
-       for (mode = 0; mode < ST_NBR_MODES; ++mode) {
-               /* Make sure that the minor numbers corresponding to the four
-                  first modes always get the same names */
-               i = mode << (4 - ST_NBR_MODE_BITS);
-               /*  Rewind entry  */
-               devfs_mk_cdev(MKDEV(SCSI_TAPE_MAJOR, TAPE_MINOR(dev_num, mode, 0)),
-                             S_IFCHR | S_IRUGO | S_IWUGO,
-                             "%s/mt%s", SDp->devfs_name, st_formats[i]);
-               /*  No-rewind entry  */
-               devfs_mk_cdev(MKDEV(SCSI_TAPE_MAJOR, TAPE_MINOR(dev_num, mode, 1)),
-                             S_IFCHR | S_IRUGO | S_IWUGO,
-                             "%s/mt%sn", SDp->devfs_name, st_formats[i]);
-       }
-       disk->number = devfs_register_tape(SDp->devfs_name);
-
        sdev_printk(KERN_WARNING, SDp,
                    "Attached scsi tape %s", tape_name(tpnt));
        printk(KERN_WARNING "%s: try direct i/o: %s (alignment %d B)\n",
@@ -4121,13 +4105,9 @@ static int st_remove(struct device *dev)
                        scsi_tapes[i] = NULL;
                        st_nr_dev--;
                        write_unlock(&st_dev_arr_lock);
-                       devfs_unregister_tape(tpnt->disk->number);
                        sysfs_remove_link(&tpnt->device->sdev_gendev.kobj,
                                          "tape");
                        for (mode = 0; mode < ST_NBR_MODES; ++mode) {
-                               j = mode << (4 - ST_NBR_MODE_BITS);
-                               devfs_remove("%s/mt%s", SDp->devfs_name, st_formats[j]);
-                               devfs_remove("%s/mt%sn", SDp->devfs_name, st_formats[j]);
                                for (j=0; j < 2; j++) {
                                        class_device_destroy(st_sysfs_class,
                                                             MKDEV(SCSI_TAPE_MAJOR,
index 290e3b4d2aec040c46f1fc2f0ff8b9a8b3398472..cde84b39bb6513bf8cd637e6c50d496fa02b9565 100644 (file)
@@ -73,7 +73,6 @@ struct scsi_device {
        unsigned sector_size;   /* size in bytes */
 
        void *hostdata;         /* available to low-level driver */
-       char devfs_name[256];   /* devfs junk */
        char type;
        char scsi_level;
        char inq_periph_qual;   /* PQ from INQUIRY data */