tmp_suning_uos_patched/drivers/cpuidle
Lorenzo Pieralisi 9f14da3455 drivers: cpuidle: implement DT based idle states infrastructure
On most common ARM systems, the low-power states a CPU can be put into are
not discoverable in HW and require device tree bindings to describe
power down suspend operations and idle states parameters.

In order to enable DT based idle states and configure idle drivers, this
patch implements the bulk infrastructure required to parse the device tree
idle states bindings and initialize the corresponding CPUidle driver states
data.

The parsing API accepts a start index that defines the first idle state
that should be initialized by the parsing code in order to give new and
legacy driver flexibility over which states should be parsed using the
new DT mechanism.

The idle states node(s) is obtained from the phandle list of the first cpu
in the driver cpumask;  the kernel checks that the idle state node phandle
is the same for all CPUs in the driver cpumask before declaring the idle state
as valid and start parsing its content.

The idle state enter function pointer is initialized through DT match
structures passed in by the CPUidle driver, so that ARM legacy code can
cope with platform specific idle entry method based on compatible
string matching and the code used to initialize the enter function pointer
can be moved to the DT generic layer.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2014-09-25 10:52:20 +02:00
..
governors More ACPI and power management updates for 3.17-rc1 2014-08-14 18:13:46 -06:00
coupled.c
cpuidle-at91.c
cpuidle-big_little.c cpuidle: big.LITTLE: add Exynos5800 compatible string 2014-09-25 10:51:19 +02:00
cpuidle-calxeda.c
cpuidle-clps711x.c
cpuidle-cps.c
cpuidle-exynos.c ARM: EXYNOS: Fix suspend/resume sequences 2014-08-09 08:24:36 -07:00
cpuidle-kirkwood.c
cpuidle-mvebu-v7.c cpuidle: mvebu: add Armada 38x support 2014-07-24 11:47:29 +00:00
cpuidle-powernv.c powerpc/cpuidle: Fix parsing of idle state flags from device-tree 2014-08-05 15:40:45 +10:00
cpuidle-pseries.c
cpuidle-ux500.c
cpuidle-zynq.c
cpuidle.c cpuidle: move idle traces to cpuidle_enter_state() 2014-07-09 15:45:23 +02:00
cpuidle.h
driver.c cpuidle: Remove time measurement in poll state 2014-07-29 01:37:57 +02:00
dt_idle_states.c drivers: cpuidle: implement DT based idle states infrastructure 2014-09-25 10:52:20 +02:00
dt_idle_states.h drivers: cpuidle: implement DT based idle states infrastructure 2014-09-25 10:52:20 +02:00
governor.c
Kconfig drivers: cpuidle: implement DT based idle states infrastructure 2014-09-25 10:52:20 +02:00
Kconfig.arm ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
Kconfig.mips
Kconfig.powerpc
Makefile drivers: cpuidle: implement DT based idle states infrastructure 2014-09-25 10:52:20 +02:00
sysfs.c cpuidle: fix permission for driver name sysfs node 2014-07-19 21:43:28 +02:00