From: Rusty Russell <rusty@rustcorp.com.au>

Previously, default aliases were hardwired into modutils.  Now they should
be inside the modules, using MODULE_ALIAS() (they will be overridden by any
user alias).



 25-akpm/drivers/block/floppy.c    |    2 ++
 25-akpm/drivers/block/xd.c        |    4 ++--
 25-akpm/drivers/cdrom/aztcd.c     |    1 +
 25-akpm/drivers/cdrom/cdu31a.c    |    1 +
 25-akpm/drivers/cdrom/cm206.c     |    2 +-
 25-akpm/drivers/cdrom/gscd.c      |    1 +
 25-akpm/drivers/cdrom/mcd.c       |    1 +
 25-akpm/drivers/cdrom/mcdx.c      |    1 +
 25-akpm/drivers/cdrom/optcd.c     |    1 +
 25-akpm/drivers/cdrom/sbpcd.c     |    3 +++
 25-akpm/drivers/cdrom/sjcd.c      |    1 +
 25-akpm/drivers/cdrom/sonycd535.c |    1 +
 25-akpm/include/linux/blkdev.h    |    9 ++++++++-
 13 files changed, 24 insertions(+), 4 deletions(-)

diff -puN drivers/block/floppy.c~MODULE_ALIAS-in-block-devices drivers/block/floppy.c
--- 25/drivers/block/floppy.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/block/floppy.c	Tue Sep  2 08:28:28 2003
@@ -4607,3 +4607,5 @@ MODULE_LICENSE("GPL");
 __setup ("floppy=", floppy_setup);
 module_init(floppy_init)
 #endif
+
+MODULE_ALIAS_BLOCKDEV_MAJOR(FLOPPY_MAJOR);
diff -puN drivers/block/xd.c~MODULE_ALIAS-in-block-devices drivers/block/xd.c
--- 25/drivers/block/xd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/block/xd.c	Tue Sep  2 08:28:28 2003
@@ -1100,5 +1100,5 @@ __setup ("xd_geo=", xd_manual_geo_init);
 
 #endif /* MODULE */
 
-module_init(xd_init)
-
+module_init(xd_init);
+MODULE_ALIAS_BLOCKDEV_MAJOR(XT_DISK_MAJOR);
diff -puN drivers/cdrom/aztcd.c~MODULE_ALIAS-in-block-devices drivers/cdrom/aztcd.c
--- 25/drivers/cdrom/aztcd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/aztcd.c	Tue Sep  2 08:28:28 2003
@@ -2499,3 +2499,4 @@ static int azt_bcd2bin(unsigned char bcd
 }
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(AZTECH_CDROM_MAJOR);
diff -puN drivers/cdrom/cdu31a.c~MODULE_ALIAS-in-block-devices drivers/cdrom/cdu31a.c
--- 25/drivers/cdrom/cdu31a.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/cdu31a.c	Tue Sep  2 08:28:28 2003
@@ -3500,3 +3500,4 @@ module_init(cdu31a_init);
 module_exit(cdu31a_exit);
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(CDU31A_CDROM_MAJOR);
diff -puN drivers/cdrom/cm206.c~MODULE_ALIAS-in-block-devices drivers/cdrom/cm206.c
--- 25/drivers/cdrom/cm206.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/cm206.c	Tue Sep  2 08:28:28 2003
@@ -1616,7 +1616,7 @@ static int __init cm206_setup(char *s)
 __setup("cm206=", cm206_setup);
 
 #endif				/* !MODULE */
