mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH V2] panic: add support to update panic_timeout via DT
@ 2017-10-27  9:39 Jeetesh Burman
  2017-10-27  9:53 ` Sergey Senozhatsky
  0 siblings, 1 reply; 4+ messages in thread
From: Jeetesh Burman @ 2017-10-27  9:39 UTC (permalink / raw)
  To: sergey.senozhatsky, keescook; +Cc: linux-kernel, bbasu, Jeetesh Burman

Add support to set 'panic_timeout' value via dtb to have
control from device tree. This makes sense when you have
multiple platforms support from same defconfig and
differentiated only through device tree blob.
The patch will check for panic time out value coming
from dtb if it exists, otherwise continues with
defconfig provided option.

Signed-off-by: Jeetesh Burman <jburman@nvidia.com>
---
 kernel/panic.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/kernel/panic.c b/kernel/panic.c
index bdd18af..b487331 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -27,6 +27,7 @@
 #include <linux/console.h>
 #include <linux/bug.h>
 #include <linux/ratelimit.h>
+#include <linux/of.h>
 
 #define PANIC_TIMER_STEP 100
 #define PANIC_BLINK_SPD 18
@@ -482,9 +483,15 @@ static u64 oops_id;
 
 static int init_oops_id(void)
 {
-	if (!oops_id)
+	struct device_node *np;
+
+	if (!oops_id) {
+		np = of_find_node_by_name(NULL, "panic_timeout");
+		if (np)
+			of_property_read_u32(np, "panic-timeout-value",
+							&panic_timeout);
 		get_random_bytes(&oops_id, sizeof(oops_id));
-	else
+	} else
 		oops_id++;
 
 	return 0;
-- 
2.1.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V2] panic: add support to update panic_timeout via DT
  2017-10-27  9:39 [PATCH V2] panic: add support to update panic_timeout via DT Jeetesh Burman
@ 2017-10-27  9:53 ` Sergey Senozhatsky
  2017-10-27 12:00   ` Lorenzo Pieralisi
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Senozhatsky @ 2017-10-27  9:53 UTC (permalink / raw)
  To: Jeetesh Burman
  Cc: sergey.senozhatsky, keescook, linux-kernel, bbasu, Andrew Morton

Cc-ing Andrew on this


v1: lkml.kernel.org/r/1509076662-22253-1-git-send-email-jburman@nvidia.com
    lkml.kernel.org/r/20171027080006.GA609@tigerII.localdomain

v2: lkml.kernel.org/r/1509097165-15695-1-git-send-email-jburman@nvidia.com

	-ss

On (10/27/17 15:09), Jeetesh Burman wrote:
> Add support to set 'panic_timeout' value via dtb to have
> control from device tree. This makes sense when you have
> multiple platforms support from same defconfig and
> differentiated only through device tree blob.
> The patch will check for panic time out value coming
> from dtb if it exists, otherwise continues with
> defconfig provided option.
> 
> Signed-off-by: Jeetesh Burman <jburman@nvidia.com>
> ---
>  kernel/panic.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/panic.c b/kernel/panic.c
> index bdd18af..b487331 100644
> --- a/kernel/panic.c
> +++ b/kernel/panic.c
> @@ -27,6 +27,7 @@
>  #include <linux/console.h>
>  #include <linux/bug.h>
>  #include <linux/ratelimit.h>
> +#include <linux/of.h>
>  
>  #define PANIC_TIMER_STEP 100
>  #define PANIC_BLINK_SPD 18
> @@ -482,9 +483,15 @@ static u64 oops_id;
>  
>  static int init_oops_id(void)
>  {
> -	if (!oops_id)
> +	struct device_node *np;
> +
> +	if (!oops_id) {
> +		np = of_find_node_by_name(NULL, "panic_timeout");
> +		if (np)
> +			of_property_read_u32(np, "panic-timeout-value",
> +							&panic_timeout);
>  		get_random_bytes(&oops_id, sizeof(oops_id));
> -	else
> +	} else
>  		oops_id++;
>  
>  	return 0;
> -- 
> 2.1.4
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V2] panic: add support to update panic_timeout via DT
  2017-10-27 12:00   ` Lorenzo Pieralisi
