On Fri, 01 Feb 2008 11:35:35 -0800
Yinghai Lu <[EMAIL PROTECTED]> wrote:

> [PATCH] make loglevel related commandline to early_param v2
> 
> so we can use them for early console like 
> console=uart8250,io,0x3f8,115200n8
> earlycon=uart8250,io,0x3f8,115200n8
> early_printk
> 
> otherwise printk(KERN_DEBUG "debug msg") will not print out to console even
> "debug" command line is used.
> 
> andi point out early_param need to return 0 instead 1.
> 
> Ingo had another patch in x86.git to process ignore_loglevel
> 
> Signed-off-by: Yinghai Lu <[EMAIL PROTECTED]>
> 
> diff --git a/init/main.c b/init/main.c
> index cb81ed1..3741bda 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -232,30 +232,26 @@ EXPORT_SYMBOL(loops_per_jiffy);
>  
>  static int __init debug_kernel(char *str)
>  {
> -     if (*str)
> -             return 0;
>       console_loglevel = 10;
> -     return 1;
> +     return 0;
>  }
>  
>  static int __init quiet_kernel(char *str)
>  {
> -     if (*str)
> -             return 0;
>       console_loglevel = 4;
> -     return 1;
> +     return 0;
>  }
>  
> -__setup("debug", debug_kernel);
> -__setup("quiet", quiet_kernel);
> +early_param("debug", debug_kernel);
> +early_param("quiet", quiet_kernel);
>  
>  static int __init loglevel(char *str)
>  {
>       get_option(&str, &console_loglevel);
> -     return 1;
> +     return 0;
>  }
>  
> -__setup("loglevel=", loglevel);
> +early_param("loglevel", loglevel);
>  
>  /*
>   * Unknown boot options get handed to init, unless they look like

Your earlier patch converted ignore_loglevel but this one no longer does
so.  Was that deliberate?

Below is the patch whcih I presently have queued.  Is it OK?

 init/main.c     |   14 +++++---------
 kernel/printk.c |    5 ++---
 2 files changed, 7 insertions(+), 12 deletions(-)

diff -puN 
init/main.c~convert-loglevel-related-kernel-boot-parameters-to-early_param 
init/main.c
--- a/init/main.c~convert-loglevel-related-kernel-boot-parameters-to-early_param
+++ a/init/main.c
@@ -232,22 +232,18 @@ EXPORT_SYMBOL(loops_per_jiffy);
 
 static int __init debug_kernel(char *str)
 {
-       if (*str)
-               return 0;
        console_loglevel = 10;
-       return 1;
+       return 0;
 }
 
 static int __init quiet_kernel(char *str)
 {
-       if (*str)
-               return 0;
        console_loglevel = 4;
-       return 1;
+       return 0;
 }
 
-__setup("debug", debug_kernel);
-__setup("quiet", quiet_kernel);
+early_param("debug", debug_kernel);
+early_param("quiet", quiet_kernel);
 
 static int __init loglevel(char *str)
 {
@@ -255,7 +251,7 @@ static int __init loglevel(char *str)
        return 1;
 }
 
-__setup("loglevel=", loglevel);
+early_param("loglevel", loglevel);
 
 /*
  * Unknown boot options get handed to init, unless they look like
diff -puN 
kernel/printk.c~convert-loglevel-related-kernel-boot-parameters-to-early_param 
kernel/printk.c
--- 
a/kernel/printk.c~convert-loglevel-related-kernel-boot-parameters-to-early_param
+++ a/kernel/printk.c
@@ -447,11 +447,10 @@ static int __init ignore_loglevel_setup(
 {
        ignore_loglevel = 1;
        printk(KERN_INFO "debug: ignoring loglevel setting.\n");
-
-       return 1;
+       return 0;
 }
 
-__setup("ignore_loglevel", ignore_loglevel_setup);
+early_param("ignore_loglevel", ignore_loglevel_setup);
 
 /*
  * Write out chars from start to end - 1 inclusive
_

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to