Install keymaps from new location
[qemu] / hw / ac97.c
index c30e894..288f428 100644 (file)
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -1196,7 +1196,7 @@ static void ac97_save (QEMUFile *f, void *opaque)
     qemu_put_be32s (f, &s->glob_sta);
     qemu_put_be32s (f, &s->cas);
 
-    for (i = 0; i < sizeof (s->bm_regs) / sizeof (s->bm_regs[0]); ++i) {
+    for (i = 0; i < ARRAY_SIZE (s->bm_regs); ++i) {
         AC97BusMasterRegs *r = &s->bm_regs[i];
         qemu_put_be32s (f, &r->bdbar);
         qemu_put_8s (f, &r->civ);
@@ -1235,7 +1235,7 @@ static int ac97_load (QEMUFile *f, void *opaque, int version_id)
     qemu_get_be32s (f, &s->glob_sta);
     qemu_get_be32s (f, &s->cas);
 
-    for (i = 0; i < sizeof (s->bm_regs) / sizeof (s->bm_regs[0]); ++i) {
+    for (i = 0; i < ARRAY_SIZE (s->bm_regs); ++i) {
         AC97BusMasterRegs *r = &s->bm_regs[i];
         qemu_get_be32s (f, &r->bdbar);
         qemu_get_8s (f, &r->civ);
@@ -1308,7 +1308,7 @@ static void ac97_on_reset (void *opaque)
     mixer_reset (s);
 }
 
-int ac97_init (PCIBus *bus, AudioState *audio)
+int ac97_init (PCIBus *bus)
 {
     PCIAC97LinkState *d;
     AC97LinkState *s;
@@ -1319,11 +1319,6 @@ int ac97_init (PCIBus *bus, AudioState *audio)
         return -1;
     }
 
-    if (!audio) {
-        AUD_log ("ac97", "No audio state\n");
-        return -1;
-    }
-
     d = (PCIAC97LinkState *) pci_register_device (bus, "AC97",
                                                   sizeof (PCIAC97LinkState),
                                                   -1, NULL, NULL);
@@ -1336,11 +1331,8 @@ int ac97_init (PCIBus *bus, AudioState *audio)
     s = &d->ac97;
     s->pci_dev = &d->dev;
     c = d->dev.config;
-    c[0x00] = 0x86;      /* vid vendor id intel ro */
-    c[0x01] = 0x80;      /* intel */
-
-    c[0x02] = 0x15;      /* did device id 82801 ro */
-    c[0x03] = 0x24;      /* 82801aa */
+    pci_config_set_vendor_id(c, PCI_VENDOR_ID_INTEL); /* ro */
+    pci_config_set_device_id(c, PCI_DEVICE_ID_INTEL_82801AA_5); /* ro */
 
     c[0x04] = 0x00;      /* pcicmd pci command rw, ro */
     c[0x05] = 0x00;
@@ -1350,9 +1342,8 @@ int ac97_init (PCIBus *bus, AudioState *audio)
 
     c[0x08] = 0x01;      /* rid revision ro */
     c[0x09] = 0x00;      /* pi programming interface ro */
-    c[0x0a] = 0x01;      /* scc sub class code ro */
-    c[0x0b] = 0x04;      /* bcc base class code ro */
-    c[0x0e] = 0x00;      /* headtyp header type ro */
+    pci_config_set_class(c, PCI_CLASS_MULTIMEDIA_AUDIO); /* ro */
+    c[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; /* headtyp header type ro */
 
     c[0x10] = 0x01;      /* nabmar native audio mixer base
                             address rw */
@@ -1378,8 +1369,8 @@ int ac97_init (PCIBus *bus, AudioState *audio)
     pci_register_io_region (&d->dev, 0, 256 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);
     pci_register_io_region (&d->dev, 1, 64 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);
     register_savevm ("ac97", 0, 2, ac97_save, ac97_load, s);
-    qemu_register_reset (ac97_on_reset, s);
-    AUD_register_card (audio, "ac97", &s->card);
+    qemu_register_reset (ac97_on_reset, 0, s);
+    AUD_register_card ("ac97", &s->card);
     ac97_on_reset (s);
     return 0;
 }