Revision db895a1e hw/audio/sb16.c
b/hw/audio/sb16.c | ||
---|---|---|
1356 | 1356 |
}; |
1357 | 1357 |
|
1358 | 1358 |
|
1359 |
static int sb16_initfn (ISADevice *dev)
|
|
1359 |
static void sb16_initfn (Object *obj)
|
|
1360 | 1360 |
{ |
1361 |
SB16State *s = SB16 (dev);
|
|
1361 |
SB16State *s = SB16 (obj);
|
|
1362 | 1362 |
|
1363 | 1363 |
s->cmd = -1; |
1364 |
isa_init_irq (dev, &s->pic, s->irq); |
|
1364 |
} |
|
1365 |
|
|
1366 |
static void sb16_realizefn (DeviceState *dev, Error **errp) |
|
1367 |
{ |
|
1368 |
ISADevice *isadev = ISA_DEVICE (dev); |
|
1369 |
SB16State *s = SB16 (dev); |
|
1370 |
|
|
1371 |
isa_init_irq (isadev, &s->pic, s->irq); |
|
1365 | 1372 |
|
1366 | 1373 |
s->mixer_regs[0x80] = magic_of_irq (s->irq); |
1367 | 1374 |
s->mixer_regs[0x81] = (1 << s->dma) | (1 << s->hdma); |
... | ... | |
1376 | 1383 |
dolog ("warning: Could not create auxiliary timer\n"); |
1377 | 1384 |
} |
1378 | 1385 |
|
1379 |
isa_register_portio_list (dev, s->port, sb16_ioport_list, s, "sb16"); |
|
1386 |
isa_register_portio_list (isadev, s->port, sb16_ioport_list, s, "sb16");
|
|
1380 | 1387 |
|
1381 | 1388 |
DMA_register_channel (s->hdma, SB_read_DMA, s); |
1382 | 1389 |
DMA_register_channel (s->dma, SB_read_DMA, s); |
1383 | 1390 |
s->can_write = 1; |
1384 | 1391 |
|
1385 | 1392 |
AUD_register_card ("sb16", &s->card); |
1386 |
return 0; |
|
1387 | 1393 |
} |
1388 | 1394 |
|
1389 | 1395 |
static int SB16_init (ISABus *bus) |
... | ... | |
1404 | 1410 |
static void sb16_class_initfn (ObjectClass *klass, void *data) |
1405 | 1411 |
{ |
1406 | 1412 |
DeviceClass *dc = DEVICE_CLASS (klass); |
1407 |
ISADeviceClass *ic = ISA_DEVICE_CLASS (klass); |
|
1408 |
ic->init = sb16_initfn;
|
|
1413 |
|
|
1414 |
dc->realize = sb16_realizefn;
|
|
1409 | 1415 |
dc->desc = "Creative Sound Blaster 16"; |
1410 | 1416 |
dc->vmsd = &vmstate_sb16; |
1411 | 1417 |
dc->props = sb16_properties; |
... | ... | |
1415 | 1421 |
.name = TYPE_SB16, |
1416 | 1422 |
.parent = TYPE_ISA_DEVICE, |
1417 | 1423 |
.instance_size = sizeof (SB16State), |
1424 |
.instance_init = sb16_initfn, |
|
1418 | 1425 |
.class_init = sb16_class_initfn, |
1419 | 1426 |
}; |
1420 | 1427 |
|
Also available in: Unified diff