Revision e5944641 hw/es1370.c

b/hw/es1370.c
266 266
};
267 267

  
268 268
typedef struct ES1370State {
269
    PCIDevice *pci_dev;
270

  
269
    PCIDevice dev;
271 270
    QEMUSoundCard card;
272 271
    struct chan chan[NB_CHANNELS];
273 272
    SWVoiceOut *dac_voice[2];
......
280 279
    uint32_t sctl;
281 280
} ES1370State;
282 281

  
283
typedef struct PCIES1370State {
284
    PCIDevice dev;
285
    ES1370State es1370;
286
} PCIES1370State;
287

  
288 282
struct chan_bits {
289 283
    uint32_t ctl_en;
290 284
    uint32_t stat_int;
......
327 321
    else {
328 322
        s->status = new_status & ~STAT_INTR;
329 323
    }
330
    qemu_set_irq (s->pci_dev->irq[0], !!level);
324
    qemu_set_irq (s->dev.irq[0], !!level);
331 325
}
332 326

  
333 327
static void es1370_reset (ES1370State *s)
......
353 347
            s->dac_voice[i] = NULL;
354 348
        }
355 349
    }
356
    qemu_irq_lower (s->pci_dev->irq[0]);
350
    qemu_irq_lower (s->dev.irq[0]);
357 351
}
358 352

  
359 353
static void es1370_maybe_lower_irq (ES1370State *s, uint32_t sctl)
......
915 909
static void es1370_map (PCIDevice *pci_dev, int region_num,
916 910
                        uint32_t addr, uint32_t size, int type)
917 911
{
918
    PCIES1370State *d = (PCIES1370State *) pci_dev;
919
    ES1370State *s = &d->es1370;
912
    ES1370State *s = DO_UPCAST(ES1370State, dev, pci_dev);
920 913

  
921 914
    (void) region_num;
922 915
    (void) size;
......
936 929
    ES1370State *s = opaque;
937 930
    size_t i;
938 931

  
939
    pci_device_save (s->pci_dev, f);
932
    pci_device_save (&s->dev, f);
940 933
    for (i = 0; i < NB_CHANNELS; ++i) {
941 934
        struct chan *d = &s->chan[i];
942 935
        qemu_put_be32s (f, &d->shift);
......
962 955
    if (version_id != 2)
963 956
        return -EINVAL;
964 957

  
965
    ret = pci_device_load (s->pci_dev, f);
958
    ret = pci_device_load (&s->dev, f);
966 959
    if (ret)
967 960
        return ret;
968 961

  
......
1007 1000

  
1008 1001
static void es1370_initfn(PCIDevice *dev)
1009 1002
{
1010
    PCIES1370State *d = DO_UPCAST(PCIES1370State, dev, dev);
1011
    ES1370State *s = &d->es1370;
1012
    uint8_t *c = d->dev.config;
1003
    ES1370State *s = DO_UPCAST(ES1370State, dev, dev);
1004
    uint8_t *c = s->dev.config;
1013 1005

  
1014 1006
    pci_config_set_vendor_id (c, PCI_VENDOR_ID_ENSONIQ);
1015 1007
    pci_config_set_device_id (c, PCI_DEVICE_ID_ENSONIQ_ES1370);
......
1035 1027
    c[0x3e] = 0x0c;
1036 1028
    c[0x3f] = 0x80;
1037 1029

  
1038
    s = &d->es1370;
1039
    s->pci_dev = &d->dev;
1040

  
1041
    pci_register_bar (&d->dev, 0, 256, PCI_ADDRESS_SPACE_IO, es1370_map);
1030
    pci_register_bar (&s->dev, 0, 256, PCI_ADDRESS_SPACE_IO, es1370_map);
1042 1031
    register_savevm ("es1370", 0, 2, es1370_save, es1370_load, s);
1043 1032
    qemu_register_reset (es1370_on_reset, s);
1044 1033

  
......
1055 1044
static PCIDeviceInfo es1370_info = {
1056 1045
    .qdev.name    = "ES1370",
1057 1046
    .qdev.desc    = "ENSONIQ AudioPCI ES1370",
1058
    .qdev.size    = sizeof (PCIES1370State),
1047
    .qdev.size    = sizeof (ES1370State),
1059 1048
    .init         = es1370_initfn,
1060 1049
};
1061 1050

  

Also available in: Unified diff