@ 2017-10-27 10:37     ` Mark Rutland
  0 siblings, 0 replies; 4+ messages in thread
From: Mark Rutland @ 2017-10-27 10:37 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: Sergey Senozhatsky, Jeetesh Burman, keescook, linux-kernel,
	bbasu, Andrew Morton, robh+dt, frowand.list, devicetree

On Fri, Oct 27, 2017 at 01:00:06PM +0100, Lorenzo Pieralisi wrote:
> [+devicetree, Rob, Frank]
> 
> On Fri, Oct 27, 2017 at 06:53:14PM +0900, Sergey Senozhatsky wrote:
> > Cc-ing Andrew on this
> > 
> > 
> > v1: lkml.kernel.org/r/1509076662-22253-1-git-send-email-jburman@nvidia.com
> >     lkml.kernel.org/r/20171027080006.GA609@tigerII.localdomain
> > 
> > v2: lkml.kernel.org/r/1509097165-15695-1-git-send-email-jburman@nvidia.com
> > 
> > 	-ss
> > 
> > On (10/27/17 15:09), Jeetesh Burman wrote:
> > > Add support to set 'panic_timeout' value via dtb to have
> > > control from device tree. This makes sense when you have
> > > multiple platforms support from same defconfig and
> > > differentiated only through device tree blob.
> > > The patch will check for panic time out value coming
> > > from dtb if it exists, otherwise continues with
> > > defconfig provided option.
> 
> I will let Rob and Frank chime in - as far as I am concerned
> you are (ab)using DT to configure a Linux kernel specific internal
> variable and that's certainly not what DT is there for.

Indeed. NAK to this patch.

Regardless, this can easily be configured in /chosen/bootargs (i.e. the kernel
command line) today.

Thanks,
Mark.

> 
> Lorenzo
>  
> > > Signed-off-by: Jeetesh Burman <jburman@nvidia.com>
> > > ---
> > >  kernel/panic.c | 11 +++++++++--
> > >  1 file changed, 9 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/kernel/panic.c b/kernel/panic.c
> > > index bdd18af..b487331 100644
> > > --- a/kernel/panic.c
> > > +++ b/kernel/panic.c
> > > @@ -27,6 +27,7 @@
> > >  #include <linux/console.h>
> > >  #include <linux/bug.h>
> > >  #include <linux/ratelimit.h>
> > > +#include <linux/of.h>
> > >  
> > >  #define PANIC_TIMER_STEP 100
> > >  #define PANIC_BLINK_SPD 18
> > > @@ -482,9 +483,15 @@ static u64 oops_id;
> > >  
> > >  static int init_oops_id(void)
> > >  {
> > > -	if (!oops_id)
> > > +	struct device_node *np;
> > > +
> > > +	if (!oops_id) {
> > > +		np = of_find_node_by_name(NULL, "panic_timeout");
> > > +		if (np)
> > > +			of_property_read_u32(np, "panic-timeout-value",
> > > +							&panic_timeout);
> > >  		get_random_bytes(&oops_id, sizeof(oops_id));
> > > -	else
> > > +	} else
> > >  		oops_id++;
> > >  
> > >  	return 0;
> > > -- 
> > > 2.1.4
> > > 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V2] panic: add support to update panic_timeout via DT
  2017-10-27  9:53 ` Sergey Senozhatsky
@ 2017-10-27 12:00   ` Lorenzo Pieralisi
  2017-10-27 10:37     ` Mark Rutland
  0 siblings, 1 reply; 4+ messages in thread
From: Lorenzo Pieralisi @ 2017-10-27 12:00 UTC (permalink / raw)
  To: Sergey Senozhatsky
  Cc: Jeetesh Burman, keescook, linux-kernel, bbasu, Andrew Morton,
	robh+dt, frowand.list, devicetree

[+devicetree, Rob, Frank]

On Fri, Oct 27, 2017 at 06:53:14PM +0900, Sergey Senozhatsky wrote:
> Cc-ing Andrew on this
> 
> 
> v1: lkml.kernel.org/r/1509076662-22253-1-git-send-email-jburman@nvidia.com
>     lkml.kernel.org/r/20171027080006.GA609@tigerII.localdomain
> 
> v2: lkml.kernel.org/r/1509097165-15695-1-git-send-email-jburman@nvidia.com
> 
> 	-ss
> 
> On (10/27/17 15:09), Jeetesh Burman wrote:
> > Add support to set 'panic_timeout' value via dtb to have
> > control from device tree. This makes sense when you have
> > multiple platforms support from same defconfig and
> > differentiated only through device tree blob.
> > The patch will check for panic time out value coming
> > from dtb if it exists, otherwise continues with
> > defconfig provided option.

I will let Rob and Frank chime in - as far as I am concerned
you are (ab)using DT to configure a Linux kernel specific internal
variable and that's certainly not what DT is there for.

Lorenzo
 
> > Signed-off-by: Jeetesh Burman <jburman@nvidia.com>
> > ---
> >  kernel/panic.c | 11 +++++++++--
> >  1 file changed, 9 insertions(+), 2 deletions(-)
> > 
> > diff --git a/kernel/panic.c b/kernel/panic.c
> > index bdd18af..b487331 100644
> > --- a/kernel/panic.c
> > +++ b/kernel/panic.c
> > @@ -27,6 +27,7 @@
> >  #include <linux/console.h>
> >  #include <linux/bug.h>
> >  #include <linux/ratelimit.h>
> > +#include <linux/of.h>
> >  
> >  #define PANIC_TIMER_STEP 100
> >  #define PANIC_BLINK_SPD 18
> > @@ -482,9 +483,15 @@ static u64 oops_id;
> >  
> >  static int init_oops_id(void)
> >  {
> > -	if (!oops_id)
> > +	struct device_node *np;
> > +
> > +	if (!oops_id) {
> > +		np = of_find_node_by_name(NULL, "panic_timeout");
> > +		if (np)
> > +			of_property_read_u32(np, "panic-timeout-value",
> > +							&panic_timeout);
> >  		get_random_bytes(&oops_id, sizeof(oops_id));
> > -	else
> > +	} else
> >  		oops_id++;
> >  
> >  	return 0;
> > -- 
> > 2.1.4
> > 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-10-27 12:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-27  9:39 [PATCH V2] panic: add support to update panic_timeout via DT Jeetesh Burman
2017-10-27  9:53 ` Sergey Senozhatsky
2017-10-27 12:00   ` Lorenzo Pieralisi
2017-10-27 10:37     ` Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®