From: Alexander Graf <agraf@suse.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Arnd Bergmann <arnd@arndb.de>, Geoff Levand <geoff@infradead.org>,
Alistair Popple <alistair@popple.id.au>,
Scott Wood <scottwood@freescale.com>,
Anatolij Gustschin <agust@denx.de>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
Guenter Roeck <linux@roeck-us.net>
Subject: Re: [PATCH 00/20] powerpc: Convert power off logic to pm_power_off
Date: Wed, 01 Oct 2014 16:47:23 +0200 [thread overview]
Message-ID: <542C13FB.80608@suse.de> (raw)
In-Reply-To: <CAMuHMdWEN+q+s6ENoqqD8d0hy=hcZSiWzW3poJFBs8uEBGVuGg@mail.gmail.com>
On 01.10.14 16:33, Geert Uytterhoeven wrote:
> Hi Alex,
>
> On Wed, Oct 1, 2014 at 3:27 PM, Alexander Graf <agraf@suse.de> wrote:
>> The generic Linux framework to power off the machine is a function pointer
>> called pm_power_off. The trick about this pointer is that device drivers can
>> potentially implement it rather than board files.
>>
>> Today on PowerPC we set pm_power_off to invoke our generic full machine power
>> off logic which then calls ppc_md.power_off to invoke machine specific power
>> off.
>>
>> However, when we want to add a power off GPIO via the "gpio-poweroff" driver,
>> this card house falls apart. That driver only registers itself if pm_power_off
>> is NULL to ensure it doesn't override board specific logic. However, since we
>> always set pm_power_off to the generic power off logic (which will just not
>> power off the machine if no ppc_md.power_off call is implemented), we can't
>> implement power off via the generic GPIO power off driver.
>>
>> To fix this up, let's get rid of the ppc_md.power_off logic and just always use
>> pm_power_off as was intended. Then individual drivers such as the GPIO power off
>> driver can implement power off logic via that function pointer.
>>
>> With this patch set applied and a few patches on top of QEMU that implement a
>> power off GPIO on the virt e500 machine, I can successfully turn off my virtual
>> machine after halt.
>
> This is touching the same area as last night's
> "[RFC PATCH 00/16] kernel: Add support for poweroff handler call chain"
> https://lkml.org/lkml/2014/9/30/575
I agree, and I think your patch set is walking into a reasonable
direction. However, I really think it should convert all users of
pm_power_off - at which point you'll probably get to the same conclusion
that ppc_md.power_off is a bad idea :).
So in a way, this patch set is semantically a prerequisite to the full
conversion you'd probably like to do :).
Also, in your cover letter you describe that some methods power off the
CPU power while others power off the system power. How do you
distinguish between them with a call chain? You probably won't get
around to trigger the system power off callback after the CPU power off
callback ran ;).
Alex
next prev parent reply other threads:[~2014-10-01 14:47 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-01 13:27 [PATCH 00/20] powerpc: Convert power off logic to pm_power_off Alexander Graf
2014-10-01 13:27 ` [PATCH 01/20] powerpc: Support override of pm_power_off Alexander Graf
2014-10-01 13:27 ` [PATCH 02/20] powerpc/xmon: Support either ppc_md.power_off or pm_power_off Alexander Graf
2014-10-01 13:27 ` [PATCH 03/20] powerpc/47x: Use pm_power_off rather than ppc_md.power_off Alexander Graf
2014-10-05 0:39 ` Segher Boessenkool
2014-10-06 10:02 ` Alexander Graf
2014-10-01 13:27 ` [PATCH 04/20] powerpc/52xx/efika: " Alexander Graf
2014-10-01 13:27 ` [PATCH 05/20] powerpc/mpc8349emitx: " Alexander Graf
2014-10-01 13:27 ` [PATCH 06/20] powerpc/corenet: " Alexander Graf
2014-10-01 13:27 ` [PATCH 07/20] powerpc/85xx/sgy_cts1000: " Alexander Graf
2014-10-01 13:27 ` [PATCH 08/20] powerpc/celleb: " Alexander Graf
2014-10-01 13:27 ` [PATCH 09/20] powerpc/cell/qpace: " Alexander Graf
2014-10-01 13:27 ` [PATCH 10/20] powerpc/cell: " Alexander Graf
2014-10-01 13:27 ` [PATCH 11/20] powerpc/chrp: " Alexander Graf
2014-10-01 13:27 ` [PATCH 12/20] powerpc/6xx/gamecube: " Alexander Graf
2014-10-01 13:27 ` [PATCH 13/20] powerpc/6xx/linkstation: " Alexander Graf
2014-10-01 13:28 ` [PATCH 14/20] powerpc/6xx/wii: " Alexander Graf
2014-10-01 13:28 ` [PATCH 15/20] powerpc/maple: " Alexander Graf
2014-10-01 13:28 ` [PATCH 16/20] powerpc/powermac: " Alexander Graf
2014-10-01 13:28 ` [PATCH 17/20] powerpc/powernv: " Alexander Graf
2014-10-01 13:28 ` [PATCH 18/20] powerpc/ps3: " Alexander Graf
2014-10-01 13:28 ` [PATCH 19/20] powerpc/pseries: " Alexander Graf
2014-10-01 13:28 ` [PATCH 20/20] powerpc: Remove ppc_md.power_off Alexander Graf
2014-10-01 14:33 ` [PATCH 00/20] powerpc: Convert power off logic to pm_power_off Geert Uytterhoeven
2014-10-01 14:47 ` Alexander Graf [this message]
2014-10-01 14:57 ` Geert Uytterhoeven
2014-10-01 15:54 ` Guenter Roeck
2014-10-01 21:25 ` Alexander Graf
2014-10-02 2:36 ` Guenter Roeck
2014-10-01 22:39 ` Scott Wood
2014-10-01 23:21 ` Alexander Graf
2014-10-01 23:28 ` Scott Wood
2014-10-01 23:44 ` Alexander Graf
2014-10-02 2:51 ` Guenter Roeck
2014-10-03 4:42 ` Michael Ellerman
2014-10-06 10:00 ` Alexander Graf
2014-10-07 6:25 ` Michael Ellerman
2014-10-07 11:35 ` Alexander Graf
2014-10-07 17:00 ` Guenter Roeck
2014-10-07 17:47 ` Alexander Graf
2014-10-07 19:03 ` Guenter Roeck
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=542C13FB.80608@suse.de \
--to=agraf@suse.de \
--cc=agust@denx.de \
--cc=alistair@popple.id.au \
--cc=arnd@arndb.de \
--cc=geert@linux-m68k.org \
--cc=geoff@infradead.org \
--cc=linux@roeck-us.net \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=scottwood@freescale.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.