Revision a3dcca56 hw/audio/cs4231a.c
b/hw/audio/cs4231a.c | ||
---|---|---|
56 | 56 |
#define CS_REGS 16 |
57 | 57 |
#define CS_DREGS 32 |
58 | 58 |
|
59 |
#define TYPE_CS4231A "cs4231a" |
|
60 |
#define CS4231A(obj) OBJECT_CHECK (CSState, (obj), TYPE_CS4231A) |
|
61 |
|
|
59 | 62 |
typedef struct CSState { |
60 | 63 |
ISADevice dev; |
61 | 64 |
QEMUSoundCard card; |
... | ... | |
208 | 211 |
944, 912, 1008, 976, 816, 784, 880, 848 |
209 | 212 |
}; |
210 | 213 |
|
211 |
static void cs_reset (void *opaque)
|
|
214 |
static void cs4231a_reset (DeviceState *dev)
|
|
212 | 215 |
{ |
213 |
CSState *s = opaque;
|
|
216 |
CSState *s = CS4231A (dev);
|
|
214 | 217 |
|
215 | 218 |
s->regs[Index_Address] = 0x40; |
216 | 219 |
s->regs[Index_Data] = 0x00; |
... | ... | |
643 | 646 |
|
644 | 647 |
static int cs4231a_initfn (ISADevice *dev) |
645 | 648 |
{ |
646 |
CSState *s = DO_UPCAST (CSState, dev, dev);
|
|
649 |
CSState *s = CS4231A (dev);
|
|
647 | 650 |
|
648 | 651 |
isa_init_irq (dev, &s->pic, s->irq); |
649 | 652 |
|
... | ... | |
652 | 655 |
|
653 | 656 |
DMA_register_channel (s->dma, cs_dma_read, s); |
654 | 657 |
|
655 |
qemu_register_reset (cs_reset, s); |
|
656 |
cs_reset (s); |
|
657 |
|
|
658 | 658 |
AUD_register_card ("cs4231a", &s->card); |
659 | 659 |
return 0; |
660 | 660 |
} |
661 | 661 |
|
662 | 662 |
static int cs4231a_init (ISABus *bus) |
663 | 663 |
{ |
664 |
isa_create_simple (bus, "cs4231a");
|
|
664 |
isa_create_simple (bus, TYPE_CS4231A);
|
|
665 | 665 |
return 0; |
666 | 666 |
} |
667 | 667 |
|
... | ... | |
677 | 677 |
DeviceClass *dc = DEVICE_CLASS (klass); |
678 | 678 |
ISADeviceClass *ic = ISA_DEVICE_CLASS (klass); |
679 | 679 |
ic->init = cs4231a_initfn; |
680 |
dc->reset = cs4231a_reset; |
|
680 | 681 |
dc->desc = "Crystal Semiconductor CS4231A"; |
681 | 682 |
dc->vmsd = &vmstate_cs4231a; |
682 | 683 |
dc->props = cs4231a_properties; |
683 | 684 |
} |
684 | 685 |
|
685 | 686 |
static const TypeInfo cs4231a_info = { |
686 |
.name = "cs4231a",
|
|
687 |
.name = TYPE_CS4231A,
|
|
687 | 688 |
.parent = TYPE_ISA_DEVICE, |
688 | 689 |
.instance_size = sizeof (CSState), |
689 | 690 |
.class_init = cs4231a_class_initfn, |
Also available in: Unified diff