From: jszhang@marvell.com (Jisheng Zhang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] arm: kernel: implement cpuidle_ops with psci backend
Date: Thu, 9 Jul 2015 14:35:52 +0800 [thread overview]
Message-ID: <20150709143552.7f1f83ce@xhacker> (raw)
In-Reply-To: <20150708173458.GB10589@red-moon>
Dear Lorenzo,
On Wed, 8 Jul 2015 18:34:58 +0100
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> wrote:
> On Wed, Jul 08, 2015 at 01:51:08PM +0100, Jisheng Zhang wrote:
> > This patch implements cpuidle_ops using psci. After this patch, we can
> > use cpuidle-arm.c with psci backend for both arm and arm64.
> >
> > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> > ---
> > arch/arm/kernel/Makefile | 1 +
> > arch/arm/kernel/psci_cpuidle.c | 29 +++++++++++++++++++++++++++++
> > 2 files changed, 30 insertions(+)
> > create mode 100644 arch/arm/kernel/psci_cpuidle.c
> >
> > diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
> > index 3b995f5..96383d8 100644
> > --- a/arch/arm/kernel/Makefile
> > +++ b/arch/arm/kernel/Makefile
> > @@ -91,6 +91,7 @@ obj-$(CONFIG_ARM_VIRT_EXT) += hyp-stub.o
> > ifeq ($(CONFIG_ARM_PSCI),y)
> > obj-y += psci-call.o
> > obj-$(CONFIG_SMP) += psci_smp.o
> > +obj-$(CONFIG_CPU_IDLE) += psci_cpuidle.o
> > endif
> >
> > extra-y := $(head-y) vmlinux.lds
> > diff --git a/arch/arm/kernel/psci_cpuidle.c b/arch/arm/kernel/psci_cpuidle.c
> > new file mode 100644
> > index 0000000..ae85d97
> > --- /dev/null
> > +++ b/arch/arm/kernel/psci_cpuidle.c
> > @@ -0,0 +1,29 @@
> > +/*
> > + * Copyright (C) 2015 Marvell Technology Group Ltd.
> > + * Author: Jisheng Zhang <jszhang@marvell.com>
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License version 2 as
> > + * published by the Free Software Foundation.
> > + */
> > +
> > +#include <linux/cpuidle.h>
> > +#include <linux/psci.h>
> > +
> > +#include <asm/cpuidle.h>
> > +
> > +static int psci_cpuidle_suspend(int cpu, unsigned long arg)
> > +{
> > + return cpu_psci_cpu_suspend(arg);
> > +}
> > +
> > +static int psci_cpuidle_init(struct device_node *node, int cpu)
> > +{
> > + return cpu_psci_cpu_init_idle(cpu);
> > +}
>
> It probably makes sense to change the prototypes now that there is
> just one cpuidle ops merged for arm, better now than later.
Good idea. I will do as you suggested.
Thanks a lot,
Jisheng
>
> I am not too fussed about leaving these shims, but I think this can
> save us some time in the future.
>
> Daniel what do you think ?
>
> Lorenzo
>
> > +
> > +static struct cpuidle_ops psci_cpuidle_ops __initdata = {
> > + .suspend = psci_cpuidle_suspend,
> > + .init = psci_cpuidle_init,
> > +};
> > +CPUIDLE_METHOD_OF_DECLARE(psci_cpuidle, "psci", &psci_cpuidle_ops);
> > --
> > 2.1.4
> >
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@marvell.com>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: "linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
Will Deacon <Will.Deacon@arm.com>,
Mark Rutland <Mark.Rutland@arm.com>,
"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
Catalin Marinas <Catalin.Marinas@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 2/2] arm: kernel: implement cpuidle_ops with psci backend
Date: Thu, 9 Jul 2015 14:35:52 +0800 [thread overview]
Message-ID: <20150709143552.7f1f83ce@xhacker> (raw)
In-Reply-To: <20150708173458.GB10589@red-moon>
Dear Lorenzo,
On Wed, 8 Jul 2015 18:34:58 +0100
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> wrote:
> On Wed, Jul 08, 2015 at 01:51:08PM +0100, Jisheng Zhang wrote:
> > This patch implements cpuidle_ops using psci. After this patch, we can
> > use cpuidle-arm.c with psci backend for both arm and arm64.
> >
> > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
> > ---
> > arch/arm/kernel/Makefile | 1 +
> > arch/arm/kernel/psci_cpuidle.c | 29 +++++++++++++++++++++++++++++
> > 2 files changed, 30 insertions(+)
> > create mode 100644 arch/arm/kernel/psci_cpuidle.c
> >
> > diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
> > index 3b995f5..96383d8 100644
> > --- a/arch/arm/kernel/Makefile
> > +++ b/arch/arm/kernel/Makefile
> > @@ -91,6 +91,7 @@ obj-$(CONFIG_ARM_VIRT_EXT) += hyp-stub.o
> > ifeq ($(CONFIG_ARM_PSCI),y)
> > obj-y += psci-call.o
> > obj-$(CONFIG_SMP) += psci_smp.o
> > +obj-$(CONFIG_CPU_IDLE) += psci_cpuidle.o
> > endif
> >
> > extra-y := $(head-y) vmlinux.lds
> > diff --git a/arch/arm/kernel/psci_cpuidle.c b/arch/arm/kernel/psci_cpuidle.c
> > new file mode 100644
> > index 0000000..ae85d97
> > --- /dev/null
> > +++ b/arch/arm/kernel/psci_cpuidle.c
> > @@ -0,0 +1,29 @@
> > +/*
> > + * Copyright (C) 2015 Marvell Technology Group Ltd.
> > + * Author: Jisheng Zhang <jszhang@marvell.com>
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License version 2 as
> > + * published by the Free Software Foundation.
> > + */
> > +
> > +#include <linux/cpuidle.h>
> > +#include <linux/psci.h>
> > +
> > +#include <asm/cpuidle.h>
> > +
> > +static int psci_cpuidle_suspend(int cpu, unsigned long arg)
> > +{
> > + return cpu_psci_cpu_suspend(arg);
> > +}
> > +
> > +static int psci_cpuidle_init(struct device_node *node, int cpu)
> > +{
> > + return cpu_psci_cpu_init_idle(cpu);
> > +}
>
> It probably makes sense to change the prototypes now that there is
> just one cpuidle ops merged for arm, better now than later.
Good idea. I will do as you suggested.
Thanks a lot,
Jisheng
>
> I am not too fussed about leaving these shims, but I think this can
> save us some time in the future.
>
> Daniel what do you think ?
>
> Lorenzo
>
> > +
> > +static struct cpuidle_ops psci_cpuidle_ops __initdata = {
> > + .suspend = psci_cpuidle_suspend,
> > + .init = psci_cpuidle_init,
> > +};
> > +CPUIDLE_METHOD_OF_DECLARE(psci_cpuidle, "psci", &psci_cpuidle_ops);
> > --
> > 2.1.4
> >
next prev parent reply other threads:[~2015-07-09 6:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-08 12:51 [PATCH v2 0/2] arm: kernel: implement cpuidle_ops with psci backend Jisheng Zhang
2015-07-08 12:51 ` Jisheng Zhang
2015-07-08 12:51 ` [PATCH v2 1/2] firmware: psci: move cpu_suspend handling to generic code Jisheng Zhang
2015-07-08 12:51 ` Jisheng Zhang
2015-07-08 17:32 ` Lorenzo Pieralisi
2015-07-08 17:32 ` Lorenzo Pieralisi
2015-07-08 12:51 ` [PATCH v2 2/2] arm: kernel: implement cpuidle_ops with psci backend Jisheng Zhang
2015-07-08 12:51 ` Jisheng Zhang
2015-07-08 17:34 ` Lorenzo Pieralisi
2015-07-08 17:34 ` Lorenzo Pieralisi
2015-07-09 6:35 ` Jisheng Zhang [this message]
2015-07-09 6:35 ` Jisheng Zhang
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=20150709143552.7f1f83ce@xhacker \
--to=jszhang@marvell.com \
--cc=linux-arm-kernel@lists.infradead.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 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.