]> Git Repo - qemu.git/blobdiff - hw/etraxfs_timer.c
tmp105: QOM'ify
[qemu.git] / hw / etraxfs_timer.c
index 319cee130b897fb497ecd09b3d5ca51abaebb91f..d3dac52315c5de2af5df87a4f1fa1d9fcc50fb57 100644 (file)
@@ -22,8 +22,9 @@
  * THE SOFTWARE.
  */
 #include "sysbus.h"
-#include "sysemu.h"
-#include "qemu-timer.h"
+#include "sysemu/sysemu.h"
+#include "qemu/timer.h"
+#include "ptimer.h"
 
 #define D(x)
 
@@ -74,7 +75,7 @@ struct etrax_timer {
 };
 
 static uint64_t
-timer_read(void *opaque, target_phys_addr_t addr, unsigned int size)
+timer_read(void *opaque, hwaddr addr, unsigned int size)
 {
     struct etrax_timer *t = opaque;
     uint32_t r = 0;
@@ -241,7 +242,7 @@ static inline void timer_watchdog_update(struct etrax_timer *t, uint32_t value)
 }
 
 static void
-timer_write(void *opaque, target_phys_addr_t addr,
+timer_write(void *opaque, hwaddr addr,
             uint64_t val64, unsigned int size)
 {
     struct etrax_timer *t = opaque;
@@ -328,10 +329,23 @@ static int etraxfs_timer_init(SysBusDevice *dev)
     return 0;
 }
 
-static void etraxfs_timer_register(void)
+static void etraxfs_timer_class_init(ObjectClass *klass, void *data)
 {
-    sysbus_register_dev("etraxfs,timer", sizeof (struct etrax_timer),
-                        etraxfs_timer_init);
+    SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
+
+    sdc->init = etraxfs_timer_init;
+}
+
+static const TypeInfo etraxfs_timer_info = {
+    .name          = "etraxfs,timer",
+    .parent        = TYPE_SYS_BUS_DEVICE,
+    .instance_size = sizeof (struct etrax_timer),
+    .class_init    = etraxfs_timer_class_init,
+};
+
+static void etraxfs_timer_register_types(void)
+{
+    type_register_static(&etraxfs_timer_info);
 }
 
-device_init(etraxfs_timer_register)
+type_init(etraxfs_timer_register_types)
This page took 0.025682 seconds and 4 git commands to generate.