devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] ARM: cpuidle: Unify the ARM64/ARM DT approach
@ 2015-03-03 12:29 Daniel Lezcano
  2015-03-03 12:29 ` [PATCH 1/6] ARM: cpuidle: Remove duplicate header inclusion Daniel Lezcano
                   ` (5 more replies)
  0 siblings, 6 replies; 30+ messages in thread
From: Daniel Lezcano @ 2015-03-03 12:29 UTC (permalink / raw)
  To: lorenzo.pieralisi, rjw
  Cc: devicetree, arnd, linux-pm, Catalin.Marinas, linux-kernel,
	lina.iyer, linux-arm-kernel

There is a big number of cpuidle drivers for the ARM architecture.

These drivers have been cleaned up and grouped into the drivers/cpuidle
directory to keep track of the changes more easily and ensure the code
is following the same scheme across the drivers.

That had the benefit of simplifying the code and factor out a lot of common
parts. Beside that, as the drivers belong to the 'drivers' directory, we had
to split the arch specific bits and the generic code in order to keep
everything self contained. The platform driver paradigm was used for this
purpose.

Unfortunately, this approach is now no longer accepted and a different solution
must be provided to reach the same goal: one example is the Qualcomm cpuidle
driver upstreaming attempt [1].

In the meantime, ARM64 developed a generic cpuidle driver based on DT definition.

The DT definition provides an 'enable-method' to specify one of the cpu
operations (PSCI, ...).

This patchset unify this driver with ARM32, using the same DT definition.

Thanks with this patchset we can use the 'enable-method' to specify a cpu
operations, hence get rid of the platform driver approach and go further in the
cpuidle driver flexibility via the DT.

Daniel Lezcano (6):
  ARM: cpuidle: Remove duplicate header inclusion
  ARM: cpuidle: Add a cpuidle ops structure to be used for DT
  ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function
  ARM64: cpuidle: Rename cpu_init_idle to a common function name
  ARM64: cpuidle: Remove arm64 reference
  ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64

 arch/arm/include/asm/cpuidle.h                     | 12 +++
 arch/arm/include/asm/cpuidle_ops.h                 |  3 +
 arch/arm/kernel/cpuidle.c                          | 87 +++++++++++++++++++++-
 arch/arm/mach-davinci/cpuidle.c                    |  1 -
 arch/arm/mach-imx/cpuidle-imx6q.c                  |  1 -
 arch/arm/mach-imx/cpuidle-imx6sl.c                 |  1 -
 arch/arm/mach-imx/cpuidle-imx6sx.c                 |  1 -
 arch/arm/mach-omap2/cpuidle44xx.c                  |  1 -
 arch/arm/mach-tegra/cpuidle-tegra20.c              |  1 -
 arch/arm/mach-tegra/cpuidle-tegra30.c              |  1 -
 arch/arm64/include/asm/cpuidle.h                   |  9 ++-
 arch/arm64/kernel/cpuidle.c                        |  2 +-
 drivers/cpuidle/Kconfig                            |  7 +-
 drivers/cpuidle/Kconfig.arm                        | 10 +++
 drivers/cpuidle/Kconfig.arm64                      | 13 ----
 drivers/cpuidle/Makefile                           |  5 +-
 drivers/cpuidle/{cpuidle-arm64.c => cpuidle-arm.c} | 38 +++++-----
 drivers/cpuidle/cpuidle-at91.c                     |  1 -
 drivers/cpuidle/cpuidle-exynos.c                   |  1 -
 drivers/cpuidle/cpuidle-kirkwood.c                 |  1 -
 drivers/cpuidle/cpuidle-ux500.c                    |  1 -
 drivers/cpuidle/cpuidle-zynq.c                     |  1 -
 22 files changed, 139 insertions(+), 59 deletions(-)
 create mode 100644 arch/arm/include/asm/cpuidle_ops.h
 delete mode 100644 drivers/cpuidle/Kconfig.arm64
 rename drivers/cpuidle/{cpuidle-arm64.c => cpuidle-arm.c} (72%)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2015-03-20 17:26 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-03 12:29 [PATCH 0/6] ARM: cpuidle: Unify the ARM64/ARM DT approach Daniel Lezcano
2015-03-03 12:29 ` [PATCH 1/6] ARM: cpuidle: Remove duplicate header inclusion Daniel Lezcano
2015-03-13 17:54   ` Lorenzo Pieralisi
2015-03-03 12:29 ` [PATCH 2/6] ARM: cpuidle: Add a cpuidle ops structure to be used for DT Daniel Lezcano
2015-03-16 18:16   ` Lorenzo Pieralisi
2015-03-17 11:01     ` Daniel Lezcano
2015-03-16 22:08   ` Stephen Boyd
2015-03-17 11:29     ` Lorenzo Pieralisi
2015-03-18  1:14       ` Stephen Boyd
2015-03-18  8:13         ` Daniel Lezcano
2015-03-20 17:23   ` Catalin Marinas
2015-03-03 12:29 ` [PATCH 3/6] ARM64: cpuidle: Replace cpu_suspend by the common ARM/ARM64 function Daniel Lezcano
2015-03-13 18:21   ` Catalin Marinas
2015-03-13 21:22     ` Daniel Lezcano
     [not found] ` <1425385777-14766-1-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-03 12:29   ` [PATCH 4/6] ARM64: cpuidle: Rename cpu_init_idle to a common function name Daniel Lezcano
     [not found]     ` <1425385777-14766-5-git-send-email-daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-03-13 18:22       ` Catalin Marinas
2015-03-14 11:41         ` Catalin Marinas
2015-03-15 16:26           ` Lorenzo Pieralisi
2015-03-20 16:01       ` Daniel Lezcano
2015-03-20 17:26     ` Catalin Marinas
2015-03-03 12:29   ` [PATCH 6/6] ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64 Daniel Lezcano
2015-03-12 14:25   ` [PATCH 0/6] ARM: cpuidle: Unify the ARM64/ARM DT approach Daniel Lezcano
2015-03-13 18:29     ` Catalin Marinas
2015-03-13 21:26       ` Daniel Lezcano
2015-03-13 20:51     ` Rob Herring
2015-03-13 21:31       ` Daniel Lezcano
2015-03-15 16:48       ` Lorenzo Pieralisi
2015-03-03 12:29 ` [PATCH 5/6] ARM64: cpuidle: Remove arm64 reference Daniel Lezcano
2015-03-13 17:03 ` [PATCH 0/6] ARM: cpuidle: Unify the ARM64/ARM DT approach Kevin Hilman
2015-03-13 17:08   ` Daniel Lezcano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).