[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC/RFT PATCH v1 1/2] audio/intel-hda: Fix Inheritance
From: |
Peter Crosthwaite |
Subject: |
Re: [Qemu-devel] [RFC/RFT PATCH v1 1/2] audio/intel-hda: Fix Inheritance hierachy |
Date: |
Thu, 6 Jun 2013 15:14:45 +1000 |
This is missing a hunk
@@ -1329,6 +1329,7 @@ static int intel_hda_and_codec_init(PCIBus *bus)
static void intel_hda_register_types(void)
{
type_register_static(&hda_codec_bus_info);
+ type_register_static(&intel_hda_info);
type_register_static(&intel_hda_info_ich6);
type_register_static(&intel_hda_info_ich9);
type_register_static(&hda_codec_device_type_info);
On Fri, May 24, 2013 at 4:23 PM, <address@hidden> wrote:
> From: Peter Crosthwaite <address@hidden>
>
> The ich6 and ich9 variants either need to inherit one from the other,
> or both from a common base class, otherwise its not possible to create
> a QOM cast macro for use by the shared implementation functions.
> Went for option B, with a common base class.
>
> Signed-off-by: Peter Crosthwaite <address@hidden>
> ---
>
> hw/audio/intel-hda.c | 20 +++++++++++++-------
> 1 file changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
> index 1016af0..8a34337 100644
> --- a/hw/audio/intel-hda.c
> +++ b/hw/audio/intel-hda.c
> @@ -189,6 +189,8 @@ struct IntelHDAState {
> uint32_t msi;
> };
>
> +#define TYPE_INTEL_HDA_GENERIC "intel-hda-generic"
> +
> struct IntelHDAReg {
> const char *name; /* register name */
> uint32_t size; /* size in bytes */
> @@ -1232,7 +1234,7 @@ static Property intel_hda_properties[] = {
> DEFINE_PROP_END_OF_LIST(),
> };
>
> -static void intel_hda_class_init_common(ObjectClass *klass)
> +static void intel_hda_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
> PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
> @@ -1251,7 +1253,6 @@ static void intel_hda_class_init_ich6(ObjectClass
> *klass, void *data)
> DeviceClass *dc = DEVICE_CLASS(klass);
> PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>
> - intel_hda_class_init_common(klass);
> k->device_id = 0x2668;
> k->revision = 1;
> dc->desc = "Intel HD Audio Controller (ich6)";
> @@ -1262,23 +1263,28 @@ static void intel_hda_class_init_ich9(ObjectClass
> *klass, void *data)
> DeviceClass *dc = DEVICE_CLASS(klass);
> PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>
> - intel_hda_class_init_common(klass);
> k->device_id = 0x293e;
> k->revision = 3;
> dc->desc = "Intel HD Audio Controller (ich9)";
> }
>
> -static const TypeInfo intel_hda_info_ich6 = {
> - .name = "intel-hda",
> +static const TypeInfo intel_hda_info = {
> + .name = TYPE_INTEL_HDA_GENERIC,
> .parent = TYPE_PCI_DEVICE,
> .instance_size = sizeof(IntelHDAState),
> + .class_init = intel_hda_class_init,
> + .abstract = true,
> +};
> +
> +static const TypeInfo intel_hda_info_ich6 = {
> + .name = "intel-hda",
> + .parent = TYPE_INTEL_HDA_GENERIC,
> .class_init = intel_hda_class_init_ich6,
> };
>
> static const TypeInfo intel_hda_info_ich9 = {
> .name = "ich9-intel-hda",
> - .parent = TYPE_PCI_DEVICE,
> - .instance_size = sizeof(IntelHDAState),
> + .parent = TYPE_INTEL_HDA_GENERIC,
> .class_init = intel_hda_class_init_ich9,
> };
>
> --
> 1.8.3.rc1.44.gb387c77.dirty
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [RFC/RFT PATCH v1 1/2] audio/intel-hda: Fix Inheritance hierachy,
Peter Crosthwaite <=