Revision | 525d654d7a113e24e5c4efc21e6f2f8c952d21d9 (tree) |
---|---|
Time | 2020-07-07 00:01:11 |
Author | Gerd Hoffmann <kraxel@redh...> |
Commiter | Gerd Hoffmann |
audio: rework pcspk_init()
Instead of creating and returning the pc speaker accept it as argument.
That allows to rework the initialization workflow in followup patches.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20200702132525.6849-16-kraxel@redhat.com
@@ -1219,7 +1219,7 @@ void pc_basic_device_init(struct PCMachineState *pcms, | ||
1219 | 1219 | /* connect PIT to output control line of the HPET */ |
1220 | 1220 | qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(DEVICE(pit), 0)); |
1221 | 1221 | } |
1222 | - pcspk_init(isa_bus, pit); | |
1222 | + pcspk_init(isa_new(TYPE_PC_SPEAKER), isa_bus, pit); | |
1223 | 1223 | } |
1224 | 1224 | |
1225 | 1225 | i8257_dma_init(isa_bus, 0); |
@@ -102,7 +102,7 @@ static void i82378_realize(PCIDevice *pci, Error **errp) | ||
102 | 102 | pit = i8254_pit_init(isabus, 0x40, 0, NULL); |
103 | 103 | |
104 | 104 | /* speaker */ |
105 | - pcspk_init(isabus, pit); | |
105 | + pcspk_init(isa_new(TYPE_PC_SPEAKER), isabus, pit); | |
106 | 106 | |
107 | 107 | /* 2 82C37 (dma) */ |
108 | 108 | isa_create_simple(isabus, "i82374"); |
@@ -250,7 +250,7 @@ static void mips_jazz_init(MachineState *machine, | ||
250 | 250 | isa_bus_irqs(isa_bus, i8259); |
251 | 251 | i8257_dma_init(isa_bus, 0); |
252 | 252 | pit = i8254_pit_init(isa_bus, 0x40, 0, NULL); |
253 | - pcspk_init(isa_bus, pit); | |
253 | + pcspk_init(isa_new(TYPE_PC_SPEAKER), isa_bus, pit); | |
254 | 254 | |
255 | 255 | /* Video card */ |
256 | 256 | switch (jazz_model) { |
@@ -31,18 +31,14 @@ | ||
31 | 31 | |
32 | 32 | #define TYPE_PC_SPEAKER "isa-pcspk" |
33 | 33 | |
34 | -static inline ISADevice *pcspk_init(ISABus *bus, ISADevice *pit) | |
34 | +static inline void pcspk_init(ISADevice *isadev, ISABus *bus, ISADevice *pit) | |
35 | 35 | { |
36 | 36 | DeviceState *dev; |
37 | - ISADevice *isadev; | |
38 | 37 | |
39 | - isadev = isa_new(TYPE_PC_SPEAKER); | |
40 | 38 | dev = DEVICE(isadev); |
41 | 39 | qdev_prop_set_uint32(dev, "iobase", 0x61); |
42 | 40 | object_property_set_link(OBJECT(dev), OBJECT(pit), "pit", NULL); |
43 | 41 | isa_realize_and_unref(isadev, bus, &error_fatal); |
44 | - | |
45 | - return isadev; | |
46 | 42 | } |
47 | 43 | |
48 | 44 | #endif /* HW_PCSPK_H */ |