aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJose R. Ziviani <jziviani@suse.de>2022-05-28 00:20:23 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2022-06-06 09:26:53 +0200
commit24ce7aa77dd1a3095d994bf53d60cce6e672cf4d (patch)
tree6637096305922de96e8c0a284bd601a0fd80f38f /include
parentb0f3184e82817b700ea81bc76ebc8d999de35278 (diff)
downloadqemu-24ce7aa77dd1a3095d994bf53d60cce6e672cf4d.zip
qemu-24ce7aa77dd1a3095d994bf53d60cce6e672cf4d.tar.gz
qemu-24ce7aa77dd1a3095d994bf53d60cce6e672cf4d.tar.bz2
modules: introduces module_kconfig directive
module_kconfig is a new directive that should be used with module_obj whenever that module depends on the Kconfig to be enabled. When the module is enabled in Kconfig we are sure that its dependencies will be enabled as well, thus the module will be loaded without any problem. The correct way to use module_kconfig is by passing the Kconfig option to module_kconfig (or the *config-devices.mak without CONFIG_). Signed-off-by: Jose R. Ziviani <jziviani@suse.de> Signed-off-by: Dario Faggioli <dfaggioli@suse.com> Message-Id: <165369002370.5857.12150544416563557322.stgit@work> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/qemu/module.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/qemu/module.h b/include/qemu/module.h
index 5fcc323..bd73607 100644
--- a/include/qemu/module.h
+++ b/include/qemu/module.h
@@ -135,6 +135,16 @@ void module_allow_arch(const char *arch);
*/
#define module_opts(name) modinfo(opts, name)
+/**
+ * module_kconfig
+ *
+ * @name: Kconfig requirement necessary to load the module
+ *
+ * This module requires a core module that should be implemented and
+ * enabled in Kconfig.
+ */
+#define module_kconfig(name) modinfo(kconfig, name)
+
/*
* module info database
*