Chrome platform driver development
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
	Fabio Estevam <festevam@denx.de>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Zhang Rui <rui.zhang@intel.com>,
	Lukasz Luba <lukasz.luba@arm.com>,
	Jonathan Corbet <corbet@lwn.net>, Serge Hallyn <serge@hallyn.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Matti Vaittinen <mazziesaccount@gmail.com>,
	Benson Leung <bleung@chromium.org>,
	Tzung-Bi Shih <tzungbi@kernel.org>,
	Guenter Roeck <groeck@chromium.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-security-module@vger.kernel.org,
	chrome-platform@lists.linux.dev, devicetree@vger.kernel.org,
	kernel@pengutronix.de, Matteo Croce <mcroce@microsoft.com>
Subject: Re: [PATCH v2 00/12] reboot: support runtime configuration of emergency hw_protection action
Date: Mon, 13 Jan 2025 16:33:00 -0800	[thread overview]
Message-ID: <20250113163300.4dce8816af9d448b6e263140@linux-foundation.org> (raw)
In-Reply-To: <20250113-hw_protection-reboot-v2-0-161d3fc734f0@pengutronix.de>

On Mon, 13 Jan 2025 17:25:25 +0100 Ahmad Fatoum <a.fatoum@pengutronix.de> wrote:

> We currently leave the decision of whether to shutdown or reboot to
> protect hardware in an emergency situation to the individual drivers.
> 
> This works out in some cases, where the driver detecting the critical
> failure has inside knowledge: It binds to the system management controller
> for example or is guided by hardware description that defines what to do.
> 
> This is inadequate in the general case though as a driver reporting e.g.
> an imminent power failure can't know whether a shutdown or a reboot would
> be more appropriate for a given hardware platform.
> 
> To address this, this series adds a hw_protection kernel parameter and
> sysfs toggle that can be used to change the action from the shutdown
> default to reboot. A new hw_protection_trigger API then makes use of
> this default action.
> 
> My particular use case is unattended embedded systems that don't
> have support for shutdown and that power on automatically when power is
> supplied:
> 
>   - A brief power cycle gets detected by the driver
>   - The kernel powers down the system and SoC goes into shutdown mode
>   - Power is restored
>   - The system remains oblivious to the restored power
>   - System needs to be manually power cycled for a duration long enough
>     to drain the capacitors
> 
> With this series, such systems can configure the kernel with
> hw_protection=reboot to have the boot firmware worry about critical
> conditions.

This seems useful.

>  Documentation/ABI/testing/sysfs-kernel-reboot      |   8 ++
>  Documentation/admin-guide/kernel-parameters.txt    |   6 +
>  .../devicetree/bindings/thermal/thermal-zones.yaml |   5 +-
>  Documentation/driver-api/thermal/sysfs-api.rst     |  25 ++--
>  drivers/platform/chrome/cros_ec_lpc.c              |   2 +-
>  drivers/regulator/core.c                           |   4 +-
>  drivers/regulator/irq_helpers.c                    |  16 +--
>  drivers/thermal/thermal_core.c                     |  17 +--
>  drivers/thermal/thermal_core.h                     |   1 +
>  drivers/thermal/thermal_of.c                       |   7 +-
>  include/linux/reboot.h                             |  36 ++++--
>  include/uapi/linux/capability.h                    |   1 +
>  kernel/reboot.c                                    | 140 ++++++++++++++++-----
>  13 files changed, 195 insertions(+), 73 deletions(-)

I'm not sure what the merge path is.  Maybe the drivers tree, maybe
mm.git's mm-nonmm branches.

We're at -rc7 so I'll save this away and shall revisit after -rc1 with
a view to gathering acks (please) and adding the series to mm-nonmm, thanks.

      parent reply	other threads:[~2025-01-14  0:33 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-13 16:25 [PATCH v2 00/12] reboot: support runtime configuration of emergency hw_protection action Ahmad Fatoum
2025-01-13 16:25 ` [PATCH v2 01/12] reboot: replace __hw_protection_shutdown bool action parameter with an enum Ahmad Fatoum
2025-01-20  7:10   ` Tzung-Bi Shih
2025-01-21  9:27     ` Ahmad Fatoum
2025-01-13 16:25 ` [PATCH v2 02/12] reboot: reboot, not shutdown, on hw_protection_reboot timeout Ahmad Fatoum
2025-01-20  7:10   ` Tzung-Bi Shih
2025-01-22 11:28   ` Matti Vaittinen
2025-02-17 20:22     ` Ahmad Fatoum
2025-02-18  6:45       ` Matti Vaittinen
2025-01-13 16:25 ` [PATCH v2 03/12] docs: thermal: sync hardware protection doc with code Ahmad Fatoum
2025-01-20  7:11   ` Tzung-Bi Shih
2025-01-21  9:29     ` Ahmad Fatoum
2025-01-22 11:01   ` Matti Vaittinen
2025-01-13 16:25 ` [PATCH v2 04/12] reboot: describe do_kernel_restart's cmd argument in kernel-doc Ahmad Fatoum
2025-01-20  7:11   ` Tzung-Bi Shih
2025-01-13 16:25 ` [PATCH v2 05/12] reboot: rename now misleading __hw_protection_shutdown symbols Ahmad Fatoum
2025-01-20  7:11   ` Tzung-Bi Shih
2025-01-13 16:25 ` [PATCH v2 06/12] reboot: indicate whether it is a HARDWARE PROTECTION reboot or shutdown Ahmad Fatoum
2025-01-20  7:11   ` Tzung-Bi Shih
2025-01-13 16:25 ` [PATCH v2 07/12] reboot: add support for configuring emergency hardware protection action Ahmad Fatoum
2025-01-20  7:12   ` Tzung-Bi Shih
2025-01-21  9:35     ` Ahmad Fatoum
2025-01-13 16:25 ` [PATCH v2 08/12] regulator: allow user configuration of " Ahmad Fatoum
2025-01-20  7:12   ` Tzung-Bi Shih
2025-01-22 11:18   ` Matti Vaittinen
2025-01-13 16:25 ` [PATCH v2 09/12] platform/chrome: cros_ec_lpc: prepare for hw_protection_shutdown removal Ahmad Fatoum
2025-01-20  7:12   ` Tzung-Bi Shih
2025-01-13 16:25 ` [PATCH v2 10/12] dt-bindings: thermal: give OS some leeway in absence of critical-action Ahmad Fatoum
2025-01-13 16:25 ` [PATCH v2 11/12] thermal: core: allow user configuration of hardware protection action Ahmad Fatoum
2025-01-20  7:12   ` Tzung-Bi Shih
2025-01-13 16:25 ` [PATCH v2 12/12] reboot: retire hw_protection_reboot and hw_protection_shutdown helpers Ahmad Fatoum
2025-01-20  7:13   ` Tzung-Bi Shih
2025-01-14  0:33 ` Andrew Morton [this message]

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=20250113163300.4dce8816af9d448b6e263140@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=a.fatoum@pengutronix.de \
    --cc=bleung@chromium.org \
    --cc=broonie@kernel.org \
    --cc=chrome-platform@lists.linux.dev \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@denx.de \
    --cc=groeck@chromium.org \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mcroce@microsoft.com \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=serge@hallyn.com \
    --cc=tzungbi@kernel.org \
    /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