[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/55] ps2: implement ps2_mouse_realize() and use it to register p
From: |
Mark Cave-Ayland |
Subject: |
[PULL 11/55] ps2: implement ps2_mouse_realize() and use it to register ps2_mouse_handler |
Date: |
Sun, 26 Jun 2022 18:44:47 +0100 |
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 <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-12-mark.cave-ayland@ilande.co.uk>
---
hw/input/ps2.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 62ea4c228b..eae7df2096 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);
}
--
2.30.2
- [PULL 01/55] ps2: checkpatch fixes, (continued)
- [PULL 01/55] ps2: checkpatch fixes, Mark Cave-Ayland, 2022/06/26
- [PULL 04/55] ps2: QOMify PS2MouseState, Mark Cave-Ayland, 2022/06/26
- [PULL 03/55] ps2: QOMify PS2KbdState, Mark Cave-Ayland, 2022/06/26
- [PULL 05/55] ps2: move QOM type definitions from ps2.c to ps2.h, Mark Cave-Ayland, 2022/06/26
- [PULL 02/55] ps2: QOMify PS2State, Mark Cave-Ayland, 2022/06/26
- [PULL 06/55] ps2: improve function prototypes in ps2.c and ps2.h, Mark Cave-Ayland, 2022/06/26
- [PULL 07/55] ps2: introduce PS2DeviceClass, Mark Cave-Ayland, 2022/06/26
- [PULL 08/55] ps2: implement ps2_reset() for the PS2_DEVICE QOM type based upon ps2_common_reset(), Mark Cave-Ayland, 2022/06/26
- [PULL 09/55] ps2: remove duplicate setting of scancode_set in ps2_kbd_init(), Mark Cave-Ayland, 2022/06/26
- [PULL 10/55] ps2: implement ps2_kbd_realize() and use it to register ps2_keyboard_handler, Mark Cave-Ayland, 2022/06/26
- [PULL 11/55] ps2: implement ps2_mouse_realize() and use it to register ps2_mouse_handler,
Mark Cave-Ayland <=
- [PULL 12/55] ps2: don't use vmstate_register() in ps2_kbd_init(), Mark Cave-Ayland, 2022/06/26
- [PULL 13/55] ps2: don't use vmstate_register() in ps2_mouse_init(), Mark Cave-Ayland, 2022/06/26
- [PULL 14/55] pl050: checkpatch fixes, Mark Cave-Ayland, 2022/06/26
- [PULL 15/55] pl050: split pl050_update_irq() into separate pl050_set_irq() and pl050_update_irq() functions, Mark Cave-Ayland, 2022/06/26
- [PULL 17/55] lasips2: rename ps2dev_update_irq() to lasips2_port_set_irq(), Mark Cave-Ayland, 2022/06/26
- [PULL 16/55] lasips2: spacing fixes, Mark Cave-Ayland, 2022/06/26
- [PULL 20/55] pckbd: move ISAKBDState from pckbd.c to i8042.h, Mark Cave-Ayland, 2022/06/26
- [PULL 19/55] pckbd: move KBDState from pckbd.c to i8042.h, Mark Cave-Ayland, 2022/06/26
- [PULL 18/55] pckbd: checkpatch fixes, Mark Cave-Ayland, 2022/06/26
- [PULL 21/55] pckbd: introduce new I8042_MMIO QOM type, Mark Cave-Ayland, 2022/06/26