All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@ozlabs.org, agraf@suse.de
Subject: Re: [PATCH] powerpc: Convert power off logic to pm_power_off
Date: Tue, 21 Oct 2014 21:48:47 -0700	[thread overview]
Message-ID: <5447372F.4090304@roeck-us.net> (raw)
In-Reply-To: <1413952677-31662-1-git-send-email-mpe@ellerman.id.au>

On 10/21/2014 09:37 PM, Michael Ellerman 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.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> [mpe: Squash into one patch and update changelog based on cover letter]
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> ---
>   arch/powerpc/include/asm/machdep.h               |  1 -
>   arch/powerpc/kernel/setup-common.c               |  6 +--
>   arch/powerpc/platforms/44x/ppc476.c              |  2 +-
>   arch/powerpc/platforms/52xx/efika.c              |  3 +-
>   arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c   |  8 ++--
>   arch/powerpc/platforms/85xx/corenet_generic.c    |  2 +-
>   arch/powerpc/platforms/85xx/sgy_cts1000.c        |  4 +-
>   arch/powerpc/platforms/cell/celleb_setup.c       |  4 +-
>   arch/powerpc/platforms/cell/qpace_setup.c        |  2 +-
>   arch/powerpc/platforms/cell/setup.c              |  2 +-
>   arch/powerpc/platforms/chrp/setup.c              |  3 +-
>   arch/powerpc/platforms/embedded6xx/gamecube.c    |  3 +-
>   arch/powerpc/platforms/embedded6xx/linkstation.c |  4 +-
>   arch/powerpc/platforms/embedded6xx/wii.c         |  3 +-
>   arch/powerpc/platforms/maple/setup.c             |  4 +-
>   arch/powerpc/platforms/powermac/setup.c          |  3 +-
>   arch/powerpc/platforms/powernv/setup.c           |  4 +-
>   arch/powerpc/platforms/ps3/setup.c               |  2 +-
>   arch/powerpc/platforms/pseries/setup.c           | 59 ++++++++++++------------
>   arch/powerpc/sysdev/fsl_soc.c                    |  2 +-
>   arch/powerpc/xmon/xmon.c                         |  3 +-
>   21 files changed, 66 insertions(+), 58 deletions(-)
>
>
> Hi guys, how does this look?
>
> If it's OK I'll put it in a topic branch for Guenter.
>

Looks good to me.

Guenter

  reply	other threads:[~2014-10-22 19:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-22  4:37 [PATCH] powerpc: Convert power off logic to pm_power_off Michael Ellerman
2014-10-22  4:48 ` Guenter Roeck [this message]
2014-10-22  6:09 ` Benjamin Herrenschmidt
2014-10-22  8:41 ` Alexander Graf

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=5447372F.4090304@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=agraf@suse.de \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mpe@ellerman.id.au \
    /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.