mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Guenter Roeck <linux@roeck-us.net>
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org,
	Matt Fleming <matt.fleming@intel.com>,
	Mark Salter <msalter@redhat.com>
Subject: Re: [PATCH 42/44] efi: Register poweroff handler with kernel poweroff handler
Date: Thu, 16 Oct 2014 15:59:27 +0100	[thread overview]
Message-ID: <20141016145927.GI14343@console-pimps.org> (raw)
In-Reply-To: <1412659726-29957-43-git-send-email-linux@roeck-us.net>

On Mon, 06 Oct, at 10:28:44PM, Guenter Roeck wrote:
> Register with kernel poweroff handler instead of setting pm_power_off
> directly. Register with low priority value of 64 since the efi code
> states that this is a poweroff handler of last resort.
> 
> Cc: Matt Fleming <matt.fleming@intel.com>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  drivers/firmware/efi/reboot.c | 23 +++++++++++++++++++----
>  1 file changed, 19 insertions(+), 4 deletions(-)
 
Looks OK to me. Mark?

> diff --git a/drivers/firmware/efi/reboot.c b/drivers/firmware/efi/reboot.c
> index 9c59d1c..c082439 100644
> --- a/drivers/firmware/efi/reboot.c
> +++ b/drivers/firmware/efi/reboot.c
> @@ -3,6 +3,8 @@
>   * Copyright (c) 2014 Red Hat, Inc., Mark Salter <msalter@redhat.com>
>   */
>  #include <linux/efi.h>
> +#include <linux/notifier.h>
> +#include <linux/pm.h>
>  #include <linux/reboot.h>
>  
>  int efi_reboot_quirk_mode = -1;
> @@ -38,19 +40,32 @@ bool __weak efi_poweroff_required(void)
>  	return false;
>  }
>  
> -static void efi_power_off(void)
> +static int efi_power_off(struct notifier_block *this,
> +			 unsigned long unused1, void *unused2)
>  {
>  	efi.reset_system(EFI_RESET_SHUTDOWN, EFI_SUCCESS, 0, NULL);
> +
> +	return NOTIFY_DONE;
>  }
>  
> +static struct notifier_block efi_poweroff_nb = {
> +	.notifier_call = efi_power_off,
> +	.priority = 64,
> +};
> +
>  static int __init efi_shutdown_init(void)
>  {
> +	int ret = 0;
> +
>  	if (!efi_enabled(EFI_RUNTIME_SERVICES))
>  		return -ENODEV;
>  
> -	if (efi_poweroff_required())
> -		pm_power_off = efi_power_off;
> +	if (efi_poweroff_required()) {
> +		ret = register_poweroff_handler(&efi_poweroff_nb);
> +		if (ret)
> +			pr_err("efi: Failed to register poweroff handler\n");
> +	}
>  
> -	return 0;
> +	return ret;
>  }
>  late_initcall(efi_shutdown_init);
> -- 
> 1.9.1


