mbox series

[0/2] arm64: remove generic ARM cpuidle support

Message ID 20220529181329.2345722-1-michael@walle.cc (mailing list archive)
Headers show
Series arm64: remove generic ARM cpuidle support | expand

Message

Michael Walle May 29, 2022, 6:13 p.m. UTC
Playing with an own PSCI implementation, I've noticed that the cpuidle-arm
driver doesn't work on arm64. It doesn't probe because since commit
788961462f34 ("ARM: psci: cpuidle: Enable PSCI CPUidle driver") the
arm_cpuidle_init() can only return -EOPNOTSUPP, because the commit removed
the cpu_idle_init and cpu_suspend ops.

It left me puzzled for quite some time. It seems that the cpuidle-psci is
the preferred one and this has been the case for quite some time. The
mentioned commit first appeared in v5.4.

Remove the ARM64 support for the cpuidle-arm driver, which then let us
remove all the supporting arch code.

Michael Walle (2):
  cpuidle: cpuidle-arm: remove arm64 support
  arm64: cpuidle: remove generic cpuidle support

 arch/arm64/include/asm/cpu_ops.h |  9 ---------
 arch/arm64/include/asm/cpuidle.h | 15 ---------------
 arch/arm64/kernel/cpuidle.c      | 29 -----------------------------
 drivers/cpuidle/Kconfig.arm      |  3 ++-
 4 files changed, 2 insertions(+), 54 deletions(-)

Comments

Daniel Lezcano May 30, 2022, 3:37 p.m. UTC | #1
On 29/05/2022 20:13, Michael Walle wrote:
> Playing with an own PSCI implementation, I've noticed that the cpuidle-arm
> driver doesn't work on arm64. It doesn't probe because since commit
> 788961462f34 ("ARM: psci: cpuidle: Enable PSCI CPUidle driver") the
> arm_cpuidle_init() can only return -EOPNOTSUPP, because the commit removed
> the cpu_idle_init and cpu_suspend ops.
> 
> It left me puzzled for quite some time. It seems that the cpuidle-psci is
> the preferred one and this has been the case for quite some time. The
> mentioned commit first appeared in v5.4.
> 
> Remove the ARM64 support for the cpuidle-arm driver, which then let us
> remove all the supporting arch code.
> 
> Michael Walle (2):
>    cpuidle: cpuidle-arm: remove arm64 support
>    arm64: cpuidle: remove generic cpuidle support
> 
>   arch/arm64/include/asm/cpu_ops.h |  9 ---------
>   arch/arm64/include/asm/cpuidle.h | 15 ---------------
>   arch/arm64/kernel/cpuidle.c      | 29 -----------------------------
>   drivers/cpuidle/Kconfig.arm      |  3 ++-
>   4 files changed, 2 insertions(+), 54 deletions(-)

Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Michael Walle June 22, 2022, 11:59 a.m. UTC | #2
Am 2022-05-29 20:13, schrieb Michael Walle:
> Playing with an own PSCI implementation, I've noticed that the 
> cpuidle-arm
> driver doesn't work on arm64. It doesn't probe because since commit
> 788961462f34 ("ARM: psci: cpuidle: Enable PSCI CPUidle driver") the
> arm_cpuidle_init() can only return -EOPNOTSUPP, because the commit 
> removed
> the cpu_idle_init and cpu_suspend ops.
> 
> It left me puzzled for quite some time. It seems that the cpuidle-psci 
> is
> the preferred one and this has been the case for quite some time. The
> mentioned commit first appeared in v5.4.
> 
> Remove the ARM64 support for the cpuidle-arm driver, which then let us
> remove all the supporting arch code.
> 
> Michael Walle (2):
>   cpuidle: cpuidle-arm: remove arm64 support
>   arm64: cpuidle: remove generic cpuidle support
> 
>  arch/arm64/include/asm/cpu_ops.h |  9 ---------
>  arch/arm64/include/asm/cpuidle.h | 15 ---------------
>  arch/arm64/kernel/cpuidle.c      | 29 -----------------------------
>  drivers/cpuidle/Kconfig.arm      |  3 ++-
>  4 files changed, 2 insertions(+), 54 deletions(-)

Through which tree should this patchset go? I've seen it is marked as
"Handled Elsewere" in the linux pm patchwork [1].

-michael

