Revision db895a1e hw/audio/cs4231a.c
b/hw/audio/cs4231a.c | ||
---|---|---|
644 | 644 |
} |
645 | 645 |
}; |
646 | 646 |
|
647 |
static int cs4231a_initfn (ISADevice *dev)
|
|
647 |
static void cs4231a_initfn (Object *obj)
|
|
648 | 648 |
{ |
649 |
CSState *s = CS4231A (obj); |
|
650 |
|
|
651 |
memory_region_init_io (&s->ioports, &cs_ioport_ops, s, "cs4231a", 4); |
|
652 |
} |
|
653 |
|
|
654 |
static void cs4231a_realizefn (DeviceState *dev, Error **errp) |
|
655 |
{ |
|
656 |
ISADevice *d = ISA_DEVICE (dev); |
|
649 | 657 |
CSState *s = CS4231A (dev); |
650 | 658 |
|
651 |
isa_init_irq (dev, &s->pic, s->irq);
|
|
659 |
isa_init_irq (d, &s->pic, s->irq); |
|
652 | 660 |
|
653 |
memory_region_init_io (&s->ioports, &cs_ioport_ops, s, "cs4231a", 4); |
|
654 |
isa_register_ioport (dev, &s->ioports, s->port); |
|
661 |
isa_register_ioport (d, &s->ioports, s->port); |
|
655 | 662 |
|
656 | 663 |
DMA_register_channel (s->dma, cs_dma_read, s); |
657 | 664 |
|
658 | 665 |
AUD_register_card ("cs4231a", &s->card); |
659 |
return 0; |
|
660 | 666 |
} |
661 | 667 |
|
662 | 668 |
static int cs4231a_init (ISABus *bus) |
... | ... | |
675 | 681 |
static void cs4231a_class_initfn (ObjectClass *klass, void *data) |
676 | 682 |
{ |
677 | 683 |
DeviceClass *dc = DEVICE_CLASS (klass); |
678 |
ISADeviceClass *ic = ISA_DEVICE_CLASS (klass); |
|
679 |
ic->init = cs4231a_initfn;
|
|
684 |
|
|
685 |
dc->realize = cs4231a_realizefn;
|
|
680 | 686 |
dc->reset = cs4231a_reset; |
681 | 687 |
dc->desc = "Crystal Semiconductor CS4231A"; |
682 | 688 |
dc->vmsd = &vmstate_cs4231a; |
... | ... | |
687 | 693 |
.name = TYPE_CS4231A, |
688 | 694 |
.parent = TYPE_ISA_DEVICE, |
689 | 695 |
.instance_size = sizeof (CSState), |
696 |
.instance_init = cs4231a_initfn, |
|
690 | 697 |
.class_init = cs4231a_class_initfn, |
691 | 698 |
}; |
692 | 699 |
|
Also available in: Unified diff