Revert "cpufreq: interactive: fix cpufreq object duplicate creatation in sysfs"
[firefly-linux-kernel-4.4.55.git] / drivers / cpufreq / Kconfig
index e86900b03c8e922c9ad661cee4502c2944c896ed..e4dbeae587443ce1bf644756ed6fa91d3eb4c80e 100644 (file)
@@ -2,6 +2,7 @@ menu "CPU Frequency scaling"
 
 config CPU_FREQ
        bool "CPU Frequency scaling"
+       select SRCU
        help
          CPU Frequency scaling allows you to change the clock speed of 
          CPUs on the fly. This is a nice method to save power, because 
@@ -17,15 +18,15 @@ config CPU_FREQ
 
 if CPU_FREQ
 
-config CPU_FREQ_TABLE
-       tristate
-
 config CPU_FREQ_GOV_COMMON
        bool
 
+config CPU_FREQ_BOOST_SW
+       bool
+       depends on THERMAL
+
 config CPU_FREQ_STAT
        tristate "CPU frequency translation statistics"
-       select CPU_FREQ_TABLE
        default y
        help
          This driver exports CPU frequency statistics information through sysfs
@@ -63,7 +64,6 @@ config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 
 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
        bool "powersave"
-       depends on EXPERT
        select CPU_FREQ_GOV_POWERSAVE
        help
          Use the CPUFreq governor 'powersave' as default. This sets
@@ -112,6 +112,13 @@ config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
          loading your cpufreq low-level hardware driver, using the
          'interactive' governor for latency-sensitive workloads.
 
+config CPU_FREQ_DEFAULT_GOV_SCHED
+       bool "sched"
+       select CPU_FREQ_GOV_SCHED
+       help
+         Use the CPUfreq governor 'sched' as default. This scales
+         cpu frequency using CPU utilization estimates from the
+         scheduler.
 endchoice
 
 config CPU_FREQ_GOV_PERFORMANCE
@@ -153,7 +160,6 @@ config CPU_FREQ_GOV_USERSPACE
 
 config CPU_FREQ_GOV_ONDEMAND
        tristate "'ondemand' cpufreq policy governor"
-       select CPU_FREQ_TABLE
        select CPU_FREQ_GOV_COMMON
        help
          'ondemand' - This driver adds a dynamic cpufreq policy governor.
@@ -171,8 +177,7 @@ config CPU_FREQ_GOV_ONDEMAND
          If in doubt, say N.
 
 config CPU_FREQ_GOV_INTERACTIVE
-       tristate "'interactive' cpufreq policy governor"
-       default n
+       bool "'interactive' cpufreq policy governor"
        help
          'interactive' - This driver adds a dynamic cpufreq policy governor
          designed for latency-sensitive workloads.
@@ -181,9 +186,6 @@ config CPU_FREQ_GOV_INTERACTIVE
          increases so that the system is more responsive to
          interactive workloads.
 
-         To compile this driver as a module, choose M here: the
-         module will be called cpufreq_interactive.
-
          For details, take a look at linux/Documentation/cpu-freq.
 
          If in doubt, say N.
@@ -212,30 +214,46 @@ config CPU_FREQ_GOV_CONSERVATIVE
 
          If in doubt, say N.
 
-config GENERIC_CPUFREQ_CPU0
-       tristate "Generic CPU0 cpufreq driver"
-       depends on HAVE_CLK && REGULATOR && PM_OPP && OF
-       select CPU_FREQ_TABLE
+config CPU_FREQ_GOV_SCHED
+       bool "'sched' cpufreq governor"
+       depends on CPU_FREQ
+       select CPU_FREQ_GOV_COMMON
+       help
+         'sched' - this governor scales cpu frequency from the
+         scheduler as a function of cpu capacity utilization. It does
+         not evaluate utilization on a periodic basis (as ondemand
+         does) but instead is event-driven by the scheduler.
+
+         If in doubt, say N.
+
+comment "CPU frequency scaling drivers"
+
+config CPUFREQ_DT
+       tristate "Generic DT based cpufreq driver"
+       depends on HAVE_CLK && OF
+       # if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y:
+       depends on !CPU_THERMAL || THERMAL
+       select PM_OPP
        help
