#include "qemu/osdep.h"
#include "qemu/log.h"
+#include "hw/sysbus.h"
#include "hw/input/ps2.h"
#include "migration/vmstate.h"
#include "ui/console.h"
} PS2Queue;
struct PS2State {
+ SysBusDevice parent_obj;
+
PS2Queue queue;
int32_t write_cmd;
void (*update_irq)(void *, int);
void *update_arg;
};
+#define TYPE_PS2_DEVICE "ps2-device"
+OBJECT_DECLARE_SIMPLE_TYPE(PS2State, PS2_DEVICE)
+
typedef struct {
PS2State common;
int scan_enabled;
qemu_register_reset(ps2_mouse_reset, s);
return s;
}
+
+static void ps2_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ set_bit(DEVICE_CATEGORY_INPUT, dc->categories);
+}
+
+static const TypeInfo ps2_info = {
+ .name = TYPE_PS2_DEVICE,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(PS2State),
+ .class_init = ps2_class_init,
+ .abstract = true
+};
+
+static void ps2_register_types(void)
+{
+ type_register_static(&ps2_info);
+}
+
+type_init(ps2_register_types)