[PATCH] Fix HWRNG built-in initcalls priority
authorMichael Buesch <mb@bu3sch.de>
Thu, 11 Jan 2007 07:15:43 +0000 (23:15 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Fri, 12 Jan 2007 02:18:21 +0000 (18:18 -0800)
This changes all HWRNG driver initcalls to module_init().  We must probe
the RNGs after the major kernel subsystems are already up and running (like
PCI).

This fixes Bug 7730.
http://bugzilla.kernel.org/show_bug.cgi?id=7730

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Cc: Jan Beulich <jbeulich@novell.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/char/hw_random/amd-rng.c
drivers/char/hw_random/geode-rng.c
drivers/char/hw_random/intel-rng.c
drivers/char/hw_random/ixp4xx-rng.c
drivers/char/hw_random/via-rng.c

index 71e4e0f3fd54ea404ac9658117d863de50eb131f..556fd81fa8155737caacc44039517c93d13bd4be 100644 (file)
@@ -144,7 +144,7 @@ static void __exit mod_exit(void)
        hwrng_unregister(&amd_rng);
 }
 
-subsys_initcall(mod_init);
+module_init(mod_init);
 module_exit(mod_exit);
 
 MODULE_AUTHOR("The Linux Kernel team");
index d37ced0d132ba3d09bc0e972820dad0c445998e6..8e8658dcd2e3b1bfa87036f33da090928e4b0818 100644 (file)
@@ -125,7 +125,7 @@ static void __exit mod_exit(void)
        iounmap(mem);
 }
 
-subsys_initcall(mod_init);
+module_init(mod_init);
 module_exit(mod_exit);
 
 MODULE_DESCRIPTION("H/W RNG driver for AMD Geode LX CPUs");
index 154ce3e6b3c9932b1ba9dbd78c0e905fb4ce3922..f22e78e3c70ff81f71f3ecc3102fcade8bac958e 100644 (file)
@@ -378,7 +378,7 @@ static void __exit mod_exit(void)
        iounmap(mem);
 }
 
-subsys_initcall(mod_init);
+module_init(mod_init);
 module_exit(mod_exit);
 
 MODULE_DESCRIPTION("H/W RNG driver for Intel chipsets");
index c9caff57db85dfac639d30efe0c1439299cccd81..bab43ca32ac1e52a72f7c45008966924334de7e6 100644 (file)
@@ -64,7 +64,7 @@ static void __exit ixp4xx_rng_exit(void)
        iounmap(rng_base);
 }
 
-subsys_initcall(ixp4xx_rng_init);
+module_init(ixp4xx_rng_init);
 module_exit(ixp4xx_rng_exit);
 
 MODULE_AUTHOR("Deepak Saxena <dsaxena@plexity.net>");
index 0e786b617bb8e5af14c8e8e125be0b483277e59a..9ebf84d18655eb06e48ccc9cab5cb8473bf6b77a 100644 (file)
@@ -176,7 +176,7 @@ static void __exit mod_exit(void)
        hwrng_unregister(&via_rng);
 }
 
-subsys_initcall(mod_init);
+module_init(mod_init);
 module_exit(mod_exit);
 
 MODULE_DESCRIPTION("H/W RNG driver for VIA chipsets");