ps2: introduce PS2DeviceClass

This is in preparation for allowing the new PS2_KBD_DEVICE and PS2_MOUSE_DEVICE
QOM types to reference the parent PS2_DEVICE device reset() function.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20220624134109.881989-8-mark.cave-ayland@ilande.co.uk>
This commit is contained in:
Mark Cave-Ayland 2022-06-24 14:40:22 +01:00
parent 54334e7387
commit 494145b286
2 changed files with 6 additions and 1 deletions

View File

@ -1283,6 +1283,7 @@ static const TypeInfo ps2_info = {
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(PS2State), .instance_size = sizeof(PS2State),
.class_init = ps2_class_init, .class_init = ps2_class_init,
.class_size = sizeof(PS2DeviceClass),
.abstract = true .abstract = true
}; };

View File

@ -33,6 +33,10 @@
#define PS2_MOUSE_BUTTON_SIDE 0x08 #define PS2_MOUSE_BUTTON_SIDE 0x08
#define PS2_MOUSE_BUTTON_EXTRA 0x10 #define PS2_MOUSE_BUTTON_EXTRA 0x10
struct PS2DeviceClass {
SysBusDeviceClass parent_class;
};
/* /*
* PS/2 buffer size. Keep 256 bytes for compatibility with * PS/2 buffer size. Keep 256 bytes for compatibility with
* older QEMU versions. * older QEMU versions.
@ -54,7 +58,7 @@ struct PS2State {
}; };
#define TYPE_PS2_DEVICE "ps2-device" #define TYPE_PS2_DEVICE "ps2-device"
OBJECT_DECLARE_SIMPLE_TYPE(PS2State, PS2_DEVICE) OBJECT_DECLARE_TYPE(PS2State, PS2DeviceClass, PS2_DEVICE)
struct PS2KbdState { struct PS2KbdState {
PS2State parent_obj; PS2State parent_obj;