Commit 6806e59567ab7f6bda3e369468518089a8822b57
Committed by
Paul Brook
1 parent
16eaedf2
qdev: convert es1370.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Showing
1 changed file
with
22 additions
and
19 deletions
hw/es1370.c
... | ... | @@ -1005,27 +1005,12 @@ static void es1370_on_reset (void *opaque) |
1005 | 1005 | es1370_reset (s); |
1006 | 1006 | } |
1007 | 1007 | |
1008 | -int es1370_init (PCIBus *bus) | |
1008 | +static void es1370_initfn(PCIDevice *dev) | |
1009 | 1009 | { |
1010 | - PCIES1370State *d; | |
1011 | - ES1370State *s; | |
1012 | - uint8_t *c; | |
1013 | - | |
1014 | - if (!bus) { | |
1015 | - dolog ("No PCI bus\n"); | |
1016 | - return -1; | |
1017 | - } | |
1018 | - | |
1019 | - d = (PCIES1370State *) pci_register_device (bus, "ES1370", | |
1020 | - sizeof (PCIES1370State), | |
1021 | - -1, NULL, NULL); | |
1022 | - | |
1023 | - if (!d) { | |
1024 | - AUD_log (NULL, "Failed to register PCI device for ES1370\n"); | |
1025 | - return -1; | |
1026 | - } | |
1010 | + PCIES1370State *d = DO_UPCAST(PCIES1370State, dev, dev); | |
1011 | + ES1370State *s = &d->es1370; | |
1012 | + uint8_t *c = d->dev.config; | |
1027 | 1013 | |
1028 | - c = d->dev.config; | |
1029 | 1014 | pci_config_set_vendor_id (c, PCI_VENDOR_ID_ENSONIQ); |
1030 | 1015 | pci_config_set_device_id (c, PCI_DEVICE_ID_ENSONIQ_ES1370); |
1031 | 1016 | c[0x07] = 2 << 1; |
... | ... | @@ -1059,5 +1044,23 @@ int es1370_init (PCIBus *bus) |
1059 | 1044 | |
1060 | 1045 | AUD_register_card ("es1370", &s->card); |
1061 | 1046 | es1370_reset (s); |
1047 | +} | |
1048 | + | |
1049 | +int es1370_init (PCIBus *bus) | |
1050 | +{ | |
1051 | + pci_create_simple(bus, -1, "ES1370"); | |
1062 | 1052 | return 0; |
1063 | 1053 | } |
1054 | + | |
1055 | +static PCIDeviceInfo es1370_info = { | |
1056 | + .qdev.name = "ES1370", | |
1057 | + .qdev.size = sizeof(PCIES1370State), | |
1058 | + .init = es1370_initfn, | |
1059 | +}; | |
1060 | + | |
1061 | +static void es1370_register(void) | |
1062 | +{ | |
1063 | + pci_qdev_register(&es1370_info); | |
1064 | +} | |
1065 | +device_init(es1370_register); | |
1066 | + | ... | ... |