-         This adds a generic cpufreq driver for CPU0 frequency management.
+         This adds a generic DT based cpufreq driver for frequency management.
          It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
          systems which share clock and voltage across all CPUs.
 
          If in doubt, say N.
 
-menu "x86 CPU frequency scaling drivers"
-depends on X86
+if X86
 source "drivers/cpufreq/Kconfig.x86"
-endmenu
+endif
 
-menu "ARM CPU frequency scaling drivers"
-depends on ARM
+if ARM || ARM64
 source "drivers/cpufreq/Kconfig.arm"
-endmenu
+endif
 
-menu "AVR32 CPU frequency scaling drivers"
-depends on AVR32
+if PPC32 || PPC64
+source "drivers/cpufreq/Kconfig.powerpc"
+endif
 
+if AVR32
 config AVR32_AT32AP_CPUFREQ
        bool "CPU frequency driver for AT32AP"
        depends on PLATFORM_AT32AP
@@ -243,15 +261,11 @@ config AVR32_AT32AP_CPUFREQ
        help
          This enables the CPU frequency driver for AT32AP processors.
          If in doubt, say N.
+endif
 
-endmenu
-
-menu "CPUFreq processor drivers"
-depends on IA64
-
+if IA64
 config IA64_ACPI_CPUFREQ
        tristate "ACPI Processor P-States driver"
-       select CPU_FREQ_TABLE
        depends on ACPI_PROCESSOR
        help
        This driver adds a CPUFreq driver which utilizes the ACPI
@@ -260,15 +274,11 @@ config IA64_ACPI_CPUFREQ
        For details, take a look at <file:Documentation/cpu-freq/>.
 
        If in doubt, say N.
+endif
 
-endmenu
-
-menu "MIPS CPUFreq processor drivers"
-depends on MIPS
-
+if MIPS
 config LOONGSON2_CPUFREQ
        tristate "Loongson2 CPUFreq Driver"
-       select CPU_FREQ_TABLE
        help
          This option adds a CPUFreq driver for loongson processors which
          support software configurable cpu frequency.
@@ -279,18 +289,20 @@ config LOONGSON2_CPUFREQ
 
          If in doubt, say N.
 
-endmenu
+config LOONGSON1_CPUFREQ
+       tristate "Loongson1 CPUFreq Driver"
+       help
+         This option adds a CPUFreq driver for loongson1 processors which
+         support software configurable cpu frequency.
 
-menu "PowerPC CPU frequency scaling drivers"
-depends on PPC32 || PPC64
-source "drivers/cpufreq/Kconfig.powerpc"
-endmenu
+         For details, take a look at <file:Documentation/cpu-freq/>.
 
-menu "SPARC CPU frequency scaling drivers"
-depends on SPARC64
+         If in doubt, say N.
+endif
+
+if SPARC64
 config SPARC_US3_CPUFREQ
        tristate "UltraSPARC-III CPU Frequency driver"
-       select CPU_FREQ_TABLE
        help
          This adds the CPUFreq driver for UltraSPARC-III processors.
 
@@ -300,20 +312,17 @@ config SPARC_US3_CPUFREQ
 
 config SPARC_US2E_CPUFREQ
        tristate "UltraSPARC-IIe CPU Frequency driver"
-       select CPU_FREQ_TABLE
        help
          This adds the CPUFreq driver for UltraSPARC-IIe processors.
 
          For details, take a look at <file:Documentation/cpu-freq>.
 
          If in doubt, say N.
-endmenu
+endif
 
-menu "SH CPU Frequency scaling"
-depends on SUPERH
+if SUPERH
 config SH_CPU_FREQ
        tristate "SuperH CPU Frequency driver"
-       select CPU_FREQ_TABLE
        help
          This adds the cpufreq driver for SuperH. Any CPU that supports
          clock rate rounding through the clock framework can use this
@@ -325,7 +334,15 @@ config SH_CPU_FREQ
          For details, take a look at <file:Documentation/cpu-freq>.
 
          If unsure, say N.
-endmenu
+endif
+
+config QORIQ_CPUFREQ
+       tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
+       depends on OF && COMMON_CLK && (PPC_E500MC || ARM)
+       select CLK_QORIQ
+       help
+         This adds the CPUFreq driver support for Freescale QorIQ SoCs
+         which are capable of changing the CPU's frequency dynamically.
 
 endif
 endmenu