#include "sysbus.h"
#include "ssi.h"
-#include "primecell.h"
//#define DEBUG_PL022 1
return 0;
}
-static void pl022_register_devices(void)
+static void pl022_class_init(ObjectClass *klass, void *data)
{
- sysbus_register_dev("pl022", sizeof(pl022_state), pl022_init);
+ SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
+
+ sdc->init = pl022_init;
+}
+
+static TypeInfo pl022_info = {
+ .name = "pl022",
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(pl022_state),
+ .class_init = pl022_class_init,
+};
+
+static void pl022_register_types(void)
+{
+ type_register_static(&pl022_info);
}
-device_init(pl022_register_devices)
+type_init(pl022_register_types)