From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/3] arm: kernel: implement cpuidle_ops with psci backend
Date: Tue, 14 Jul 2015 12:03:02 +0100 [thread overview]
Message-ID: <20150714110302.GA334@red-moon> (raw)
In-Reply-To: <20150714103421.GU7557@n2100.arm.linux.org.uk>
On Tue, Jul 14, 2015 at 11:34:21AM +0100, Russell King - ARM Linux wrote:
> On Thu, Jul 09, 2015 at 04:31:25PM +0800, 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 | 19 +++++++++++++++++++
> > 2 files changed, 20 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..e7146d2
> > --- /dev/null
> > +++ b/arch/arm/kernel/psci_cpuidle.c
> > @@ -0,0 +1,19 @@
> > +/*
> > + * 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 struct cpuidle_ops psci_cpuidle_ops __initdata = {
> > + .suspend = cpu_psci_cpu_suspend,
> > + .init = cpu_psci_cpu_init_idle,
> > +};
> > +CPUIDLE_METHOD_OF_DECLARE(psci_cpuidle, "psci", &psci_cpuidle_ops);
>
> Is there any reason this can't live in the drivers sub-tree? Is there
> anything specific to 32-bit ARM about this?
>
> It looks to me like the right thing to do is to have it as part of
> drivers/firmware/psci.c.
I take this as an ACK to M.Rutland's PSCI code move to drivers/firmware,
right ?
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/355643.html
> We don't do this for other stuff - we don't have IRQ_CHIP_OF_DECLARE
> stuff in arch/arm but have the IRQ chip drivers in drivers/irqchip.
> We keep it all togehter in drivers/irqchip, even when the IRQ chip
> driver is only useful on ARM.
CPUidle operations are ARM only, they are not used on ARM64, so
they belong in arch/arm (that's the same thing as SMP ops, on ARM64
SMP ops and CPUidle ops are unified through CPU operations).
Thanks,
Lorenzo
WARNING: multiple messages have this Message-ID (diff)
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Jisheng Zhang <jszhang@marvell.com>,
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>,
"galak@codeaurora.org" <galak@codeaurora.org>,
"agross@codeaurora.org" <agross@codeaurora.org>,
"davidb@codeaurora.org" <davidb@codeaurora.org>,
"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 v3 3/3] arm: kernel: implement cpuidle_ops with psci backend
Date: Tue, 14 Jul 2015 12:03:02 +0100 [thread overview]
Message-ID: <20150714110302.GA334@red-moon> (raw)
In-Reply-To: <20150714103421.GU7557@n2100.arm.linux.org.uk>
On Tue, Jul 14, 2015 at 11:34:21AM +0100, Russell King - ARM Linux wrote:
> On Thu, Jul 09, 2015 at 04:31:25PM +0800, 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 | 19 +++++++++++++++++++
> > 2 files changed, 20 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..e7146d2
> > --- /dev/null
> > +++ b/arch/arm/kernel/psci_cpuidle.c
> > @@ -0,0 +1,19 @@
> > +/*
> > + * 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 struct cpuidle_ops psci_cpuidle_ops __initdata = {
> > + .suspend = cpu_psci_cpu_suspend,
> > + .init = cpu_psci_cpu_init_idle,
> > +};
> > +CPUIDLE_METHOD_OF_DECLARE(psci_cpuidle, "psci", &psci_cpuidle_ops);
>
> Is there any reason this can't live in the drivers sub-tree? Is there
> anything specific to 32-bit ARM about this?
>
> It looks to me like the right thing to do is to have it as part of
> drivers/firmware/psci.c.
I take this as an ACK to M.Rutland's PSCI code move to drivers/firmware,
right ?
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/355643.html
> We don't do this for other stuff - we don't have IRQ_CHIP_OF_DECLARE
> stuff in arch/arm but have the IRQ chip drivers in drivers/irqchip.
> We keep it all togehter in drivers/irqchip, even when the IRQ chip
> driver is only useful on ARM.
CPUidle operations are ARM only, they are not used on ARM64, so
they belong in arch/arm (that's the same thing as SMP ops, on ARM64
SMP ops and CPUidle ops are unified through CPU operations).
Thanks,
Lorenzo
next prev parent reply other threads:[~2015-07-14 11:03 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-09 8:31 [PATCH v3 0/3] arm: kernel: implement cpuidle_ops with psci backend Jisheng Zhang
2015-07-09 8:31 ` Jisheng Zhang
2015-07-09 8:31 ` [PATCH v3 1/3] firmware: psci: move cpu_suspend handling to generic code Jisheng Zhang
2015-07-09 8:31 ` Jisheng Zhang
2015-07-09 8:31 ` [PATCH v3 2/3] ARM: cpuidle: refine cpuidle_ops member's parameters Jisheng Zhang
2015-07-09 8:31 ` Jisheng Zhang
2015-07-09 8:43 ` Jisheng Zhang
2015-07-09 8:43 ` Jisheng Zhang
2015-07-09 9:28 ` Lorenzo Pieralisi
2015-07-09 9:28 ` Lorenzo Pieralisi
2015-07-10 15:07 ` Lina Iyer
2015-07-10 15:07 ` Lina Iyer
2015-07-10 17:37 ` Lina Iyer
2015-07-10 17:37 ` Lina Iyer
2015-07-09 8:31 ` [PATCH v3 3/3] arm: kernel: implement cpuidle_ops with psci backend Jisheng Zhang
2015-07-09 8:31 ` Jisheng Zhang
2015-07-14 10:34 ` Russell King - ARM Linux
2015-07-14 10:34 ` Russell King - ARM Linux
2015-07-14 11:03 ` Lorenzo Pieralisi [this message]
2015-07-14 11:03 ` Lorenzo Pieralisi
2015-07-14 12:29 ` Russell King - ARM Linux
2015-07-14 12:29 ` Russell King - ARM Linux
2015-07-14 14:55 ` Lorenzo Pieralisi
2015-07-14 14:55 ` Lorenzo Pieralisi
2015-07-14 20:41 ` Russell King - ARM Linux
2015-07-14 20:41 ` Russell King - ARM Linux
2015-07-15 13:46 ` Lorenzo Pieralisi
2015-07-15 13:46 ` Lorenzo Pieralisi
2015-07-15 14:45 ` Russell King - ARM Linux
2015-07-15 14:45 ` Russell King - ARM Linux
2015-07-15 15:40 ` Lorenzo Pieralisi
2015-07-15 15:40 ` Lorenzo Pieralisi
2015-07-26 21:45 ` Russell King - ARM Linux
2015-07-26 21:45 ` Russell King - ARM Linux
2015-07-27 9:16 ` Lorenzo Pieralisi
2015-07-27 9:16 ` Lorenzo Pieralisi
2015-07-27 9:45 ` Russell King - ARM Linux
2015-07-27 9:45 ` Russell King - ARM Linux
2015-07-27 10:01 ` Lorenzo Pieralisi
2015-07-27 10:01 ` Lorenzo Pieralisi
2015-07-27 10:09 ` Russell King - ARM Linux
2015-07-27 10:09 ` Russell King - ARM Linux
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=20150714110302.GA334@red-moon \
--to=lorenzo.pieralisi@arm.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.