-
+MODULE_ALIAS_BLOCKDEV_MAJOR(CM206_CDROM_MAJOR);
 
 /*
  * Local variables:
diff -puN drivers/cdrom/gscd.c~MODULE_ALIAS-in-block-devices drivers/cdrom/gscd.c
--- 25/drivers/cdrom/gscd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/gscd.c	Tue Sep  2 08:28:28 2003
@@ -1029,3 +1029,4 @@ MODULE_AUTHOR("Oliver Raupach <raupach@n
 MODULE_LICENSE("GPL");
 module_init(gscd_init);
 module_exit(gscd_exit);
+MODULE_ALIAS_BLOCKDEV_MAJOR(GOLDSTAR_CDROM_MAJOR);
diff -puN drivers/cdrom/mcd.c~MODULE_ALIAS-in-block-devices drivers/cdrom/mcd.c
--- 25/drivers/cdrom/mcd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/mcd.c	Tue Sep  2 08:28:28 2003
@@ -1559,3 +1559,4 @@ module_exit(mcd_exit);
 
 MODULE_AUTHOR("Martin Harriss");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(MITSUMI_CDROM_MAJOR);
diff -puN drivers/cdrom/mcdx.c~MODULE_ALIAS-in-block-devices drivers/cdrom/mcdx.c
--- 25/drivers/cdrom/mcdx.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/mcdx.c	Tue Sep  2 08:28:28 2003
@@ -1970,3 +1970,4 @@ static int mcdx_setattentuator(struct s_
 }
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(MITSUMI_X_CDROM_MAJOR);
diff -puN drivers/cdrom/optcd.c~MODULE_ALIAS-in-block-devices drivers/cdrom/optcd.c
--- 25/drivers/cdrom/optcd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/optcd.c	Tue Sep  2 08:28:28 2003
@@ -2102,3 +2102,4 @@ module_init(optcd_init);
 module_exit(optcd_exit);
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(OPTICS_CDROM_MAJOR);
diff -puN drivers/cdrom/sbpcd.c~MODULE_ALIAS-in-block-devices drivers/cdrom/sbpcd.c
--- 25/drivers/cdrom/sbpcd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/sbpcd.c	Tue Sep  2 08:28:28 2003
@@ -5954,6 +5954,9 @@ static int sbpcd_media_changed(struct cd
 }
 
 MODULE_LICENSE("GPL");
+/* FIXME: Old modules.conf claims MATSUSHITA_CDROM2_MAJOR and CDROM3, but
+   AFAICT this doesn't support those majors, so why? --RR 30 Jul 2003 */
+MODULE_ALIAS_BLOCKDEV_MAJOR(MATSUSHITA_CDROM_MAJOR);
 
 /*==========================================================================*/
 /*
diff -puN drivers/cdrom/sjcd.c~MODULE_ALIAS-in-block-devices drivers/cdrom/sjcd.c
--- 25/drivers/cdrom/sjcd.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/sjcd.c	Tue Sep  2 08:28:28 2003
@@ -1813,3 +1813,4 @@ module_init(sjcd_init);
 module_exit(sjcd_exit);
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(SANYO_CDROM_MAJOR);
diff -puN drivers/cdrom/sonycd535.c~MODULE_ALIAS-in-block-devices drivers/cdrom/sonycd535.c
--- 25/drivers/cdrom/sonycd535.c~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/drivers/cdrom/sonycd535.c	Tue Sep  2 08:28:28 2003
@@ -1684,3 +1684,4 @@ module_exit(sony535_exit);
 
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_BLOCKDEV_MAJOR(CDU535_CDROM_MAJOR);
diff -puN include/linux/blkdev.h~MODULE_ALIAS-in-block-devices include/linux/blkdev.h
--- 25/include/linux/blkdev.h~MODULE_ALIAS-in-block-devices	Tue Sep  2 08:28:28 2003
+++ 25-akpm/include/linux/blkdev.h	Tue Sep  2 08:28:28 2003
@@ -12,6 +12,8 @@
 #include <linux/wait.h>
 #include <linux/mempool.h>
 #include <linux/bio.h>
+#include <linux/module.h>
+#include <linux/stringify.h>
 
 #include <asm/scatterlist.h>
 
@@ -671,6 +673,11 @@ void kblockd_flush(void);
 } \
 )
 #endif 
- 
+
+#define MODULE_ALIAS_BLOCKDEV(major,minor) \
+	MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor))
+#define MODULE_ALIAS_BLOCKDEV_MAJOR(major) \
+	MODULE_ALIAS("block-major-" __stringify(major) "-*")
+
 
 #endif

_