summary refs log tree commit diff stats
path: root/include/qemu/module.h
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/qemu/module.h
parentb0f3184e82817b700ea81bc76ebc8d999de35278 (diff)
downloadfocaccia-qemu-24ce7aa77dd1a3095d994bf53d60cce6e672cf4d.tar.gz
focaccia-qemu-24ce7aa77dd1a3095d994bf53d60cce6e672cf4d.zip
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/qemu/module.h')
-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 5fcc323b2a..bd73607104 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
  *