From: Arnd Bergmann <arnd@arndb.de>
To: John Stultz <john.stultz@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>,
lkml <linux-kernel@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Vinay Simha BN <simhavcs@gmail.com>,
Haojian Zhuang <haojian.zhuang@linaro.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Android Kernel Team <kernel-team@android.com>,
agross@codeaurora.org,
"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>
Subject: Re: [RFC][PATCH] misc: Introduce reboot_reason driver
Date: Wed, 09 Dec 2015 11:07:25 +0100 [thread overview]
Message-ID: <10759786.VG6jMebqAj@wuerfel> (raw)
In-Reply-To: <CALAqxLXqoEb7VjDpGM8JgKtb=dKgWcpaKbgGzGTOCBu44w-Dfw@mail.gmail.com>
On Tuesday 08 December 2015 16:22:40 John Stultz wrote:
> >> diff --git a/arch/arm/boot/dts/qcom-apq8064-nexus7-flo.dts b/arch/arm/boot/dts/qcom-apq8064-nexus7-flo.dts
> >> index 5183d18..ee5dcb7 100644
> >> --- a/arch/arm/boot/dts/qcom-apq8064-nexus7-flo.dts
> >> +++ b/arch/arm/boot/dts/qcom-apq8064-nexus7-flo.dts
> >> @@ -282,6 +282,15 @@
> >> };
> >> };
> >>
> >> + reboot_reason: reboot_reason@2a03f65c {
> >> + compatible = "reboot_reason";
> >> + reg = <0x2A03F65C 0x4>;
> >> + reason,none = <0x77665501>;
> >> + reason,bootloader = <0x77665500>;
> >> + reason,recovery = <0x77665502>;
> >> + reason,oem = <0x6f656d00>;
> >> + };
> >> +
> >
> > This address refers to IMEM, which is shared with a number of other
> > uses. So I think we should have a simple-mfd (and syscon) with this
> > within.
>
> Errr.. I'm going to have to read up there. I'm not super familiar with
> any of those drivers, so I'll try to see how exactly they would map in
> here.
Is this an SRAM? We already have a generic SRAM binding, and I think this
would fit in there.
> > I like the fact that you don't hard code the magics in the
> > implementation, as I've seen additions from multiple places - so perhaps
> > it should be made even more flexible.
> >
> > OMAP seems to use strings here instead of magics, but the delivery
> > mechanism looks to be the same. But I think of this as Qualcomm
> > specific.
>
> Yea. This is good feedback. EFI bootloaders have their own
> implementations as well. I suspect we'll need a few different driver
> "types" to handle these differences, ie: value vs string.
>
> I'll maybe extend the compatible string to make it clear that this is
> a "value" style, and we can extend it with a string type later if
> folks care?
If the two known implementations are already fundamentally different,
there is a good chance that other vendors have found some more ways
to do the same thing, so we might need to do this as a framework,
or merge it into an existing framework.
Maybe it can be done in the same driver that also handles rebooting
the machine? Those are typically in drivers/power/reset or
in drivers/watchdog/ for machines that use the watchdog as the only
way to reboot the machine. We can have additional device specific
properties along with the reboot method (e.g. a reference to the
SRAM or some syscon node) and add common code in another file if
we need it.
> >> + /* initialize specified reasons from DT */
> >> + if (!of_property_read_u32(pdev->dev.of_node, "reason,none", &val))
> >> + reasons[NONE] = val;
> >> + if (!of_property_read_u32(pdev->dev.of_node, "reason,bootloader", &val))
> >> + reasons[BOOTLOADER] = val;
> >> + if (!of_property_read_u32(pdev->dev.of_node, "reason,recovery", &val))
> >> + reasons[RECOVERY] = val;
> >> + if (!of_property_read_u32(pdev->dev.of_node, "reason,oem", &val))
> >> + reasons[OEM] = val;
> >
> > I would like for this to be less hard coded.
>
> Any tips here on how to do so?
If we move this logic into the qcom reset driver in
drivers/power/reset/msm-poweroff.c, we should be good.
Arnd
next prev parent reply other threads:[~2015-12-09 10:07 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-08 21:29 [RFC][PATCH] misc: Introduce reboot_reason driver John Stultz
2015-12-08 21:52 ` Arnd Bergmann
2015-12-08 22:15 ` Bjorn Andersson
2015-12-08 22:15 ` Bjorn Andersson
2015-12-08 22:43 ` Rob Herring
2015-12-09 0:13 ` John Stultz
2015-12-09 0:13 ` John Stultz
[not found] ` <CALAqxLU4y6+AsKcZSPUaJQ2BgcAWoT8OPcYO6EYfOz+-7r8FTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-09 8:50 ` Sascha Hauer
2015-12-09 8:50 ` Sascha Hauer
2015-12-09 21:42 ` John Stultz
[not found] ` <1449610162-30543-1-git-send-email-john.stultz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-12-08 22:07 ` Bjorn Andersson
2015-12-08 22:07 ` Bjorn Andersson
[not found] ` <20151208220722.GG4000-P9SbAA3LsXe39TS3lRcy0mP6iJigPa5YXqFh9Ls21Oc@public.gmane.org>
2015-12-09 0:22 ` John Stultz
2015-12-09 0:22 ` John Stultz
2015-12-09 10:07 ` Arnd Bergmann [this message]
2015-12-10 1:19 ` John Stultz
2015-12-10 1:19 ` John Stultz
2015-12-10 14:52 ` Arnd Bergmann
2015-12-10 18:56 ` John Stultz
2015-12-10 20:24 ` Rob Herring
2015-12-10 21:43 ` John Stultz
2015-12-10 22:11 ` Arnd Bergmann
2015-12-14 15:22 ` Rob Herring
2015-12-14 15:22 ` Rob Herring
2015-12-10 1:32 ` John Stultz
2015-12-10 9:05 ` Arnd Bergmann
2015-12-10 9:20 ` Tomas Winkler
2015-12-10 19:04 ` John Stultz
2015-12-10 19:57 ` One Thousand Gnomes
2015-12-10 20:03 ` John Stultz
2015-12-14 19:54 ` Bjorn Andersson
2015-12-08 22:26 ` Rob Herring
[not found] ` <CAL_JsqKMsG79TiB7nAOd8rB5m3VqwJYdQU0xiwvzvaqMyCk1BQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-09 0:34 ` John Stultz
2015-12-09 0:34 ` John Stultz
2015-12-09 8:53 ` Sascha Hauer
2015-12-09 8:59 ` Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10759786.VG6jMebqAj@wuerfel \
--to=arnd@arndb.de \
--cc=agross@codeaurora.org \
--cc=bjorn.andersson@sonymobile.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=haojian.zhuang@linaro.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=john.stultz@linaro.org \
--cc=kernel-team@android.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=simhavcs@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.