* [Qemu-devel] [PULL 0/1] audio patch queue
@ 2014-02-24 12:22 Gerd Hoffmann
2014-02-24 12:22 ` [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups Gerd Hoffmann
2014-02-26 18:31 ` [Qemu-devel] [PULL 0/1] audio patch queue Peter Maydell
0 siblings, 2 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2014-02-24 12:22 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Hi,
Short audio patch queue, with a single cleanup patch.
please pull,
Gerd
The following changes since commit 105a060188dc6fdd4551571a966514d1a5f6815a:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140220' into staging (2014-02-21 15:04:58 +0000)
are available in the git repository at:
git://git.kraxel.org/qemu tags/pull-audio-3
for you to fetch changes up to cd6c88305f2ae8fe335a001058032e03f0ff4b4e:
hda-audio: qom cleanups (2014-02-24 10:42:09 +0100)
----------------------------------------------------------------
hda-audio: qom cleanups
----------------------------------------------------------------
Gerd Hoffmann (1):
hda-audio: qom cleanups
hw/audio/hda-codec.c | 60 ++++++++++++++++++++++++++++------------------------
1 file changed, 32 insertions(+), 28 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups
2014-02-24 12:22 [Qemu-devel] [PULL 0/1] audio patch queue Gerd Hoffmann
@ 2014-02-24 12:22 ` Gerd Hoffmann
2014-02-24 12:32 ` Andreas Färber
2014-02-26 18:31 ` [Qemu-devel] [PULL 0/1] audio patch queue Peter Maydell
1 sibling, 1 reply; 7+ messages in thread
From: Gerd Hoffmann @ 2014-02-24 12:22 UTC (permalink / raw)
To: qemu-devel; +Cc: Vassili Karpov (malc), Gerd Hoffmann, Andreas Färber
Add HDA_AUDIO type and macro, drop DO_UPCAST().
Had to add a abstract hda audio class as parent
for all hda-* variants to make that fly. Killed
some init code duplication while being at it.
Cc: Andreas Färber <afaerber@suse.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/audio/hda-codec.c | 60 ++++++++++++++++++++++++++++------------------------
1 file changed, 32 insertions(+), 28 deletions(-)
diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c
index 986f2a9..a67ca91 100644
--- a/hw/audio/hda-codec.c
+++ b/hw/audio/hda-codec.c
@@ -157,6 +157,9 @@ struct HDAAudioStream {
uint32_t bpos;
};
+#define TYPE_HDA_AUDIO "hda-audio"
+#define HDA_AUDIO(obj) OBJECT_CHECK(HDAAudioState, (obj), TYPE_HDA_AUDIO)
+
struct HDAAudioState {
HDACodecDevice hda;
const char *name;
@@ -288,7 +291,7 @@ static void hda_audio_setup(HDAAudioStream *st)
static void hda_audio_command(HDACodecDevice *hda, uint32_t nid, uint32_t data)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
HDAAudioStream *st;
const desc_node *node = NULL;
const desc_param *param;
@@ -448,7 +451,7 @@ fail:
static void hda_audio_stream(HDACodecDevice *hda, uint32_t stnr, bool running, bool output)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
int s;
a->running_compat[stnr] = running;
@@ -469,7 +472,7 @@ static void hda_audio_stream(HDACodecDevice *hda, uint32_t stnr, bool running, b
static int hda_audio_init(HDACodecDevice *hda, const struct desc_codec *desc)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
HDAAudioStream *st;
const desc_node *node;
const desc_param *param;
@@ -514,7 +517,7 @@ static int hda_audio_init(HDACodecDevice *hda, const struct desc_codec *desc)
static int hda_audio_exit(HDACodecDevice *hda)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
HDAAudioStream *st;
int i;
@@ -561,7 +564,7 @@ static int hda_audio_post_load(void *opaque, int version)
static void hda_audio_reset(DeviceState *dev)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda.qdev, dev);
+ HDAAudioState *a = HDA_AUDIO(dev);
HDAAudioStream *st;
int i;
@@ -613,7 +616,7 @@ static Property hda_audio_properties[] = {
static int hda_audio_init_output(HDACodecDevice *hda)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
if (!a->mixer) {
return hda_audio_init(hda, &output_nomixemu);
@@ -624,7 +627,7 @@ static int hda_audio_init_output(HDACodecDevice *hda)
static int hda_audio_init_duplex(HDACodecDevice *hda)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
if (!a->mixer) {
return hda_audio_init(hda, &duplex_nomixemu);
@@ -635,7 +638,7 @@ static int hda_audio_init_duplex(HDACodecDevice *hda)
static int hda_audio_init_micro(HDACodecDevice *hda)
{
- HDAAudioState *a = DO_UPCAST(HDAAudioState, hda, hda);
+ HDAAudioState *a = HDA_AUDIO(hda);
if (!a->mixer) {
return hda_audio_init(hda, µ_nomixemu);
@@ -644,25 +647,39 @@ static int hda_audio_init_micro(HDACodecDevice *hda)
}
}
-static void hda_audio_output_class_init(ObjectClass *klass, void *data)
+static void hda_audio_base_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
HDACodecDeviceClass *k = HDA_CODEC_DEVICE_CLASS(klass);
- k->init = hda_audio_init_output;
k->exit = hda_audio_exit;
k->command = hda_audio_command;
k->stream = hda_audio_stream;
set_bit(DEVICE_CATEGORY_SOUND, dc->categories);
- dc->desc = "HDA Audio Codec, output-only (line-out)";
dc->reset = hda_audio_reset;
dc->vmsd = &vmstate_hda_audio;
dc->props = hda_audio_properties;
}
+static const TypeInfo hda_audio_info = {
+ .name = TYPE_HDA_AUDIO,
+ .parent = TYPE_HDA_CODEC_DEVICE,
+ .class_init = hda_audio_base_class_init,
+ .abstract = true,
+};
+
+static void hda_audio_output_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ HDACodecDeviceClass *k = HDA_CODEC_DEVICE_CLASS(klass);
+
+ k->init = hda_audio_init_output;
+ dc->desc = "HDA Audio Codec, output-only (line-out)";
+}
+
static const TypeInfo hda_audio_output_info = {
.name = "hda-output",
- .parent = TYPE_HDA_CODEC_DEVICE,
+ .parent = TYPE_HDA_AUDIO,
.instance_size = sizeof(HDAAudioState),
.class_init = hda_audio_output_class_init,
};
@@ -673,19 +690,12 @@ static void hda_audio_duplex_class_init(ObjectClass *klass, void *data)
HDACodecDeviceClass *k = HDA_CODEC_DEVICE_CLASS(klass);
k->init = hda_audio_init_duplex;
- k->exit = hda_audio_exit;
- k->command = hda_audio_command;
- k->stream = hda_audio_stream;
- set_bit(DEVICE_CATEGORY_SOUND, dc->categories);
dc->desc = "HDA Audio Codec, duplex (line-out, line-in)";
- dc->reset = hda_audio_reset;
- dc->vmsd = &vmstate_hda_audio;
- dc->props = hda_audio_properties;
}
static const TypeInfo hda_audio_duplex_info = {
.name = "hda-duplex",
- .parent = TYPE_HDA_CODEC_DEVICE,
+ .parent = TYPE_HDA_AUDIO,
.instance_size = sizeof(HDAAudioState),
.class_init = hda_audio_duplex_class_init,
};
@@ -696,25 +706,19 @@ static void hda_audio_micro_class_init(ObjectClass *klass, void *data)
HDACodecDeviceClass *k = HDA_CODEC_DEVICE_CLASS(klass);
k->init = hda_audio_init_micro;
- k->exit = hda_audio_exit;
- k->command = hda_audio_command;
- k->stream = hda_audio_stream;
- set_bit(DEVICE_CATEGORY_SOUND, dc->categories);
dc->desc = "HDA Audio Codec, duplex (speaker, microphone)";
- dc->reset = hda_audio_reset;
- dc->vmsd = &vmstate_hda_audio;
- dc->props = hda_audio_properties;
}
static const TypeInfo hda_audio_micro_info = {
.name = "hda-micro",
- .parent = TYPE_HDA_CODEC_DEVICE,
+ .parent = TYPE_HDA_AUDIO,
.instance_size = sizeof(HDAAudioState),
.class_init = hda_audio_micro_class_init,
};
static void hda_audio_register_types(void)
{
+ type_register_static(&hda_audio_info);
type_register_static(&hda_audio_output_info);
type_register_static(&hda_audio_duplex_info);
type_register_static(&hda_audio_micro_info);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups
2014-02-24 12:22 ` [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups Gerd Hoffmann
@ 2014-02-24 12:32 ` Andreas Färber
2014-02-24 12:40 ` Gerd Hoffmann
0 siblings, 1 reply; 7+ messages in thread
From: Andreas Färber @ 2014-02-24 12:32 UTC (permalink / raw)
To: Gerd Hoffmann, qemu-devel; +Cc: Vassili Karpov (malc)
Am 24.02.2014 13:22, schrieb Gerd Hoffmann:
> Add HDA_AUDIO type and macro, drop DO_UPCAST().
>
> Had to add a abstract hda audio class as parent
> for all hda-* variants to make that fly. Killed
> some init code duplication while being at it.
>
> Cc: Andreas Färber <afaerber@suse.de>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> hw/audio/hda-codec.c | 60 ++++++++++++++++++++++++++++------------------------
> 1 file changed, 32 insertions(+), 28 deletions(-)
Looks good, including introduction of a base type, thanks for cleaning
this up. These devices are not used by default, right? Have you been
considering writing qtests for them or would you rather have me prepare
something?
Cheers,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups
2014-02-24 12:32 ` Andreas Färber
@ 2014-02-24 12:40 ` Gerd Hoffmann
0 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2014-02-24 12:40 UTC (permalink / raw)
To: Andreas Färber; +Cc: Vassili Karpov (malc), qemu-devel
On Mo, 2014-02-24 at 13:32 +0100, Andreas Färber wrote:
> Am 24.02.2014 13:22, schrieb Gerd Hoffmann:
> > Add HDA_AUDIO type and macro, drop DO_UPCAST().
> >
> > Had to add a abstract hda audio class as parent
> > for all hda-* variants to make that fly. Killed
> > some init code duplication while being at it.
> >
> > Cc: Andreas Färber <afaerber@suse.de>
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> > hw/audio/hda-codec.c | 60 ++++++++++++++++++++++++++++------------------------
> > 1 file changed, 32 insertions(+), 28 deletions(-)
>
> Looks good, including introduction of a base type, thanks for cleaning
> this up. These devices are not used by default, right?
Correct. Same applied to all other (pc) sound devices, we have no sound
card added by default.
> or would you rather have me prepare
> something?
That would be great.
thanks,
Gerd
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] audio patch queue
2014-02-24 12:22 [Qemu-devel] [PULL 0/1] audio patch queue Gerd Hoffmann
2014-02-24 12:22 ` [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups Gerd Hoffmann
@ 2014-02-26 18:31 ` Peter Maydell
1 sibling, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2014-02-26 18:31 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: QEMU Developers
On 24 February 2014 12:22, Gerd Hoffmann <kraxel@redhat.com> wrote:
> Hi,
>
> Short audio patch queue, with a single cleanup patch.
>
> please pull,
> Gerd
>
> The following changes since commit 105a060188dc6fdd4551571a966514d1a5f6815a:
>
> Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140220' into staging (2014-02-21 15:04:58 +0000)
>
> are available in the git repository at:
>
>
> git://git.kraxel.org/qemu tags/pull-audio-3
>
> for you to fetch changes up to cd6c88305f2ae8fe335a001058032e03f0ff4b4e:
>
> hda-audio: qom cleanups (2014-02-24 10:42:09 +0100)
Applied, thanks
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 0/1] audio patch queue
@ 2014-09-30 11:33 Gerd Hoffmann
2014-09-30 14:46 ` Peter Maydell
0 siblings, 1 reply; 7+ messages in thread
From: Gerd Hoffmann @ 2014-09-30 11:33 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Hi,
pretty short, with a single ac97 fix.
please pull,
Gerd
The following changes since commit 81ab11a7a524d12412a59ef49c6b270671e62ea0:
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2014-09-26 15:41:50 +0100)
are available in the git repository at:
git://git.kraxel.org/qemu tags/pull-audio-20140930-1
for you to fetch changes up to 133771477c39f3716d9a85609aca0d3e5a77c55c:
ac97: register reset via qom (2014-09-29 10:20:05 +0200)
----------------------------------------------------------------
ac97: register reset via qom
----------------------------------------------------------------
Gerd Hoffmann (1):
ac97: register reset via qom
hw/audio/ac97.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/1] audio patch queue
2014-09-30 11:33 Gerd Hoffmann
@ 2014-09-30 14:46 ` Peter Maydell
0 siblings, 0 replies; 7+ messages in thread
From: Peter Maydell @ 2014-09-30 14:46 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: QEMU Developers
On 30 September 2014 12:33, Gerd Hoffmann <kraxel@redhat.com> wrote:
> Hi,
>
> pretty short, with a single ac97 fix.
>
> please pull,
> Gerd
>
> The following changes since commit 81ab11a7a524d12412a59ef49c6b270671e62ea0:
>
> Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2014-09-26 15:41:50 +0100)
>
> are available in the git repository at:
>
>
> git://git.kraxel.org/qemu tags/pull-audio-20140930-1
>
> for you to fetch changes up to 133771477c39f3716d9a85609aca0d3e5a77c55c:
>
> ac97: register reset via qom (2014-09-29 10:20:05 +0200)
>
> ----------------------------------------------------------------
> ac97: register reset via qom
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-09-30 14:47 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-24 12:22 [Qemu-devel] [PULL 0/1] audio patch queue Gerd Hoffmann
2014-02-24 12:22 ` [Qemu-devel] [PULL 1/1] hda-audio: qom cleanups Gerd Hoffmann
2014-02-24 12:32 ` Andreas Färber
2014-02-24 12:40 ` Gerd Hoffmann
2014-02-26 18:31 ` [Qemu-devel] [PULL 0/1] audio patch queue Peter Maydell
-- strict thread matches above, loose matches on Subject: below --
2014-09-30 11:33 Gerd Hoffmann
2014-09-30 14:46 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).