linux/arch/arm
Daniel Lezcano 449e056c76 ARM: cpuidle: Add a cpuidle ops structure to be used for DT
The current state of the different cpuidle drivers is the different PM
operations are passed via the platform_data using the platform driver
paradigm.

This approach allowed to split the low level PM code from the arch specific
and the generic cpuidle code.

Unfortunately there are complaints about this approach as, in the context of the
single kernel image, we have multiple drivers loaded in memory for nothing and
the platform driver is not adequate for cpuidle.

This patch provides a common interface via cpuidle ops for all new cpuidle
driver and a definition for the device tree.

It will allow with the next patches to a have a common definition with ARM64
and share the same cpuidle driver.

The code is optimized to use the __init section intensively in order to reduce
the memory footprint after the driver is initialized and unify the function
names with ARM64.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Rob Herring <robherring2@gmail.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
2015-03-24 10:16:01 +01:00
..
boot Third fixes batch for AT91 on 4.0: 2015-03-11 20:46:52 +01:00
common
configs ARM: vexpress: update CONFIG_USB_ISP1760 option 2015-03-11 15:37:21 +01:00
crypto crypto: arm/aes update NEON AES module to latest OpenSSL version 2015-03-02 23:18:26 +13:00
firmware
include ARM: cpuidle: Add a cpuidle ops structure to be used for DT 2015-03-24 10:16:01 +01:00
kernel ARM: cpuidle: Add a cpuidle ops structure to be used for DT 2015-03-24 10:16:01 +01:00
kvm arm64: KVM: Do not use pgd_index to index stage-2 pgd 2015-03-11 14:24:36 +01:00
lib
mach-asm9260 clockevents: asm9260: Fix compilation error with sparc/sparc64 allyesconfig 2015-02-25 10:28:22 +01:00
mach-at91 ARM: at91: pm_slowclock: fix the compilation error 2015-03-11 15:49:47 +01:00
mach-axxia ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-bcm ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-berlin
mach-clps711x
mach-cns3xxx Merge branch 'pci/config' into next 2015-02-02 14:49:29 -06:00
mach-davinci ARM: cpuidle: Remove duplicate header inclusion 2015-03-23 18:03:11 +01:00
mach-digicolor ARM: digicolor: select syscon and timer 2015-01-29 13:52:06 -08:00
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos Merge tag 'samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes 2015-03-04 21:01:25 +01:00
mach-footbridge
mach-gemini
mach-highbank ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-hisi ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-imx ARM: cpuidle: Remove duplicate header inclusion 2015-03-23 18:03:11 +01:00
mach-integrator ARM: integrator: Convert PCI to use generic config accessors 2015-01-29 08:34:42 -06:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix {in,out}s{bwl} data types 2015-02-18 12:20:27 +01:00
mach-keystone ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-ks8695 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-12 08:51:56 -08:00
mach-lpc32xx
mach-mediatek
mach-meson
mach-mmp ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-moxart
mach-msm net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
mach-mv78xx0
mach-mvebu ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-omap1 ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
mach-omap2 ARM: cpuidle: Remove duplicate header inclusion 2015-03-23 18:03:11 +01:00
mach-orion5x
mach-picoxcell
mach-prima2 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-pxa ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
mach-qcom ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
mach-realview net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
mach-rockchip ARM: rockchip: force built-in regulator support for PM 2015-02-18 12:20:30 +01:00
mach-rpc
mach-s3c24xx ARM: SAMSUNG: remove unused DMA infrastructure 2015-01-24 13:09:54 +09:00
mach-s3c64xx ARM: cpuidle: Remove duplicate header inclusion 2015-03-23 18:03:11 +01:00
mach-s5pv210 ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-sa1100 ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
mach-shmobile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-socfpga ARM: socfpga: make sure socfpga_cpu1start_addr is properly flushed 2015-03-04 13:03:17 -06:00
mach-spear
mach-sti ARM: STi: Add STiH410 SoC support 2015-03-11 15:34:45 +01:00
mach-sunxi
mach-tegra ARM: cpuidle: Remove duplicate header inclusion 2015-03-23 18:03:11 +01:00
mach-u300
mach-ux500 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-versatile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-vexpress ARM: vexpress: use ARM_CPU_SUSPEND if needed 2015-02-18 12:19:09 +01:00
mach-vt8500
mach-w90x900
mach-zynq ARM: zynq: Simplify SLCR initialization 2015-01-29 15:38:17 +01:00
mm ARM: 8311/1: Don't use is_module_addr in setting page attributes 2015-03-18 10:13:46 +00:00
net
nwfpe
oprofile
plat-iop arm: iop: specify PMUs are for XScale CPUs 2015-02-06 00:12:59 -08:00
plat-omap
plat-orion
plat-pxa
plat-samsung ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
plat-versatile
probes ARM: kprobes: Fix compilation error caused by superfluous '*' 2015-02-10 15:05:30 +08:00
tools
vfp
xen xen/grant-table: pre-populate kernel unmap ops for xen_gnttab_unmap_refs() 2015-01-28 14:03:10 +00:00
Kconfig ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Makefile ARM: digicolor: add the machine directory to Makefile 2015-03-11 15:36:34 +01:00