-- 
Matt Fleming, Intel Open Source Technology Center

  reply	other threads:[~2014-10-16 14:59 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1412659726-29957-1-git-send-email-linux@roeck-us.net>
2014-10-07  5:28 ` [PATCH 01/44] kernel: Add support for poweroff handler call chain Guenter Roeck
2014-10-07  7:46   ` Philippe Rétornaz
2014-10-07 10:39   ` One Thousand Gnomes
2014-10-07 15:51     ` Guenter Roeck
2014-10-09 10:31   ` Pavel Machek
2014-10-09 15:38     ` Guenter Roeck
2014-10-09 11:31   ` Geert Uytterhoeven
2015-06-18  1:04   ` Stephen Boyd
2015-06-18  6:53     ` Frans Klaver
2015-06-18 11:54       ` Guenter Roeck
2015-06-18 12:14         ` Frans Klaver
2015-06-18 15:30     ` Guenter Roeck
2015-06-18 21:40       ` Stephen Boyd
2014-10-07  5:28 ` [PATCH 02/44] memory: emif: Use API function to determine poweroff capability Guenter Roeck
2014-10-07  5:28 ` [PATCH 03/44] hibernate: Call have_kernel_poweroff instead of checking pm_power_off Guenter Roeck
2014-10-07 23:41   ` Rafael J. Wysocki
2014-10-09 10:32   ` Pavel Machek
2014-10-09 13:24     ` Guenter Roeck
2014-10-07  5:28 ` [PATCH 04/44] m68k: Replace mach_power_off with pm_power_off Guenter Roeck
2014-10-07  8:29   ` Geert Uytterhoeven
2014-10-07  5:28 ` [PATCH 05/44] mfd: as3722: Drop reference to pm_power_off from devicetree bindings Guenter Roeck
2014-10-07 10:59   ` Mark Rutland
2014-10-07 16:21   ` Rob Landley
2014-10-07 16:31     ` Guenter Roeck
2014-10-07 16:59       ` David Daney
2014-10-07 17:10         ` Rob Landley
2014-10-07 16:58     ` Mark Rutland
2014-10-07  5:28 ` [PATCH 06/44] gpio-poweroff: " Guenter Roeck
2014-10-07 11:03   ` Mark Rutland
2014-10-07 15:50   ` Andrew Lunn
2014-10-07  5:28 ` [PATCH 07/44] qnap-poweroff: " Guenter Roeck
2014-10-07 11:02   ` Mark Rutland
2014-10-07 15:57     ` Guenter Roeck
2014-10-07 15:51   ` Andrew Lunn
2014-10-07  5:28 ` [PATCH 09/44] mfd: palmas: Register with kernel poweroff handler Guenter Roeck
2014-10-07  5:28 ` [PATCH 10/44] mfd: axp20x: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 11/44] mfd: retu: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 12/44] mfd: ab8500-sysctrl: " Guenter Roeck
2014-10-07  8:00   ` Lee Jones
2014-10-09 10:36     ` Catalin Marinas
2014-10-09 10:49       ` Lee Jones
2014-10-09 13:26         ` Guenter Roeck
2014-10-09 13:33           ` Lee Jones
2014-10-09 15:45             ` Guenter Roeck
2014-10-09 15:54         ` Guenter Roeck
2014-10-07  5:28 ` [PATCH 13/44] mfd: max8907: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 14/44] mfd: tps80031: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 15/44] mfd: dm355evm_msp: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 16/44] mfd: tps6586x: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 17/44] mfd: tps65910: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 18/44] mfd: twl4030-power: " Guenter Roeck
2014-10-07  7:52   ` Lee Jones
2014-10-07  5:28 ` [PATCH 19/44] ipmi: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 20/44] power/reset: restart-poweroff: " Guenter Roeck
2014-10-07 16:06   ` Andrew Lunn
2014-10-07  5:28 ` [PATCH 21/44] power/reset: gpio-poweroff: " Guenter Roeck
2014-10-07 16:00   ` Andrew Lunn
2014-10-07  5:28 ` [PATCH 22/44] power/reset: as3722-poweroff: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 23/44] power/reset: qnap-poweroff: " Guenter Roeck
2014-10-07 16:02   ` Andrew Lunn
2014-10-07  5:28 ` [PATCH 24/44] power/reset: msm-powroff: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 25/44] power/reset: vexpress-poweroff: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 26/44] x86: iris: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 27/44] x86: apm: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 28/44] x86: olpc: Register xo1 poweroff handler " Guenter Roeck
2014-10-07  5:28 ` [PATCH 29/44] staging: nvec: Register " Guenter Roeck
2014-10-07 16:23   ` Greg Kroah-Hartman
2014-10-08 18:51   ` Marc Dietrich
2014-10-07  5:28 ` [PATCH 30/44] acpi: Register poweroff handler " Guenter Roeck
2014-10-07  5:28 ` [PATCH 31/44] arm: Register " Guenter Roeck
2014-10-07  8:04   ` Nicolas Ferre
2014-10-07  5:28 ` [PATCH 32/44] arm64: psci: " Guenter Roeck
2014-10-09 10:41   ` Catalin Marinas
2014-10-07  5:28 ` [PATCH 33/44] avr32: atngw100: " Guenter Roeck
2014-11-01 10:16   ` Hans-Christian Egtvedt
2014-11-01 17:02     ` Guenter Roeck
2014-10-07  5:28 ` [PATCH 34/44] ia64: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 35/44] m68k: " Guenter Roeck
2014-10-07  9:19   ` Geert Uytterhoeven
2014-10-07  5:28 ` [PATCH 36/44] mips: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 37/44] sh: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 38/44] x86: lguest: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 39/44] x86: ce4100: " Guenter Roeck
2014-10-07  5:28 ` [PATCH 40/44] x86: intel-mid: Drop registration of dummy poweroff handlers Guenter Roeck
2014-10-07  5:28 ` [PATCH 41/44] x86: pmc_atom: Register poweroff handler with kernel poweroff handler Guenter Roeck
2014-10-07  5:28 ` [PATCH 42/44] efi: " Guenter Roeck
2014-10-16 14:59   ` Matt Fleming [this message]
2014-10-16 15:24     ` Mark Salter
2014-10-16 17:27       ` Guenter Roeck
2014-10-16 17:46         ` Matt Fleming
2014-10-16 18:27           ` Guenter Roeck
2014-10-07  5:28 ` [PATCH 43/44] hwmon: (ab8500) Call kernel_power_off instead of pm_power_off Guenter Roeck
2014-10-07  5:28 ` [PATCH 44/44] kernel: Remove pm_power_off Guenter Roeck
2014-10-07 23:43   ` Rafael J. Wysocki
     [not found] ` <1412659726-29957-9-git-send-email-linux@roeck-us.net>
2014-10-07  9:23   ` [Xen-devel] [PATCH 08/44] kernel: Move pm_power_off to common code David Vrabel
2014-10-07 13:42     ` Guenter Roeck
2014-10-07 23:36   ` Max Filippov

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=20141016145927.GI14343@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=matt.fleming@intel.com \
    --cc=msalter@redhat.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

Powered by JetHome