aboutsummaryrefslogtreecommitdiff
path: root/drivers/base/Kconfig
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2014-02-08 13:34:09 +0100
committerShow Liu <show.liu@linaro.org>2014-06-18 12:05:38 +0800
commit804a655825369a50fc59bab624b55c7733d1529b (patch)
tree53e9ae77ad5fb5f17f6e48cdb5938aba9476075e /drivers/base/Kconfig
parentb604ab389db043988bc6c5a211dd1889091db871 (diff)
cpu: add generic support for CPU feature based module autoloading
This patch adds support for advertising optional CPU features over udev using the modalias, and for declaring compatibility with/dependency upon such a feature in a module. The mapping between feature numbers and actual features should be provided by the architecture in a file called <asm/cpufeature.h> which exports the following functions/macros: - cpu_feature(FEAT), a preprocessor macro that maps token FEAT to a numeric index; - bool cpu_have_feature(n), returning whether this CPU has support for feature #n; - MAX_CPU_FEATURES, an upper bound for 'n' in the previous function. The feature can then be enabled by setting CONFIG_GENERIC_CPU_AUTOPROBE for the architecture. For instance, a module that registers its module init function using module_cpu_feature_match(FEAT_X, module_init_function) will be probed automatically when the CPU's support for the 'FEAT_X' feature is advertised over udev, and will only allow the module to be loaded by hand if the 'FEAT_X' feature is supported. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 67bad2fdb754dbef14596c0b5d28b3a12c8dfe84) Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/base/Kconfig')
-rw-r--r--drivers/base/Kconfig8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index ec36e7772e5..3f0d3732df7 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -185,6 +185,14 @@ config GENERIC_CPU_DEVICES
bool
default n
+config HAVE_CPU_AUTOPROBE
+ def_bool ARCH_HAS_CPU_AUTOPROBE
+
+config GENERIC_CPU_AUTOPROBE
+ bool
+ depends on !ARCH_HAS_CPU_AUTOPROBE
+ select HAVE_CPU_AUTOPROBE
+
config SOC_BUS
bool