]> Git Repo - qemu.git/blobdiff - hw/syborg_timer.c
Sparc64: fix PCI probe problems
[qemu.git] / hw / syborg_timer.c
index b833330e5b55207e39fd0a123388f03ea00c0d30..3e4a447610a9d1bfd29ec5634199b1278bd0be2a 100644 (file)
@@ -162,13 +162,13 @@ static void syborg_timer_write(void *opaque, target_phys_addr_t offset,
     }
 }
 
-static CPUReadMemoryFunc *syborg_timer_readfn[] = {
+static CPUReadMemoryFunc * const syborg_timer_readfn[] = {
     syborg_timer_read,
     syborg_timer_read,
     syborg_timer_read
 };
 
-static CPUWriteMemoryFunc *syborg_timer_writefn[] = {
+static CPUWriteMemoryFunc * const syborg_timer_writefn[] = {
     syborg_timer_write,
     syborg_timer_write,
     syborg_timer_write
@@ -203,19 +203,18 @@ static int syborg_timer_load(QEMUFile *f, void *opaque, int version_id)
     return 0;
 }
 
-static void syborg_timer_init(SysBusDevice *dev)
+static int syborg_timer_init(SysBusDevice *dev)
 {
     SyborgTimerState *s = FROM_SYSBUS(SyborgTimerState, dev);
     QEMUBH *bh;
     int iomemtype;
 
-    s->freq = qdev_get_prop_int(&dev->qdev, "frequency", 0);
     if (s->freq == 0) {
         fprintf(stderr, "syborg_timer: Zero/unset frequency\n");
         exit(1);
     }
     sysbus_init_irq(dev, &s->irq);
-    iomemtype = cpu_register_io_memory(0, syborg_timer_readfn,
+    iomemtype = cpu_register_io_memory(syborg_timer_readfn,
                                        syborg_timer_writefn, s);
     sysbus_init_mmio(dev, 0x1000, iomemtype);
 
@@ -224,22 +223,22 @@ static void syborg_timer_init(SysBusDevice *dev)
     ptimer_set_freq(s->timer, s->freq);
     register_savevm("syborg_timer", -1, 1,
                     syborg_timer_save, syborg_timer_load, s);
+    return 0;
 }
 
 static SysBusDeviceInfo syborg_timer_info = {
     .init = syborg_timer_init,
-    .qdev = {
-        .props = (DevicePropList[]) {
-              {.name = "frequency", .type = PROP_TYPE_INT},
-              {.name = NULL}
-        }
+    .qdev.name  = "syborg,timer",
+    .qdev.size  = sizeof(SyborgTimerState),
+    .qdev.props = (Property[]) {
+        DEFINE_PROP_UINT32("frequency",SyborgTimerState, freq, 0),
+        DEFINE_PROP_END_OF_LIST(),
     }
 };
 
 static void syborg_timer_register_devices(void)
 {
-    sysbus_register_withprop("syborg,timer", sizeof(SyborgTimerState),
-                            &syborg_timer_info);
+    sysbus_register_withprop(&syborg_timer_info);
 }
 
 device_init(syborg_timer_register_devices)
This page took 0.026841 seconds and 4 git commands to generate.