Revision 52bb7c6a hw/audio/intel-hda.c
b/hw/audio/intel-hda.c | ||
---|---|---|
191 | 191 |
|
192 | 192 |
#define TYPE_INTEL_HDA_GENERIC "intel-hda-generic" |
193 | 193 |
|
194 |
#define INTEL_HDA(obj) \ |
|
195 |
OBJECT_CHECK(IntelHDAState, (obj), TYPE_INTEL_HDA_GENERIC) |
|
196 |
|
|
194 | 197 |
struct IntelHDAReg { |
195 | 198 |
const char *name; /* register name */ |
196 | 199 |
uint32_t size; /* size in bytes */ |
... | ... | |
500 | 503 |
static void intel_hda_set_g_ctl(IntelHDAState *d, const IntelHDAReg *reg, uint32_t old) |
501 | 504 |
{ |
502 | 505 |
if ((d->g_ctl & ICH6_GCTL_RESET) == 0) { |
503 |
intel_hda_reset(&d->pci.qdev);
|
|
506 |
intel_hda_reset(DEVICE(d));
|
|
504 | 507 |
} |
505 | 508 |
} |
506 | 509 |
|
... | ... | |
1104 | 1107 |
static void intel_hda_reset(DeviceState *dev) |
1105 | 1108 |
{ |
1106 | 1109 |
BusChild *kid; |
1107 |
IntelHDAState *d = DO_UPCAST(IntelHDAState, pci.qdev, dev);
|
|
1110 |
IntelHDAState *d = INTEL_HDA(dev);
|
|
1108 | 1111 |
HDACodecDevice *cdev; |
1109 | 1112 |
|
1110 | 1113 |
intel_hda_regs_reset(d); |
... | ... | |
1122 | 1125 |
|
1123 | 1126 |
static int intel_hda_init(PCIDevice *pci) |
1124 | 1127 |
{ |
1125 |
IntelHDAState *d = DO_UPCAST(IntelHDAState, pci, pci);
|
|
1128 |
IntelHDAState *d = INTEL_HDA(pci);
|
|
1126 | 1129 |
uint8_t *conf = d->pci.config; |
1127 | 1130 |
|
1128 | 1131 |
d->name = object_get_typename(OBJECT(d)); |
... | ... | |
1139 | 1142 |
msi_init(&d->pci, 0x50, 1, true, false); |
1140 | 1143 |
} |
1141 | 1144 |
|
1142 |
hda_codec_bus_init(&d->pci.qdev, &d->codecs,
|
|
1145 |
hda_codec_bus_init(DEVICE(pci), &d->codecs,
|
|
1143 | 1146 |
intel_hda_response, intel_hda_xfer); |
1144 | 1147 |
|
1145 | 1148 |
return 0; |
... | ... | |
1147 | 1150 |
|
1148 | 1151 |
static void intel_hda_exit(PCIDevice *pci) |
1149 | 1152 |
{ |
1150 |
IntelHDAState *d = DO_UPCAST(IntelHDAState, pci, pci);
|
|
1153 |
IntelHDAState *d = INTEL_HDA(pci);
|
|
1151 | 1154 |
|
1152 | 1155 |
msi_uninit(&d->pci); |
1153 | 1156 |
memory_region_destroy(&d->mmio); |
... | ... | |
1312 | 1315 |
*/ |
1313 | 1316 |
static int intel_hda_and_codec_init(PCIBus *bus) |
1314 | 1317 |
{ |
1315 |
PCIDevice *controller;
|
|
1318 |
DeviceState *controller;
|
|
1316 | 1319 |
BusState *hdabus; |
1317 | 1320 |
DeviceState *codec; |
1318 | 1321 |
|
1319 |
controller = pci_create_simple(bus, -1, "intel-hda");
|
|
1320 |
hdabus = QLIST_FIRST(&controller->qdev.child_bus);
|
|
1322 |
controller = DEVICE(pci_create_simple(bus, -1, "intel-hda"));
|
|
1323 |
hdabus = QLIST_FIRST(&controller->child_bus); |
|
1321 | 1324 |
codec = qdev_create(hdabus, "hda-duplex"); |
1322 | 1325 |
qdev_init_nofail(codec); |
1323 | 1326 |
return 0; |
Also available in: Unified diff