From: Johan Hovold <johan@kernel.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: "Johan Hovold" <johan@kernel.org>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Felipe Balbi" <balbi@ti.com>,
"Alessandro Zummo" <a.zummo@towertech.it>,
"Tony Lindgren" <tony@atomide.com>,
"Benoît Cousson" <bcousson@baylibre.com>,
"Lokesh Vutla" <lokeshvutla@ti.com>,
"Guenter Roeck" <linux@roeck-us.net>,
nsekhar@ti.com, t-kristo@ti.com, j-keerthy@ti.com,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, rtc-linux@googlegroups.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 00/20] rtc: omap: fixes and power-off feature
Date: Wed, 29 Oct 2014 13:34:18 +0100 [thread overview]
Message-ID: <20141029123418.GB2265@localhost> (raw)
In-Reply-To: <20141028151610.GA12379@n2100.arm.linux.org.uk>
On Tue, Oct 28, 2014 at 03:16:10PM +0000, Russell King - ARM Linux wrote:
> On Tue, Oct 28, 2014 at 02:12:57PM +0100, Johan Hovold wrote:
> > That's not what I was trying to refer to. But the patch set explicitly
> > allows for multiple, prioritised power-off handlers, which can power
> > off a board in different ways and with various degrees of success.
> > Specifically, it allows for fallback handlers in case one or more
> > power-off handlers fail.
> >
> > So if we allow for that, what is to prevent the final power-off handler
> > from failing? And should this not be logged by arch code in the same way
> > as failure to restart is?
>
> And how is that different from having a set of power-off handlers, and
> reporting when each individual one fails? Don't you want to know if
> your primary high priority reboot handler fails, just as much as you
> want to know if your final last-resort power-off handler fails?
Good point. Failed power-off should probably be logged by the power-off
call chain implementation (which seems to makes notifier chains a bad
fit).
And what about any power-off latencies? Should this always be dealt with
in the power-off handler?
Again, if it's predictable and high, as in the OMAP RTC case, it should
go in the handler. But what if it's just normal bus latencies
(peripheral busses, i2c, or whatever people may come up with)?
Should there always be a short delay before calling the next handler?
> Or different from having no power-off handlers.
That is actually quite different, as in that case we call machine_halt
instead (via kernel_halt).
> Here's the x86 code:
>
> void machine_power_off(void)
> {
> machine_ops.power_off();
> }
>
> struct machine_ops machine_ops = {
> .power_off = native_machine_power_off,
> ...
>
> static void native_machine_power_off(void)
> {
> if (pm_power_off) {
> if (!reboot_force)
> machine_shutdown();
> pm_power_off();
> }
> /* A fallback in case there is no PM info available */
> tboot_shutdown(TB_SHUTDOWN_HALT);
> }
>
> void tboot_shutdown(u32 shutdown_type)
> {
> void (*shutdown)(void);
>
> if (!tboot_enabled())
> return;
>
> See - x86 can very well just fall straight back out of machine_power_off()
> if there's no pm_power_off() hook and tboot is not enabled.
I never doubted that, but is the right thing to do? Not all arches do it
that way.
And what about the killing of init? Shall we simply consider that a
systemd bug?
case LINUX_REBOOT_CMD_POWER_OFF:
kernel_power_off();
do_exit(0);
break;
If power-off fails (for whatever reason), do_exit(0) will trigger a
panic when called from PID 1.
Johan
next prev parent reply other threads:[~2014-10-29 12:34 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-09 19:06 [PATCH 00/12] rtc: omap: fixes and power-off feature Johan Hovold
2014-10-09 19:06 ` [PATCH 01/12] rtc: omap: fix clock-source configuration Johan Hovold
2014-10-10 17:55 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 02/12] rtc: omap: fix missing wakealarm attribute Johan Hovold
2014-10-10 17:55 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 03/12] rtc: omap: fix class-device registration Johan Hovold
2014-10-10 17:59 ` Felipe Balbi
2014-10-11 9:59 ` Johan Hovold
2014-10-13 15:57 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 04/12] rtc: omap: remove unused register-base define Johan Hovold
2014-10-10 17:59 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 05/12] rtc: omap: remove redundant debug message Johan Hovold
2014-10-10 17:59 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 06/12] rtc: omap: use dev_info and dev_dbg Johan Hovold
2014-10-10 18:00 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 07/12] rtc: omap: silence bogus power-up reset message at probe Johan Hovold
2014-10-10 18:00 ` Felipe Balbi
2014-10-10 18:02 ` Felipe Balbi
2014-10-11 10:20 ` Johan Hovold
2014-10-12 0:50 ` Felipe Balbi
2014-10-12 18:42 ` Johan Hovold
2014-10-13 15:56 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 08/12] rtc: omap: restore irq state after reading TC registers Johan Hovold
2014-10-10 18:02 ` Felipe Balbi
2014-10-11 10:12 ` Johan Hovold
2014-10-12 0:47 ` Felipe Balbi
2014-10-22 10:50 ` Johan Hovold
2014-10-23 18:52 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 09/12] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-10 18:07 ` Felipe Balbi
2014-10-11 10:31 ` Johan Hovold
2014-10-22 10:18 ` Johan Hovold
2014-10-23 18:52 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 10/12] rtc: omap: enable wake-up from power off Johan Hovold
2014-10-10 18:08 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 11/12] ARM: dts: am33xx: update rtc node compatible property Johan Hovold
2014-10-10 18:08 ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 12/12] ARM: dts: am335x-bone-common: enable power off and rtc wake up Johan Hovold
2014-10-10 18:09 ` Felipe Balbi
2014-10-11 10:34 ` Johan Hovold
2014-10-10 17:54 ` [PATCH 00/12] rtc: omap: fixes and power-off feature Felipe Balbi
2014-10-11 9:38 ` Johan Hovold
2014-10-11 19:08 ` Tony Lindgren
2014-10-22 11:07 ` Johan Hovold
2014-10-22 15:29 ` Tony Lindgren
2014-10-22 16:21 ` Johan Hovold
2014-10-22 16:43 ` Tony Lindgren
2014-10-15 16:55 ` Felipe Balbi
2014-10-15 17:06 ` Johan Hovold
2014-10-15 17:08 ` Felipe Balbi
2014-10-22 10:23 ` Johan Hovold
2014-10-23 18:55 ` Felipe Balbi
2014-10-24 7:58 ` Johan Hovold
2014-10-21 17:37 ` [PATCH v2 00/20] " Johan Hovold
[not found] ` <1413913086-12730-1-git-send-email-johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-10-21 17:37 ` [PATCH v2 01/20] rtc: omap: fix clock-source configuration Johan Hovold
2014-10-21 17:37 ` [PATCH v2 02/20] rtc: omap: fix missing wakealarm attribute Johan Hovold
2014-10-21 17:37 ` [PATCH v2 03/20] rtc: omap: fix interrupt disable at probe Johan Hovold
2014-10-21 17:37 ` [PATCH v2 04/20] rtc: omap: clean up probe error handling Johan Hovold
2014-10-21 17:37 ` [PATCH v2 05/20] rtc: omap: fix class-device registration Johan Hovold
2014-10-21 17:37 ` [PATCH v2 06/20] rtc: omap: remove unused register-base define Johan Hovold
2014-10-21 17:37 ` [PATCH v2 07/20] rtc: omap: use dev_info Johan Hovold
2014-10-21 17:37 ` [PATCH v2 08/20] rtc: omap: make platform-device id table const Johan Hovold
2014-10-21 17:37 ` [PATCH v2 09/20] rtc: omap: add device abstraction Johan Hovold
2014-10-21 17:37 ` [PATCH v2 10/20] rtc: omap: remove DRIVER_NAME macro Johan Hovold
2014-10-21 17:37 ` [PATCH v2 11/20] rtc: omap: add structured device-type info Johan Hovold
2014-10-21 17:37 ` [PATCH v2 12/20] rtc: omap: silence bogus power-up reset message at probe Johan Hovold
2014-10-21 17:37 ` [PATCH v2 13/20] rtc: omap: add helper to read raw bcd time Johan Hovold
2014-10-21 17:38 ` [PATCH v2 14/20] rtc: omap: add helper to read 32-bit registers Johan Hovold
2014-10-21 17:38 ` [PATCH v2 15/20] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-21 17:38 ` [PATCH v2 16/20] rtc: omap: enable wake-up from power off Johan Hovold
2014-10-21 17:38 ` [PATCH v2 17/20] rtc: omap: fix minor coding style issues Johan Hovold
2014-10-21 17:38 ` [PATCH v2 18/20] rtc: omap: add copyright entry Johan Hovold
2014-10-21 17:38 ` [PATCH v2 19/20] ARM: dts: am33xx: update rtc-node compatible property Johan Hovold
2014-10-21 17:38 ` [PATCH v2 20/20] ARM: dts: am335x-boneblack: enable power off and rtc wake up Johan Hovold
2014-10-24 16:08 ` [PATCH v2 00/20] rtc: omap: fixes and power-off feature Felipe Balbi
2014-10-24 19:02 ` Johan Hovold
2014-10-24 19:25 ` Felipe Balbi
2014-10-24 19:29 ` Felipe Balbi
2014-10-24 19:36 ` Johan Hovold
2014-10-24 19:44 ` Felipe Balbi
2014-10-24 19:55 ` Johan Hovold
2014-10-24 20:08 ` Felipe Balbi
2014-10-27 23:22 ` Andrew Morton
2014-10-28 0:25 ` Russell King - ARM Linux
[not found] ` <20141028002552.GX12379-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-10-28 8:16 ` Johan Hovold
2014-10-28 8:47 ` Russell King - ARM Linux
2014-10-28 13:12 ` Johan Hovold
2014-10-28 15:16 ` Russell King - ARM Linux
2014-10-29 12:34 ` Johan Hovold [this message]
2014-10-29 12:55 ` Romain Perier
[not found] ` <CABgxDo+ewxNwb3RrBVZA7kqYMvSujLb9U6A6FCvnHQH1W8V0kg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-29 13:00 ` Johan Hovold
2014-10-29 13:11 ` Romain Perier
2014-10-29 13:44 ` Johan Hovold
2014-10-29 13:10 ` Russell King - ARM Linux
2014-10-29 13:22 ` Johan Hovold
2014-10-29 15:25 ` Guenter Roeck
2014-10-29 15:51 ` Johan Hovold
2014-10-30 10:01 ` Johan Hovold
2014-10-29 13:20 ` Guenter Roeck
2014-10-29 13:35 ` Johan Hovold
2014-10-29 15:36 ` Guenter Roeck
2014-10-29 15:54 ` Johan Hovold
2014-10-27 8:09 ` [PATCH v3] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-27 16:45 ` Felipe Balbi
2014-10-27 16:56 ` Johan Hovold
2014-10-27 17:09 ` Felipe Balbi
2014-10-27 22:40 ` Andrew Morton
[not found] ` <20141027154031.4492ea11d401045ca04a3ff8-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2014-10-28 8:36 ` Johan Hovold
2014-10-28 21:18 ` Andrew Morton
2014-10-29 12:46 ` Johan Hovold
2014-10-29 12:50 ` Johan Hovold
2014-10-29 19:14 ` Andrew Morton
2014-10-30 9:55 ` [PATCH v4] " Johan Hovold
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=20141029123418.GB2265@localhost \
--to=johan@kernel.org \
--cc=a.zummo@towertech.it \
--cc=akpm@linux-foundation.org \
--cc=balbi@ti.com \
--cc=bcousson@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=j-keerthy@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linux@roeck-us.net \
--cc=lokeshvutla@ti.com \
--cc=nsekhar@ti.com \
--cc=rtc-linux@googlegroups.com \
--cc=t-kristo@ti.com \
--cc=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).