diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 19:02:13 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 19:02:13 -0400 |
| commit | 5d4e2d08e7fdf7339f84a1c670d296a77e02f881 (patch) | |
| tree | 1c419660defa56191091dfdf50fdb57a72009173 /init | |
| parent | fb2123fad3b499f0898835b19dbb93b18d27ee98 (diff) | |
| parent | 94ca629e40eb7e997be21d8065c25e4f3797b03f (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.c | 33 |
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) | |||
| 226 | early_param("loglevel", loglevel); | 226 | early_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. */ |
| 229 | static int __init repair_env_string(char *param, char *val) | 229 | static 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 | */ |
| 249 | static int __init unknown_bootoption(char *param, char *val) | 249 | static 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. */ |
| 388 | static int __init do_early_param(char *param, char *val) | 388 | static 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 | ||
| 727 | static char *initcall_level_names[] __initdata = { | 727 | static 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 | ||
| 738 | static void __init do_initcall_level(int level) | 738 | static 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 | /* |
