From 4a68b4822ffceb40c34cf62847ff0da52532abb4 Mon Sep 17 00:00:00 2001 From: Mark Cave-Ayland Date: Fri, 24 Jun 2022 14:40:26 +0100 Subject: ps2: implement ps2_mouse_realize() and use it to register ps2_mouse_handler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the registration of ps2_mouse_handler from ps2_mouse_init() to a new ps2_mouse_realize() function. Since the abstract PS2_DEVICE parent class doesn't have a realize() function then it is not necessary to store the reference to it in PS2DeviceClass and use device_class_set_parent_realize(). Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daudé Acked-by: Helge Deller Message-Id: <20220624134109.881989-12-mark.cave-ayland@ilande.co.uk> --- hw/input/ps2.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'hw') diff --git a/hw/input/ps2.c b/hw/input/ps2.c index 62ea4c2..eae7df2 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -1244,6 +1244,11 @@ static QemuInputHandler ps2_mouse_handler = { .sync = ps2_mouse_sync, }; +static void ps2_mouse_realize(DeviceState *dev, Error **errp) +{ + qemu_input_handler_register(dev, &ps2_mouse_handler); +} + void *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg) { DeviceState *dev; @@ -1259,8 +1264,6 @@ void *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg) ps2->update_irq = update_irq; ps2->update_arg = update_arg; vmstate_register(NULL, 0, &vmstate_ps2_mouse, s); - qemu_input_handler_register((DeviceState *)s, - &ps2_mouse_handler); return s; } @@ -1285,6 +1288,7 @@ static void ps2_mouse_class_init(ObjectClass *klass, void *data) DeviceClass *dc = DEVICE_CLASS(klass); PS2DeviceClass *ps2dc = PS2_DEVICE_CLASS(klass); + dc->realize = ps2_mouse_realize; device_class_set_parent_reset(dc, ps2_mouse_reset, &ps2dc->parent_reset); } -- cgit v1.1