[PATCH v2 06/10] system/vl: remove audio and audiodev options when audio is disabled

Sergei Heifetz posted 10 patches 1 month, 2 weeks ago
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Richard Henderson <richard.henderson@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Thomas Huth <thuth@redhat.com>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>
There is a newer version of this series
[PATCH v2 06/10] system/vl: remove audio and audiodev options when audio is disabled
Posted by Sergei Heifetz 1 month, 2 weeks ago
Remove the audio and audiodev runtime options when QEMU is configured
with `--disable-audio`.

Signed-off-by: Sergei Heifetz <heifetz@yandex-team.com>
---
 system/vl.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/system/vl.c b/system/vl.c
index 3e341142a0..1034a4688f 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -2248,7 +2248,9 @@ static int global_init_func(void *opaque, QemuOpts *opts, Error **errp)
 static bool is_qemuopts_group(const char *group)
 {
     if (g_str_equal(group, "object") ||
+#ifdef CONFIG_AUDIO
         g_str_equal(group, "audiodev") ||
+#endif
         g_str_equal(group, "machine") ||
         g_str_equal(group, "smp-opts") ||
         g_str_equal(group, "boot-opts")) {
@@ -2265,6 +2267,7 @@ static void qemu_record_config_group(const char *group, QDict *dict,
         object_option_add_visitor(v);
         visit_free(v);
 
+#ifdef CONFIG_AUDIO
     } else if (g_str_equal(group, "audiodev")) {
         Audiodev *dev = NULL;
         Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(dict));
@@ -2272,6 +2275,7 @@ static void qemu_record_config_group(const char *group, QDict *dict,
             audio_add_audiodev(dev);
         }
         visit_free(v);
+#endif
 
     } else if (g_str_equal(group, "machine")) {
         /*
@@ -3057,6 +3061,7 @@ void qemu_init(int argc, char **argv)
                 }
                 break;
 #endif
+#ifdef CONFIG_AUDIO
             case QEMU_OPTION_audiodev:
                 default_audio = 0;
                 audio_parse_option(optarg);
@@ -3097,6 +3102,7 @@ void qemu_init(int argc, char **argv)
                 }
                 break;
             }
+#endif
             case QEMU_OPTION_h:
                 help(0);
                 break;
-- 
2.34.1
Re: [PATCH v2 06/10] system/vl: remove audio and audiodev options when audio is disabled
Posted by Marc-André Lureau 1 month, 2 weeks ago
Hi

On Mon, Feb 23, 2026 at 9:26 PM Sergei Heifetz <heifetz@yandex-team.com> wrote:
>
> Remove the audio and audiodev runtime options when QEMU is configured
> with `--disable-audio`.
>
> Signed-off-by: Sergei Heifetz <heifetz@yandex-team.com>

This change should also modify qemu-options.hx


> ---
>  system/vl.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/system/vl.c b/system/vl.c
> index 3e341142a0..1034a4688f 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -2248,7 +2248,9 @@ static int global_init_func(void *opaque, QemuOpts *opts, Error **errp)
>  static bool is_qemuopts_group(const char *group)
>  {
>      if (g_str_equal(group, "object") ||
> +#ifdef CONFIG_AUDIO
>          g_str_equal(group, "audiodev") ||
> +#endif
>          g_str_equal(group, "machine") ||
>          g_str_equal(group, "smp-opts") ||
>          g_str_equal(group, "boot-opts")) {
> @@ -2265,6 +2267,7 @@ static void qemu_record_config_group(const char *group, QDict *dict,
>          object_option_add_visitor(v);
>          visit_free(v);
>
> +#ifdef CONFIG_AUDIO
>      } else if (g_str_equal(group, "audiodev")) {
>          Audiodev *dev = NULL;
>          Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(dict));
> @@ -2272,6 +2275,7 @@ static void qemu_record_config_group(const char *group, QDict *dict,
>              audio_add_audiodev(dev);
>          }
>          visit_free(v);
> +#endif
>
>      } else if (g_str_equal(group, "machine")) {
>          /*
> @@ -3057,6 +3061,7 @@ void qemu_init(int argc, char **argv)
>                  }
>                  break;
>  #endif
> +#ifdef CONFIG_AUDIO
>              case QEMU_OPTION_audiodev:
>                  default_audio = 0;
>                  audio_parse_option(optarg);
> @@ -3097,6 +3102,7 @@ void qemu_init(int argc, char **argv)
>                  }
>                  break;
>              }
> +#endif
>              case QEMU_OPTION_h:
>                  help(0);
>                  break;
> --
> 2.34.1
>
>


--
Marc-André Lureau
Re: [PATCH v2 06/10] system/vl: remove audio and audiodev options when audio is disabled
Posted by Sergei Heifetz 1 month, 2 weeks ago
On 2/24/26 16:06, Marc-André Lureau wrote:
> Hi
>
> On Mon, Feb 23, 2026 at 9:26 PM Sergei Heifetz <heifetz@yandex-team.com> wrote:
>> Remove the audio and audiodev runtime options when QEMU is configured
>> with `--disable-audio`.
>>
>> Signed-off-by: Sergei Heifetz <heifetz@yandex-team.com>
> This change should also modify qemu-options.hx
Oh, yes, of course. I somehow forgot about this.

Thank you for all the feedback.
>
>> ---
>>   system/vl.c | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/system/vl.c b/system/vl.c
>> index 3e341142a0..1034a4688f 100644
>> --- a/system/vl.c
>> +++ b/system/vl.c
>> @@ -2248,7 +2248,9 @@ static int global_init_func(void *opaque, QemuOpts *opts, Error **errp)
>>   static bool is_qemuopts_group(const char *group)
>>   {
>>       if (g_str_equal(group, "object") ||
>> +#ifdef CONFIG_AUDIO
>>           g_str_equal(group, "audiodev") ||
>> +#endif
>>           g_str_equal(group, "machine") ||
>>           g_str_equal(group, "smp-opts") ||
>>           g_str_equal(group, "boot-opts")) {
>> @@ -2265,6 +2267,7 @@ static void qemu_record_config_group(const char *group, QDict *dict,
>>           object_option_add_visitor(v);
>>           visit_free(v);
>>
>> +#ifdef CONFIG_AUDIO
>>       } else if (g_str_equal(group, "audiodev")) {
>>           Audiodev *dev = NULL;
>>           Visitor *v = qobject_input_visitor_new_keyval(QOBJECT(dict));
>> @@ -2272,6 +2275,7 @@ static void qemu_record_config_group(const char *group, QDict *dict,
>>               audio_add_audiodev(dev);
>>           }
>>           visit_free(v);
>> +#endif
>>
>>       } else if (g_str_equal(group, "machine")) {
>>           /*
>> @@ -3057,6 +3061,7 @@ void qemu_init(int argc, char **argv)
>>                   }
>>                   break;
>>   #endif
>> +#ifdef CONFIG_AUDIO
>>               case QEMU_OPTION_audiodev:
>>                   default_audio = 0;
>>                   audio_parse_option(optarg);
>> @@ -3097,6 +3102,7 @@ void qemu_init(int argc, char **argv)
>>                   }
>>                   break;
>>               }
>> +#endif
>>               case QEMU_OPTION_h:
>>                   help(0);
>>                   break;
>> --
>> 2.34.1
>>
>>
>
> --
> Marc-André Lureau