[1] 
https://patchwork.kernel.org/project/linux-pm/patch/20220529181329.2345722-2-michael@walle.cc/
Sudeep Holla June 22, 2022, 2:07 p.m. UTC | #3
On Wed, Jun 22, 2022 at 01:59:07PM +0200, Michael Walle wrote:
> Am 2022-05-29 20:13, schrieb Michael Walle:
> > Playing with an own PSCI implementation, I've noticed that the
> > cpuidle-arm
> > driver doesn't work on arm64. It doesn't probe because since commit
> > 788961462f34 ("ARM: psci: cpuidle: Enable PSCI CPUidle driver") the
> > arm_cpuidle_init() can only return -EOPNOTSUPP, because the commit
> > removed
> > the cpu_idle_init and cpu_suspend ops.
> > 
> > It left me puzzled for quite some time. It seems that the cpuidle-psci
> > is
> > the preferred one and this has been the case for quite some time. The
> > mentioned commit first appeared in v5.4.
> > 
> > Remove the ARM64 support for the cpuidle-arm driver, which then let us
> > remove all the supporting arch code.
> > 
> > Michael Walle (2):
> >   cpuidle: cpuidle-arm: remove arm64 support
> >   arm64: cpuidle: remove generic cpuidle support
> > 
> >  arch/arm64/include/asm/cpu_ops.h |  9 ---------
> >  arch/arm64/include/asm/cpuidle.h | 15 ---------------
> >  arch/arm64/kernel/cpuidle.c      | 29 -----------------------------
> >  drivers/cpuidle/Kconfig.arm      |  3 ++-
> >  4 files changed, 2 insertions(+), 54 deletions(-)
> 
> Through which tree should this patchset go? I've seen it is marked as
> "Handled Elsewere" in the linux pm patchwork [1].
> 

Generally based on the changes, it is decided. I can see why Rafael would
have marked so in PM patchwork. Daniel has already acked small change in
CPUidle config file while the bulk is removal of arm64 code. So, it is
better to route it via arm64 tree.

Will,

Assuming you will handle v5.20, can you pick this up ?
Will Deacon June 23, 2022, 1:19 p.m. UTC | #4
On Wed, Jun 22, 2022 at 03:07:48PM +0100, Sudeep Holla wrote:
> On Wed, Jun 22, 2022 at 01:59:07PM +0200, Michael Walle wrote:
> > Am 2022-05-29 20:13, schrieb Michael Walle:
> > > Playing with an own PSCI implementation, I've noticed that the
> > > cpuidle-arm
> > > driver doesn't work on arm64. It doesn't probe because since commit
> > > 788961462f34 ("ARM: psci: cpuidle: Enable PSCI CPUidle driver") the
> > > arm_cpuidle_init() can only return -EOPNOTSUPP, because the commit
> > > removed
> > > the cpu_idle_init and cpu_suspend ops.
> > > 
> > > It left me puzzled for quite some time. It seems that the cpuidle-psci
> > > is
> > > the preferred one and this has been the case for quite some time. The
> > > mentioned commit first appeared in v5.4.
> > > 
> > > Remove the ARM64 support for the cpuidle-arm driver, which then let us
> > > remove all the supporting arch code.
> > > 
> > > Michael Walle (2):
> > >   cpuidle: cpuidle-arm: remove arm64 support
> > >   arm64: cpuidle: remove generic cpuidle support
> > > 
> > >  arch/arm64/include/asm/cpu_ops.h |  9 ---------
> > >  arch/arm64/include/asm/cpuidle.h | 15 ---------------
> > >  arch/arm64/kernel/cpuidle.c      | 29 -----------------------------
> > >  drivers/cpuidle/Kconfig.arm      |  3 ++-
> > >  4 files changed, 2 insertions(+), 54 deletions(-)
> > 
> > Through which tree should this patchset go? I've seen it is marked as
> > "Handled Elsewere" in the linux pm patchwork [1].
> > 
> 
> Generally based on the changes, it is decided. I can see why Rafael would
> have marked so in PM patchwork. Daniel has already acked small change in
> CPUidle config file while the bulk is removal of arm64 code. So, it is
> better to route it via arm64 tree.
> 
> Will,
> 
> Assuming you will handle v5.20, can you pick this up ?

Yup, on it.

Will
Will Deacon June 23, 2022, 7:31 p.m. UTC | #5
On Sun, 29 May 2022 20:13:27 +0200, Michael Walle wrote:
> Playing with an own PSCI implementation, I've noticed that the cpuidle-arm
> driver doesn't work on arm64. It doesn't probe because since commit
> 788961462f34 ("ARM: psci: cpuidle: Enable PSCI CPUidle driver") the
> arm_cpuidle_init() can only return -EOPNOTSUPP, because the commit removed
> the cpu_idle_init and cpu_suspend ops.
> 
> It left me puzzled for quite some time. It seems that the cpuidle-psci is
> the preferred one and this has been the case for quite some time. The
> mentioned commit first appeared in v5.4.
> 
> [...]

Applied to arm64 (for-next/cpuidle), thanks!

[1/2] cpuidle: cpuidle-arm: remove arm64 support
      https://git.kernel.org/arm64/c/51280acad855
[2/2] arm64: cpuidle: remove generic cpuidle support
      https://git.kernel.org/arm64/c/471f80db9ef1

Cheers,