From nobody Tue Feb 10 04:15:06 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1592998395; cv=none; d=zohomail.com; s=zohoarc; b=gO7Uha/hYw7ZAjcFfAXycT+ObXBlHJ5+bgWGNe8KR+VuzCMePjb7Wqkvgmo62/QEcDI2Lnh7UFvkzMtK76W7TuXKzwSndjkvOWE/Zhb8AelNOTuao8gufPGpzQn9xtiGqOc5VFMu9hZR+i2xHkDx0lXbgY7myNBjq2cLlaIc+1g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592998395; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=UXFSsQuaVtXhn+4w6xUfiV8YMH0MsMlHnZf2WuTzOAw=; b=brnNPJMdmh+z93hqrKaGcli7U3LCVCcgXUvUpjSmJ9WfdHXMHT/HHtyFi5CD3h5VQW7oUMOk5tWt3qdXrCpsU5NrxjSV7a9Bk4iL8HpNiAY2IZnMRp6ETxf2vkd8i4LYrH4RqGLNFYceuG3UpAgjjON0L4oHg5PTlE62UEXVJrI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 15929983956401017.588102404552; Wed, 24 Jun 2020 04:33:15 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-462-oJ68LRPSOW6JbCSh_QRY8Q-1; Wed, 24 Jun 2020 07:31:06 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 484F718A8222; Wed, 24 Jun 2020 11:30:59 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E87587FE90; Wed, 24 Jun 2020 11:30:54 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id B996D1805313; Wed, 24 Jun 2020 11:30:54 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05OBUcLm028433 for ; Wed, 24 Jun 2020 07:30:38 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3572D79303; Wed, 24 Jun 2020 11:30:38 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-67.ams2.redhat.com [10.36.112.67]) by smtp.corp.redhat.com (Postfix) with ESMTP id D51A9512FE; Wed, 24 Jun 2020 11:30:37 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 56E7B31E59; Wed, 24 Jun 2020 13:30:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1592998394; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:content-type:content-type: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=UXFSsQuaVtXhn+4w6xUfiV8YMH0MsMlHnZf2WuTzOAw=; b=RUrGU57A/V4DeRbUb3RzzcR7H2b3XiPlDILtp8LDxyUYZHs7ceVefjoPNaLYNpKn6If9ke GWofOqsy5uR2dY/CAqW9GAdITvE2ZforQwkZTjqZvAgIZkCeMBPnb4qlrot48ehlLg/teM rmTG+Adjve/lSl3jqHVe+3vchSNQ2C0= X-MC-Unique: oJ68LRPSOW6JbCSh_QRY8Q-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v4 17/20] audio: deprecate -soundhw pcspk Date: Wed, 24 Jun 2020 13:30:23 +0200 Message-Id: <20200624113026.13343-18-kraxel@redhat.com> In-Reply-To: <20200624113026.13343-1-kraxel@redhat.com> References: <20200624113026.13343-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Cc: qemu-ppc@nongnu.org, Eduardo Habkost , "Michael S. Tsirkin" , libvir-list@redhat.com, =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Gerd Hoffmann , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add deprecation message to the audio init function. Factor out audio initialization and call that from both audio init and realize, so setting the audiodev property is enough to properly initialize pcspk. Add a property alias to the machine type to set the audio device, so pcspk can be initialized using: "-machine pcspk-audiodev=3D" Using "-global isa-pcspk.audiodev=3D" works too but is not recommended. Signed-off-by: Gerd Hoffmann --- hw/audio/pcspk.c | 24 +++++++++++++++++++++--- hw/i386/pc.c | 2 ++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c index c37a3878612e..4c7e339ac2b5 100644 --- a/hw/audio/pcspk.c +++ b/hw/audio/pcspk.c @@ -28,6 +28,7 @@ #include "audio/audio.h" #include "qemu/module.h" #include "qemu/timer.h" +#include "qemu/error-report.h" #include "hw/timer/i8254.h" #include "migration/vmstate.h" #include "hw/audio/pcspk.h" @@ -112,11 +113,15 @@ static void pcspk_callback(void *opaque, int free) } } =20 -static int pcspk_audio_init(ISABus *bus) +static int pcspk_audio_init(PCSpkState *s) { - PCSpkState *s =3D pcspk_state; struct audsettings as =3D {PCSPK_SAMPLE_RATE, 1, AUDIO_FORMAT_U8, 0}; =20 + if (s->voice) { + /* already initialized */ + return 0; + } + AUD_register_card(s_spk, &s->card); =20 s->voice =3D AUD_open_out(&s->card, s->voice, s_spk, s, pcspk_callback= , &as); @@ -185,6 +190,10 @@ static void pcspk_realizefn(DeviceState *dev, Error **= errp) =20 isa_register_ioport(isadev, &s->ioport, s->iobase); =20 + if (s->card.state) { + pcspk_audio_init(s); + } + pcspk_state =3D s; } =20 @@ -236,9 +245,18 @@ static const TypeInfo pcspk_info =3D { .class_init =3D pcspk_class_initfn, }; =20 +static int pcspk_audio_init_soundhw(ISABus *bus) +{ + PCSpkState *s =3D pcspk_state; + + warn_report("'-soundhw pcspk' is deprecated, " + "please set a backend using '-machine pcspk-audiodev=3D' instead"); + return pcspk_audio_init(s); +} + static void pcspk_register(void) { type_register_static(&pcspk_info); - isa_register_soundhw("pcspk", "PC speaker", pcspk_audio_init); + isa_register_soundhw("pcspk", "PC speaker", pcspk_audio_init_soundhw); } type_init(pcspk_register) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index f7ca8d981afa..bd393f82377f 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1913,6 +1913,8 @@ static void pc_machine_initfn(Object *obj) =20 pc_system_flash_create(pcms); pcms->pcspk =3D isa_new(TYPE_PC_SPEAKER); + object_property_add_alias(OBJECT(pcms), "pcspk-audiodev", + OBJECT(pcms->pcspk), "audiodev"); } =20 static void pc_machine_reset(MachineState *machine) --=20 2.18.4