Revision 22d83b14
b/hw/ac97.c | ||
---|---|---|
1308 | 1308 |
mixer_reset (s); |
1309 | 1309 |
} |
1310 | 1310 |
|
1311 |
int ac97_init (PCIBus *bus, AudioState *audio)
|
|
1311 |
int ac97_init (PCIBus *bus) |
|
1312 | 1312 |
{ |
1313 |
AudioState *audio = AUD_init(); |
|
1313 | 1314 |
PCIAC97LinkState *d; |
1314 | 1315 |
AC97LinkState *s; |
1315 | 1316 |
uint8_t *c; |
... | ... | |
1319 | 1320 |
return -1; |
1320 | 1321 |
} |
1321 | 1322 |
|
1322 |
if (!audio) { |
|
1323 |
AUD_log ("ac97", "No audio state\n"); |
|
1324 |
return -1; |
|
1325 |
} |
|
1326 |
|
|
1327 | 1323 |
d = (PCIAC97LinkState *) pci_register_device (bus, "AC97", |
1328 | 1324 |
sizeof (PCIAC97LinkState), |
1329 | 1325 |
-1, NULL, NULL); |
b/hw/adlib.c | ||
---|---|---|
277 | 277 |
AUD_remove_card (&s->card); |
278 | 278 |
} |
279 | 279 |
|
280 |
int Adlib_init (AudioState *audio, qemu_irq *pic)
|
|
280 |
int Adlib_init (qemu_irq *pic) |
|
281 | 281 |
{ |
282 |
AudioState *audio = AUD_init(); |
|
282 | 283 |
AdlibState *s = &glob_adlib; |
283 | 284 |
struct audsettings as; |
284 | 285 |
|
285 |
if (!audio) { |
|
286 |
dolog ("No audio state\n"); |
|
287 |
return -1; |
|
288 |
} |
|
289 |
|
|
290 | 286 |
#ifdef HAS_YMF262 |
291 | 287 |
if (YMF262Init (1, 14318180, conf.freq)) { |
292 | 288 |
dolog ("YMF262Init %d failed\n", conf.freq); |
b/hw/audiodev.h | ||
---|---|---|
1 | 1 |
/* es1370.c */ |
2 |
int es1370_init (PCIBus *bus, AudioState *s);
|
|
2 |
int es1370_init(PCIBus *bus);
|
|
3 | 3 |
|
4 | 4 |
/* sb16.c */ |
5 |
int SB16_init (AudioState *s, qemu_irq *pic);
|
|
5 |
int SB16_init(qemu_irq *pic);
|
|
6 | 6 |
|
7 | 7 |
/* adlib.c */ |
8 |
int Adlib_init (AudioState *s, qemu_irq *pic);
|
|
8 |
int Adlib_init(qemu_irq *pic);
|
|
9 | 9 |
|
10 | 10 |
/* gus.c */ |
11 |
int GUS_init (AudioState *s, qemu_irq *pic);
|
|
11 |
int GUS_init(qemu_irq *pic);
|
|
12 | 12 |
|
13 | 13 |
/* ac97.c */ |
14 |
int ac97_init (PCIBus *buf, AudioState *s);
|
|
14 |
int ac97_init(PCIBus *buf);
|
|
15 | 15 |
|
16 | 16 |
/* cs4231a.c */ |
17 |
int cs4231a_init (AudioState *s, qemu_irq *pic); |
|
17 |
int cs4231a_init(qemu_irq *pic); |
b/hw/cs4231a.c | ||
---|---|---|
636 | 636 |
return 0; |
637 | 637 |
} |
638 | 638 |
|
639 |
int cs4231a_init (AudioState *audio, qemu_irq *pic)
|
|
639 |
int cs4231a_init (qemu_irq *pic) |
|
640 | 640 |
{ |
641 |
AudioState *audio = AUD_init(); |
|
641 | 642 |
int i; |
642 | 643 |
CSState *s; |
643 | 644 |
|
644 |
if (!audio) { |
|
645 |
lerr ("No audio state\n"); |
|
646 |
return -1; |
|
647 |
} |
|
648 |
|
|
649 | 645 |
s = qemu_mallocz (sizeof (*s)); |
650 | 646 |
|
651 | 647 |
s->pic = pic; |
b/hw/devices.h | ||
---|---|---|
17 | 17 |
ADS7846State *ads7846_init(qemu_irq penirq); |
18 | 18 |
|
19 | 19 |
/* tsc210x.c */ |
20 |
uWireSlave *tsc2102_init(qemu_irq pint, AudioState *audio); |
|
21 |
uWireSlave *tsc2301_init(qemu_irq penirq, qemu_irq kbirq, |
|
22 |
qemu_irq dav, AudioState *audio); |
|
20 |
uWireSlave *tsc2102_init(qemu_irq pint); |
|
21 |
uWireSlave *tsc2301_init(qemu_irq penirq, qemu_irq kbirq, qemu_irq dav); |
|
23 | 22 |
I2SCodec *tsc210x_codec(uWireSlave *chip); |
24 | 23 |
uint32_t tsc210x_txrx(void *opaque, uint32_t value, int len); |
25 | 24 |
void tsc210x_set_transform(uWireSlave *chip, |
b/hw/es1370.c | ||
---|---|---|
1005 | 1005 |
es1370_reset (s); |
1006 | 1006 |
} |
1007 | 1007 |
|
1008 |
int es1370_init (PCIBus *bus, AudioState *audio)
|
|
1008 |
int es1370_init (PCIBus *bus) |
|
1009 | 1009 |
{ |
1010 |
AudioState *audio = AUD_init(); |
|
1010 | 1011 |
PCIES1370State *d; |
1011 | 1012 |
ES1370State *s; |
1012 | 1013 |
uint8_t *c; |
... | ... | |
1016 | 1017 |
return -1; |
1017 | 1018 |
} |
1018 | 1019 |
|
1019 |
if (!audio) { |
|
1020 |
dolog ("No audio state\n"); |
|
1021 |
return -1; |
|
1022 |
} |
|
1023 |
|
|
1024 | 1020 |
d = (PCIES1370State *) pci_register_device (bus, "ES1370", |
1025 | 1021 |
sizeof (PCIES1370State), |
1026 | 1022 |
-1, NULL, NULL); |
b/hw/gus.c | ||
---|---|---|
250 | 250 |
return 0; |
251 | 251 |
} |
252 | 252 |
|
253 |
int GUS_init (AudioState *audio, qemu_irq *pic)
|
|
253 |
int GUS_init (qemu_irq *pic) |
|
254 | 254 |
{ |
255 |
AudioState *audio = AUD_init(); |
|
255 | 256 |
GUSState *s; |
256 | 257 |
struct audsettings as; |
257 | 258 |
|
258 |
if (!audio) { |
|
259 |
dolog ("No audio state\n"); |
|
260 |
return -1; |
|
261 |
} |
|
262 |
|
|
263 | 259 |
s = qemu_mallocz (sizeof (*s)); |
264 | 260 |
|
265 | 261 |
AUD_register_card (audio, "gus", &s->card); |
b/hw/i2c.h | ||
---|---|---|
60 | 60 |
void max7310_gpio_out_set(i2c_slave *i2c, int line, qemu_irq handler); |
61 | 61 |
|
62 | 62 |
/* wm8750.c */ |
63 |
i2c_slave *wm8750_init(i2c_bus *bus, AudioState *audio);
|
|
63 |
i2c_slave *wm8750_init(i2c_bus *bus); |
|
64 | 64 |
void wm8750_reset(i2c_slave *i2c); |
65 | 65 |
void wm8750_data_req_set(i2c_slave *i2c, |
66 | 66 |
void (*data_req)(void *, int, int), void *opaque); |
b/hw/mips_jazz.c | ||
---|---|---|
104 | 104 |
} |
105 | 105 |
|
106 | 106 |
if (audio_enabled) { |
107 |
AudioState *s; |
|
108 |
|
|
109 |
s = AUD_init(); |
|
110 | 107 |
for (c = soundhw; c->name; ++c) { |
111 | 108 |
if (c->enabled) { |
112 | 109 |
if (c->isa) { |
113 |
c->init.init_isa(s, pic);
|
|
110 |
c->init.init_isa(pic); |
|
114 | 111 |
} |
115 | 112 |
} |
116 | 113 |
} |
b/hw/mips_malta.c | ||
---|---|---|
469 | 469 |
} |
470 | 470 |
|
471 | 471 |
if (audio_enabled) { |
472 |
AudioState *s; |
|
473 |
|
|
474 |
s = AUD_init (); |
|
475 | 472 |
for (c = soundhw; c->name; ++c) { |
476 | 473 |
if (c->enabled) { |
477 |
c->init.init_pci (pci_bus, s);
|
|
474 |
c->init.init_pci(pci_bus);
|
|
478 | 475 |
} |
479 | 476 |
} |
480 | 477 |
} |
b/hw/musicpal.c | ||
---|---|---|
422 | 422 |
|
423 | 423 |
static i2c_interface *musicpal_audio_init(qemu_irq irq) |
424 | 424 |
{ |
425 |
AudioState *audio; |
|
426 | 425 |
musicpal_audio_state *s; |
427 | 426 |
i2c_interface *i2c; |
428 | 427 |
int iomemtype; |
429 | 428 |
|
430 |
audio = AUD_init(); |
|
431 |
|
|
432 | 429 |
s = qemu_mallocz(sizeof(musicpal_audio_state)); |
433 | 430 |
s->irq = irq; |
434 | 431 |
|
... | ... | |
436 | 433 |
i2c->bus = i2c_init_bus(); |
437 | 434 |
i2c->current_addr = -1; |
438 | 435 |
|
439 |
s->wm = wm8750_init(i2c->bus, audio);
|
|
436 |
s->wm = wm8750_init(i2c->bus); |
|
440 | 437 |
if (!s->wm) |
441 | 438 |
return NULL; |
442 | 439 |
i2c_set_slave_address(s->wm, MP_WM_ADDR); |
b/hw/nseries.c | ||
---|---|---|
252 | 252 |
qemu_irq kbirq = omap2_gpio_in_get(s->cpu->gpif, N800_TSC_KP_IRQ_GPIO)[0]; |
253 | 253 |
qemu_irq dav = omap2_gpio_in_get(s->cpu->gpif, N800_TSC_TS_GPIO)[0]; |
254 | 254 |
|
255 |
s->ts.chip = tsc2301_init(penirq, kbirq, dav, 0);
|
|
255 |
s->ts.chip = tsc2301_init(penirq, kbirq, dav); |
|
256 | 256 |
s->ts.opaque = s->ts.chip->opaque; |
257 | 257 |
s->ts.txrx = tsc210x_txrx; |
258 | 258 |
|
b/hw/omap2.c | ||
---|---|---|
1973 | 1973 |
omap_eac_reset(s); |
1974 | 1974 |
|
1975 | 1975 |
#ifdef HAS_AUDIO |
1976 |
/* TODO: do AUD_init globally for machine */ |
|
1977 | 1976 |
AUD_register_card(AUD_init(), "OMAP EAC", &s->codec.card); |
1978 | 1977 |
|
1979 | 1978 |
iomemtype = cpu_register_io_memory(0, omap_eac_readfn, |
b/hw/palm.c | ||
---|---|---|
93 | 93 |
static void palmte_microwire_setup(struct omap_mpu_state_s *cpu) |
94 | 94 |
{ |
95 | 95 |
uWireSlave *tsc; |
96 |
AudioState *audio = 0; |
|
97 | 96 |
|
98 |
#ifdef HAS_AUDIO |
|
99 |
audio = AUD_init(); |
|
100 |
#endif |
|
101 |
|
|
102 |
tsc = tsc2102_init(omap_gpio_in_get(cpu->gpio)[PALMTE_PINTDAV_GPIO], |
|
103 |
audio); |
|
97 |
tsc = tsc2102_init(omap_gpio_in_get(cpu->gpio)[PALMTE_PINTDAV_GPIO]); |
|
104 | 98 |
|
105 | 99 |
omap_uwire_attach(cpu->microwire, tsc, 0); |
106 | 100 |
omap_mcbsp_i2s_attach(cpu->mcbsp1, tsc210x_codec(tsc)); |
b/hw/pc.c | ||
---|---|---|
788 | 788 |
} |
789 | 789 |
|
790 | 790 |
if (audio_enabled) { |
791 |
AudioState *s; |
|
792 |
|
|
793 |
s = AUD_init (); |
|
794 | 791 |
for (c = soundhw; c->name; ++c) { |
795 | 792 |
if (c->enabled) { |
796 | 793 |
if (c->isa) { |
797 |
c->init.init_isa (s, pic); |
|
798 |
} |
|
799 |
else { |
|
794 |
c->init.init_isa(pic); |
|
795 |
} else { |
|
800 | 796 |
if (pci_bus) { |
801 |
c->init.init_pci (pci_bus, s);
|
|
797 |
c->init.init_pci(pci_bus);
|
|
802 | 798 |
} |
803 | 799 |
} |
804 | 800 |
} |
b/hw/pc.h | ||
---|---|---|
119 | 119 |
|
120 | 120 |
/* pcspk.c */ |
121 | 121 |
void pcspk_init(PITState *); |
122 |
int pcspk_audio_init(AudioState *, qemu_irq *pic);
|
|
122 |
int pcspk_audio_init(qemu_irq *pic); |
|
123 | 123 |
|
124 | 124 |
/* piix_pci.c */ |
125 | 125 |
PCIBus *i440fx_init(PCIDevice **pi440fx_state, qemu_irq *pic); |
b/hw/pcspk.c | ||
---|---|---|
96 | 96 |
} |
97 | 97 |
} |
98 | 98 |
|
99 |
int pcspk_audio_init(AudioState *audio, qemu_irq *pic)
|
|
99 |
int pcspk_audio_init(qemu_irq *pic) |
|
100 | 100 |
{ |
101 |
AudioState *audio = AUD_init(); |
|
101 | 102 |
PCSpkState *s = &pcspk_state; |
102 | 103 |
struct audsettings as = {PCSPK_SAMPLE_RATE, 1, AUD_FMT_U8, 0}; |
103 | 104 |
|
104 |
if (!audio) { |
|
105 |
AUD_log(s_spk, "No audio state\n"); |
|
106 |
return -1; |
|
107 |
} |
|
108 | 105 |
AUD_register_card(audio, s_spk, &s->card); |
109 | 106 |
|
110 | 107 |
s->voice = AUD_open_out(&s->card, s->voice, s_spk, s, pcspk_callback, &as); |
b/hw/ppc_prep.c | ||
---|---|---|
696 | 696 |
} |
697 | 697 |
i8042_init(i8259[1], i8259[12], 0x60); |
698 | 698 |
DMA_init(1); |
699 |
// AUD_init(); |
|
700 | 699 |
// SB16_init(); |
701 | 700 |
|
702 | 701 |
for(i = 0; i < MAX_FD; i++) { |
b/hw/sb16.c | ||
---|---|---|
1398 | 1398 |
return 0; |
1399 | 1399 |
} |
1400 | 1400 |
|
1401 |
int SB16_init (AudioState *audio, qemu_irq *pic)
|
|
1401 |
int SB16_init (qemu_irq *pic) |
|
1402 | 1402 |
{ |
1403 |
AudioState *audio = AUD_init(); |
|
1403 | 1404 |
SB16State *s; |
1404 | 1405 |
int i; |
1405 | 1406 |
static const uint8_t dsp_write_ports[] = {0x6, 0xc}; |
1406 | 1407 |
static const uint8_t dsp_read_ports[] = {0x6, 0xa, 0xc, 0xd, 0xe, 0xf}; |
1407 | 1408 |
|
1408 |
if (!audio) { |
|
1409 |
dolog ("No audio state\n"); |
|
1410 |
return -1; |
|
1411 |
} |
|
1412 |
|
|
1413 | 1409 |
s = qemu_mallocz (sizeof (*s)); |
1414 | 1410 |
|
1415 | 1411 |
s->cmd = -1; |
b/hw/spitz.c | ||
---|---|---|
740 | 740 |
i2c_bus *bus = pxa2xx_i2c_bus(cpu->i2c[0]); |
741 | 741 |
|
742 | 742 |
#ifdef HAS_AUDIO |
743 |
AudioState *audio; |
|
744 | 743 |
i2c_slave *wm; |
745 | 744 |
|
746 |
audio = AUD_init(); |
|
747 | 745 |
/* Attach a WM8750 to the bus */ |
748 |
wm = wm8750_init(bus, audio);
|
|
746 |
wm = wm8750_init(bus); |
|
749 | 747 |
|
750 | 748 |
spitz_wm8750_addr(wm, 0, 0); |
751 | 749 |
pxa2xx_gpio_out_set(cpu->gpio, SPITZ_GPIO_WM, |
b/hw/tsc210x.c | ||
---|---|---|
684 | 684 |
"wrong value written into Audio 1\n"); |
685 | 685 |
#endif |
686 | 686 |
tsc2102_audio_rate_update(s); |
687 |
if (s->audio) |
|
688 |
tsc2102_audio_output_update(s); |
|
687 |
tsc2102_audio_output_update(s); |
|
689 | 688 |
return; |
690 | 689 |
|
691 | 690 |
case 0x01: |
... | ... | |
729 | 728 |
"wrong value written into Power\n"); |
730 | 729 |
#endif |
731 | 730 |
tsc2102_audio_rate_update(s); |
732 |
if (s->audio) |
|
733 |
tsc2102_audio_output_update(s); |
|
731 |
tsc2102_audio_output_update(s); |
|
734 | 732 |
return; |
735 | 733 |
|
736 | 734 |
case 0x06: /* Audio Control 3 */ |
... | ... | |
741 | 739 |
fprintf(stderr, "tsc2102_audio_register_write: " |
742 | 740 |
"wrong value written into Audio 3\n"); |
743 | 741 |
#endif |
744 |
if (s->audio) |
|
745 |
tsc2102_audio_output_update(s); |
|
742 |
tsc2102_audio_output_update(s); |
|
746 | 743 |
return; |
747 | 744 |
|
748 | 745 |
case 0x07: /* LCH_BASS_BOOST_N0 */ |
... | ... | |
1105 | 1102 |
return 0; |
1106 | 1103 |
} |
1107 | 1104 |
|
1108 |
uWireSlave *tsc2102_init(qemu_irq pint, AudioState *audio)
|
|
1105 |
uWireSlave *tsc2102_init(qemu_irq pint) |
|
1109 | 1106 |
{ |
1110 | 1107 |
TSC210xState *s; |
1111 | 1108 |
|
... | ... | |
1120 | 1117 |
s->pint = pint; |
1121 | 1118 |
s->model = 0x2102; |
1122 | 1119 |
s->name = "tsc2102"; |
1123 |
s->audio = audio;
|
|
1120 |
s->audio = AUD_init();;
|
|
1124 | 1121 |
|
1125 | 1122 |
s->tr[0] = 0; |
1126 | 1123 |
s->tr[1] = 1; |
... | ... | |
1146 | 1143 |
qemu_add_mouse_event_handler(tsc210x_touchscreen_event, s, 1, |
1147 | 1144 |
"QEMU TSC2102-driven Touchscreen"); |
1148 | 1145 |
|
1149 |
if (s->audio) |
|
1150 |
AUD_register_card(s->audio, s->name, &s->card); |
|
1146 |
AUD_register_card(s->audio, s->name, &s->card); |
|
1151 | 1147 |
|
1152 | 1148 |
qemu_register_reset((void *) tsc210x_reset, s); |
1153 | 1149 |
register_savevm(s->name, -1, 0, |
... | ... | |
1156 | 1152 |
return &s->chip; |
1157 | 1153 |
} |
1158 | 1154 |
|
1159 |
uWireSlave *tsc2301_init(qemu_irq penirq, qemu_irq kbirq, |
|
1160 |
qemu_irq dav, AudioState *audio) |
|
1155 |
uWireSlave *tsc2301_init(qemu_irq penirq, qemu_irq kbirq, qemu_irq dav) |
|
1161 | 1156 |
{ |
1162 | 1157 |
TSC210xState *s; |
1163 | 1158 |
|
... | ... | |
1174 | 1169 |
s->davint = dav; |
1175 | 1170 |
s->model = 0x2301; |
1176 | 1171 |
s->name = "tsc2301"; |
1177 |
s->audio = audio;
|
|
1172 |
s->audio = AUD_init();
|
|
1178 | 1173 |
|
1179 | 1174 |
s->tr[0] = 0; |
1180 | 1175 |
s->tr[1] = 1; |
... | ... | |
1200 | 1195 |
qemu_add_mouse_event_handler(tsc210x_touchscreen_event, s, 1, |
1201 | 1196 |
"QEMU TSC2301-driven Touchscreen"); |
1202 | 1197 |
|
1203 |
if (s->audio) |
|
1204 |
AUD_register_card(s->audio, s->name, &s->card); |
|
1198 |
AUD_register_card(s->audio, s->name, &s->card); |
|
1205 | 1199 |
|
1206 | 1200 |
qemu_register_reset((void *) tsc210x_reset, s); |
1207 | 1201 |
register_savevm(s->name, -1, 0, tsc210x_save, tsc210x_load, s); |
b/hw/wm8750.c | ||
---|---|---|
645 | 645 |
return 0; |
646 | 646 |
} |
647 | 647 |
|
648 |
i2c_slave *wm8750_init(i2c_bus *bus, AudioState *audio)
|
|
648 |
i2c_slave *wm8750_init(i2c_bus *bus) |
|
649 | 649 |
{ |
650 |
AudioState *audio = AUD_init(); |
|
650 | 651 |
WM8750State *s = (WM8750State *) |
651 | 652 |
i2c_slave_init(bus, 0, sizeof(WM8750State)); |
652 | 653 |
s->i2c.event = wm8750_event; |
b/sysemu.h | ||
---|---|---|
241 | 241 |
int enabled; |
242 | 242 |
int isa; |
243 | 243 |
union { |
244 |
int (*init_isa) (AudioState *s, qemu_irq *pic);
|
|
245 |
int (*init_pci) (PCIBus *bus, AudioState *s);
|
|
244 |
int (*init_isa) (qemu_irq *pic); |
|
245 |
int (*init_pci) (PCIBus *bus); |
|
246 | 246 |
} init; |
247 | 247 |
}; |
248 | 248 |
|
Also available in: Unified diff