Re: [PATCH V2] panic: add support to update panic_timeout via DT

From: Lorenzo Pieralisi
Date: Fri Oct 27 2017 - 08:00:17 EST


[+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@xxxxxxxxxx
> lkml.kernel.org/r/20171027080006.GA609@xxxxxxxxxxxxxxxxxxx
>
> v2: lkml.kernel.org/r/1509097165-15695-1-git-send-email-jburman@xxxxxxxxxx
>
> -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@xxxxxxxxxx>
> > ---
> > 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
> >