Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drivers: cpuidle: Add status property to ARM idle states

On some platforms the device tree bindings must provide the kernel
with a status flag for idle states, that defines whether the idle
state is operational or not in the current configuration.

This patch adds a status property to the ARM idle states compliant
with ePAPR v1.1 and updates the DT parsing code accordingly.

Acked-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>

authored by

Lorenzo Pieralisi and committed by
Daniel Lezcano
97735da0 fc14f9c1

+17
+14
Documentation/devicetree/bindings/arm/idle-states.txt
··· 317 317 In such systems entry-latency-us + exit-latency-us 318 318 will exceed wakeup-latency-us by this duration. 319 319 320 + - status: 321 + Usage: Optional 322 + Value type: <string> 323 + Definition: A standard device tree property [5] that indicates 324 + the operational status of an idle-state. 325 + If present, it shall be: 326 + "okay": to indicate that the idle state is 327 + operational. 328 + "disabled": to indicate that the idle state has 329 + been disabled in firmware so it is not 330 + operational. 331 + If the property is not present the idle-state must 332 + be considered operational. 333 + 320 334 In addition to the properties listed above, a state node may require 321 335 additional properties specifics to the entry-method defined in the 322 336 idle-states node, please refer to the entry-method bindings
+3
drivers/cpuidle/dt_idle_states.c
··· 169 169 if (!state_node) 170 170 break; 171 171 172 + if (!of_device_is_available(state_node)) 173 + continue; 174 + 172 175 if (!idle_state_valid(state_node, i, cpumask)) { 173 176 pr_warn("%s idle state not valid, bailing out\n", 174 177 state_node->full_name);