mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
ps2: implement ps2_mouse_realize() and use it to register ps2_mouse_handler
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>
This commit is contained in:
parent
ea247a0f36
commit
4a68b4822f
1 changed files with 6 additions and 2 deletions
|
@ -1244,6 +1244,11 @@ static QemuInputHandler ps2_mouse_handler = {
|
||||||
.sync = ps2_mouse_sync,
|
.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)
|
void *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg)
|
||||||
{
|
{
|
||||||
DeviceState *dev;
|
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_irq = update_irq;
|
||||||
ps2->update_arg = update_arg;
|
ps2->update_arg = update_arg;
|
||||||
vmstate_register(NULL, 0, &vmstate_ps2_mouse, s);
|
vmstate_register(NULL, 0, &vmstate_ps2_mouse, s);
|
||||||
qemu_input_handler_register((DeviceState *)s,
|
|
||||||
&ps2_mouse_handler);
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1285,6 +1288,7 @@ static void ps2_mouse_class_init(ObjectClass *klass, void *data)
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
PS2DeviceClass *ps2dc = PS2_DEVICE_CLASS(klass);
|
PS2DeviceClass *ps2dc = PS2_DEVICE_CLASS(klass);
|
||||||
|
|
||||||
|
dc->realize = ps2_mouse_realize;
|
||||||
device_class_set_parent_reset(dc, ps2_mouse_reset,
|
device_class_set_parent_reset(dc, ps2_mouse_reset,
|
||||||
&ps2dc->parent_reset);
|
&ps2dc->parent_reset);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue