From: Rene Herman Add device-major aliases in drivers/scsi, allowing kmod autoload: MODULE_ALIAS_CHARDEV_MAJOR(SCSI_CHANGER_MAJOR) MODULE_ALIAS_CHARDEV_MAJOR(OSST_MAJOR) MODULE_ALIAS_CHARDEV_MAJOR(SCSI_TAPE_MAJOR) MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_CDROM_MAJOR) MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISKN_MAJOR) Submitted the SCSI_TAPE_MAJOR before to the driver author, but never got a reply: http://marc.theaimsgroup.com/?l=linux-kernel&m=110589612809217&w=2 Cc: James Bottomley Cc: Greg KH Cc: Christoph Hellwig Signed-off-by: Andrew Morton --- drivers/scsi/ch.c | 1 + drivers/scsi/osst.c | 1 + drivers/scsi/sd.c | 25 +++++++++++++++++++++---- drivers/scsi/sg.c | 2 +- drivers/scsi/sr.c | 4 ++++ drivers/scsi/st.c | 3 ++- 6 files changed, 30 insertions(+), 6 deletions(-) diff -puN drivers/scsi/ch.c~module_alias_blockchardev_major-for-drivers-scsi drivers/scsi/ch.c --- 25/drivers/scsi/ch.c~module_alias_blockchardev_major-for-drivers-scsi Thu Jan 19 15:49:11 2006 +++ 25-akpm/drivers/scsi/ch.c Thu Jan 19 15:49:11 2006 @@ -39,6 +39,7 @@ MODULE_DESCRIPTION("device driver for scsi media changer devices"); MODULE_AUTHOR("Gerd Knorr "); MODULE_LICENSE("GPL"); +MODULE_ALIAS_CHARDEV_MAJOR(SCSI_CHANGER_MAJOR); static int init = 1; module_param(init, int, 0444); diff -puN drivers/scsi/osst.c~module_alias_blockchardev_major-for-drivers-scsi drivers/scsi/osst.c --- 25/drivers/scsi/osst.c~module_alias_blockchardev_major-for-drivers-scsi Thu Jan 19 15:49:11 2006 +++ 25-akpm/drivers/scsi/osst.c Thu Jan 19 15:49:11 2006 @@ -87,6 +87,7 @@ static int max_sg_segs = 0; MODULE_AUTHOR("Willem Riede"); MODULE_DESCRIPTION("OnStream {DI-|FW-|SC-|USB}{30|50} Tape Driver"); MODULE_LICENSE("GPL"); +MODULE_ALIAS_CHARDEV_MAJOR(OSST_MAJOR); module_param(max_dev, int, 0444); MODULE_PARM_DESC(max_dev, "Maximum number of OnStream Tape Drives to attach (4)"); diff -puN drivers/scsi/sd.c~module_alias_blockchardev_major-for-drivers-scsi drivers/scsi/sd.c --- 25/drivers/scsi/sd.c~module_alias_blockchardev_major-for-drivers-scsi Thu Jan 19 15:49:11 2006 +++ 25-akpm/drivers/scsi/sd.c Thu Jan 19 15:49:11 2006 @@ -71,6 +71,27 @@ */ #define SD_MAJORS 16 +MODULE_AUTHOR("Eric Youngdale"); +MODULE_DESCRIPTION("SCSI disk (sd) driver"); +MODULE_LICENSE("GPL"); + +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK0_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK1_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK2_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK3_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK4_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK5_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK6_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK7_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK8_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK9_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK10_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK11_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK12_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK13_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK14_MAJOR); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_DISK15_MAJOR); + /* * This is limited by the naming scheme enforced in sd_probe, * add another character to it if you really need more disks. @@ -1696,9 +1717,5 @@ static void __exit exit_sd(void) unregister_blkdev(sd_major(i), "sd"); } -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Eric Youngdale"); -MODULE_DESCRIPTION("SCSI disk (sd) driver"); - module_init(init_sd); module_exit(exit_sd); diff -puN drivers/scsi/sg.c~module_alias_blockchardev_major-for-drivers-scsi drivers/scsi/sg.c --- 25/drivers/scsi/sg.c~module_alias_blockchardev_major-for-drivers-scsi Thu Jan 19 15:49:11 2006 +++ 25-akpm/drivers/scsi/sg.c Thu Jan 19 15:49:11 2006 @@ -1577,6 +1577,7 @@ MODULE_AUTHOR("Douglas Gilbert"); MODULE_DESCRIPTION("SCSI generic (sg) driver"); MODULE_LICENSE("GPL"); MODULE_VERSION(SG_VERSION_STR); +MODULE_ALIAS_CHARDEV_MAJOR(SCSI_GENERIC_MAJOR); MODULE_PARM_DESC(def_reserved_size, "size of buffer reserved for each fd"); MODULE_PARM_DESC(allow_dio, "allow direct I/O (default: 0 (disallow))"); @@ -2974,4 +2975,3 @@ static int sg_proc_seq_show_debug(struct module_init(init_sg); module_exit(exit_sg); -MODULE_ALIAS_CHARDEV_MAJOR(SCSI_GENERIC_MAJOR); diff -puN drivers/scsi/sr.c~module_alias_blockchardev_major-for-drivers-scsi drivers/scsi/sr.c --- 25/drivers/scsi/sr.c~module_alias_blockchardev_major-for-drivers-scsi Thu Jan 19 15:49:11 2006 +++ 25-akpm/drivers/scsi/sr.c Thu Jan 19 15:49:11 2006 @@ -60,6 +60,10 @@ #include "sr.h" +MODULE_DESCRIPTION("SCSI cdrom (sr) driver"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS_BLOCKDEV_MAJOR(SCSI_CDROM_MAJOR); + #define SR_DISKS 256 #define MAX_RETRIES 3 diff -puN drivers/scsi/st.c~module_alias_blockchardev_major-for-drivers-scsi drivers/scsi/st.c --- 25/drivers/scsi/st.c~module_alias_blockchardev_major-for-drivers-scsi Thu Jan 19 15:49:11 2006 +++ 25-akpm/drivers/scsi/st.c Thu Jan 19 15:49:11 2006 @@ -87,8 +87,9 @@ static int st_nr_dev; static struct class *st_sysfs_class; MODULE_AUTHOR("Kai Makisara"); -MODULE_DESCRIPTION("SCSI Tape Driver"); +MODULE_DESCRIPTION("SCSI tape (st) driver"); MODULE_LICENSE("GPL"); +MODULE_ALIAS_CHARDEV_MAJOR(SCSI_TAPE_MAJOR); /* Set 'perm' (4th argument) to 0 to disable module_param's definition * of sysfs parameters (which module_param doesn't yet support). _