aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-22 19:02:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-22 19:02:13 -0400
commit5d4e2d08e7fdf7339f84a1c670d296a77e02f881 (patch)
tree1c419660defa56191091dfdf50fdb57a72009173 /init
parentfb2123fad3b499f0898835b19dbb93b18d27ee98 (diff)
parent94ca629e40eb7e997be21d8065c25e4f3797b03f (diff)
Merge tag 'driver-core-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core updates from Greg Kroah-Hartman: "Here's the driver core, and other driver subsystems, pull request for the 3.5-rc1 merge window. Outside of a few minor driver core changes, we ended up with the following different subsystem and core changes as well, due to interdependancies on the driver core: - hyperv driver updates - drivers/memory being created and some drivers moved into it - extcon driver subsystem created out of the old Android staging switch driver code - dynamic debug updates - printk rework, and /dev/kmsg changes All of this has been tested in the linux-next releases for a few weeks with no reported problems. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>" Fix up conflicts in drivers/extcon/extcon-max8997.c where git noticed that a patch to the deleted drivers/misc/max8997-muic.c driver needs to be applied to this one. * tag 'driver-core-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (90 commits) uio_pdrv_genirq: get irq through platform resource if not set otherwise memory: tegra{20,30}-mc: Remove empty *_remove() printk() - isolate KERN_CONT users from ordinary complete lines sysfs: get rid of some lockdep false positives Drivers: hv: util: Properly handle version negotiations. Drivers: hv: Get rid of an unnecessary check in vmbus_prep_negotiate_resp() memory: tegra{20,30}-mc: Use dev_err_ratelimited() driver core: Add dev_*_ratelimited() family Driver Core: don't oops with unregistered driver in driver_find_device() printk() - restore prefix/timestamp printing for multi-newline strings printk: add stub for prepend_timestamp() ARM: tegra30: Make MC optional in Kconfig ARM: tegra20: Make MC optional in Kconfig ARM: tegra30: MC: Remove unnecessary BUG*() ARM: tegra20: MC: Remove unnecessary BUG*() printk: correctly align __log_buf ARM: tegra30: Add Tegra Memory Controller(MC) driver ARM: tegra20: Add Tegra Memory Controller(MC) driver printk() - restore timestamp printing at console output printk() - do not merge continuation lines of different threads ...
Diffstat (limited to 'init')
-rw-r--r--init/main.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/init/main.c b/init/main.c
index cb54cd3dbf05..1ca6b32c4828 100644
--- a/init/main.c
+++ b/init/main.c
@@ -226,7 +226,7 @@ static int __init loglevel(char *str)
226early_param("loglevel", loglevel); 226early_param("loglevel", loglevel);
227 227
228/* Change NUL term back to "=", to make "param" the whole string. */ 228/* Change NUL term back to "=", to make "param" the whole string. */
229static int __init repair_env_string(char *param, char *val) 229static int __init repair_env_string(char *param, char *val, const char *unused)
230{ 230{
231 if (val) { 231 if (val) {
232 /* param=val or param="val"? */ 232 /* param=val or param="val"? */
@@ -246,9 +246,9 @@ static int __init repair_env_string(char *param, char *val)
246 * Unknown boot options get handed to init, unless they look like 246 * Unknown boot options get handed to init, unless they look like
247 * unused parameters (modprobe will find them in /proc/cmdline). 247 * unused parameters (modprobe will find them in /proc/cmdline).
248 */ 248 */
249static int __init unknown_bootoption(char *param, char *val) 249static int __init unknown_bootoption(char *param, char *val, const char *unused)
250{ 250{
251 repair_env_string(param, val); 251 repair_env_string(param, val, unused);
252 252
253 /* Handle obsolete-style parameters */ 253 /* Handle obsolete-style parameters */
254 if (obsolete_checksetup(param)) 254 if (obsolete_checksetup(param))
@@ -385,7 +385,7 @@ static noinline void __init_refok rest_init(void)
385} 385}
386 386
387/* Check for early params. */ 387/* Check for early params. */
388static int __init do_early_param(char *param, char *val) 388static int __init do_early_param(char *param, char *val, const char *unused)
389{ 389{
390 const struct obs_kernel_param *p; 390 const struct obs_kernel_param *p;
391 391
@@ -725,14 +725,14 @@ static initcall_t *initcall_levels[] __initdata = {
725}; 725};
726 726
727static char *initcall_level_names[] __initdata = { 727static char *initcall_level_names[] __initdata = {
728 "early parameters", 728 "early",
729 "core parameters", 729 "core",
730 "postcore parameters", 730 "postcore",
731 "arch parameters", 731 "arch",
732 "subsys parameters", 732 "subsys",
733 "fs parameters", 733 "fs",
734 "device parameters", 734 "device",
735 "late parameters", 735 "late",
736}; 736};
737 737
738static void __init do_initcall_level(int level) 738static void __init do_initcall_level(int level)
@@ -745,7 +745,7 @@ static void __init do_initcall_level(int level)
745 static_command_line, __start___param, 745 static_command_line, __start___param,
746 __stop___param - __start___param, 746 __stop___param - __start___param,
747 level, level, 747 level, level,
748 repair_env_string); 748 &repair_env_string);
749 749
750 for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++) 750 for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++)
751 do_one_initcall(*fn); 751 do_one_initcall(*fn);
@@ -755,8 +755,13 @@ static void __init do_initcalls(void)
755{ 755{
756 int level; 756 int level;
757 757
758 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) 758 for (level = 0; level < ARRAY_SIZE(initcall_levels) - 1; level++) {
759 pr_info("initlevel:%d=%s, %d registered initcalls\n",
760 level, initcall_level_names[level],
761 (int) (initcall_levels[level+1]
762 - initcall_levels[level]));
759 do_initcall_level(level); 763 do_initcall_level(level);
764 }
760} 765}
761 766
762/* 767/*