From ed116ace6d15bab76ac8ccc0bb5e8b0452f8aa97 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Sat, 17 Dec 2016 12:26:40 -0500 Subject: [PATCH] kernel: kconfig: move power management options out Change-Id: I5d7068ca7a5793bb3499f2bf2dc1abc4e337313e Signed-off-by: Anas Nashif --- kernel/Kconfig | 82 +----------------------------------- kernel/Kconfig.power_mgmt | 89 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 80 deletions(-) create mode 100644 kernel/Kconfig.power_mgmt diff --git a/kernel/Kconfig b/kernel/Kconfig index e53becd0a6c..200c0a543ac 100644 --- a/kernel/Kconfig +++ b/kernel/Kconfig @@ -113,7 +113,6 @@ config APPLICATION_INIT_PRIORITY This priority level is for end-user drivers such as sensors and display which have no inward dependencies. - menu "Security Options" config STACK_CANARIES @@ -139,83 +138,6 @@ endmenu source "kernel/unified/Kconfig" -menu "Power Management" -config SYS_POWER_MANAGEMENT - bool - prompt "Power management" - default n - help - This option enables the board to implement extra power management - policies whenever the kernel becomes idle. The kernel informs the - power management subsystem of the number of ticks until the next kernel - timer is due to expire. - -menu "Power Management Features" - depends on SYS_POWER_MANAGEMENT - -config SYS_POWER_LOW_POWER_STATE - bool - prompt "Low power state" - default n - depends on SYS_POWER_MANAGEMENT && SYS_POWER_LOW_POWER_STATE_SUPPORTED - help - This option enables the kernel to interface with a power manager - application. This permits the system to enter a custom CPU low power - state when the kernel becomes idle. The low power state could be any of - the CPU low power states supported by the processor. Generally the one - saving most power. - -config SYS_POWER_DEEP_SLEEP - bool - prompt "Deep sleep state" - default n - depends on SYS_POWER_MANAGEMENT && SYS_POWER_DEEP_SLEEP_SUPPORTED - help - This option enables the kernel to interface with a power manager - application. This permits the system to enter a Deep sleep state - supported by the SOC where the system clock is turned off while RAM is - retained. This state would be entered when the kernel becomes idle for - extended periods and would have a high wake latency. Resume would be - from the reset vector same as cold boot. The interface allows - restoration of states that were saved at the time of suspend. - -config DEVICE_POWER_MANAGEMENT - bool - prompt "Device power management" - default n - depends on SYS_POWER_MANAGEMENT - help - This option enables the device power management interface. The - interface consists of hook functions implemented by device drivers - that get called by the power manager application when the system - is going to suspend state or resuming from suspend state. This allows - device drivers to do any necessary power management operations - like turning off device clocks and peripherals. The device drivers - may also save and restore states in these hook functions. - -config TICKLESS_IDLE - bool - prompt "Tickless idle" - default y if TICKLESS_IDLE_SUPPORTED - help - This option suppresses periodic system clock interrupts whenever the - kernel becomes idle. This permits the system to remain in a power - saving state for extended periods without having to wake up to - service each tick as it occurs. - -config TICKLESS_IDLE_THRESH - int - prompt "Tickless idle threshold" - default 3 - depends on TICKLESS_IDLE - help - This option enables clock interrupt suppression when the kernel idles - for only a short period of time. It specifies the minimum number of - ticks that must occur before the next kernel timer expires in order - for suppression to happen. - -endmenu - config MDEF bool prompt "Use MDEF files for statically configured kernel objects" @@ -229,6 +151,6 @@ config MDEF In doubt, select 'y'. -endmenu - source "kernel/Kconfig.event_logger" +source "kernel/Kconfig.power_mgmt" + diff --git a/kernel/Kconfig.power_mgmt b/kernel/Kconfig.power_mgmt new file mode 100644 index 00000000000..e9e3005e3a6 --- /dev/null +++ b/kernel/Kconfig.power_mgmt @@ -0,0 +1,89 @@ +# +# Copyright (c) 2014-2015 Wind River Systems, Inc. +# Copyright (c) 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +menuconfig SYS_POWER_MANAGEMENT + bool + prompt "Power management" + default n + help + This option enables the board to implement extra power management + policies whenever the kernel becomes idle. The kernel informs the + power management subsystem of the number of ticks until the next kernel + timer is due to expire. + +if SYS_POWER_MANAGEMENT +config SYS_POWER_LOW_POWER_STATE + bool + prompt "Low power state" + default n + depends on SYS_POWER_LOW_POWER_STATE_SUPPORTED + help + This option enables the kernel to interface with a power manager + application. This permits the system to enter a custom CPU low power + state when the kernel becomes idle. The low power state could be any of + the CPU low power states supported by the processor. Generally the one + saving most power. + +config SYS_POWER_DEEP_SLEEP + bool + prompt "Deep sleep state" + default n + depends on SYS_POWER_DEEP_SLEEP_SUPPORTED + help + This option enables the kernel to interface with a power manager + application. This permits the system to enter a Deep sleep state + supported by the SOC where the system clock is turned off while RAM is + retained. This state would be entered when the kernel becomes idle for + extended periods and would have a high wake latency. Resume would be + from the reset vector same as cold boot. The interface allows + restoration of states that were saved at the time of suspend. + +config DEVICE_POWER_MANAGEMENT + bool + prompt "Device power management" + default n + help + This option enables the device power management interface. The + interface consists of hook functions implemented by device drivers + that get called by the power manager application when the system + is going to suspend state or resuming from suspend state. This allows + device drivers to do any necessary power management operations + like turning off device clocks and peripherals. The device drivers + may also save and restore states in these hook functions. + +config TICKLESS_IDLE + bool + prompt "Tickless idle" + default y if TICKLESS_IDLE_SUPPORTED + help + This option suppresses periodic system clock interrupts whenever the + kernel becomes idle. This permits the system to remain in a power + saving state for extended periods without having to wake up to + service each tick as it occurs. + +config TICKLESS_IDLE_THRESH + int + prompt "Tickless idle threshold" + default 3 + depends on TICKLESS_IDLE + help + This option enables clock interrupt suppression when the kernel idles + for only a short period of time. It specifies the minimum number of + ticks that must occur before the next kernel timer expires in order + for suppression to happen. + +endif