From: Mark Cave-Ayland Date: Fri, 24 Jun 2022 13:40:37 +0000 (+0100) Subject: pckbd: implement i8042_mmio_reset() for I8042_MMIO device X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=57f6c3aac08d16eb7fe4a447dbbbfeb314d39234;p=qemu.git pckbd: implement i8042_mmio_reset() for I8042_MMIO device This allows the I8042_MMIO reset function to be registered directly within the DeviceClass rather than using qemu_register_reset() directly. Signed-off-by: Mark Cave-Ayland Acked-by: Helge Deller Message-Id: <20220624134109.881989-23-mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell --- diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c index 89a41ed566..7b520d0eb4 100644 --- a/hw/input/pckbd.c +++ b/hw/input/pckbd.c @@ -665,10 +665,19 @@ static const MemoryRegionOps i8042_mmio_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; +static void i8042_mmio_reset(DeviceState *dev) +{ + MMIOKBDState *s = I8042_MMIO(dev); + KBDState *ks = &s->kbd; + + kbd_reset(ks); +} + static void i8042_mmio_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); + dc->reset = i8042_mmio_reset; set_bit(DEVICE_CATEGORY_INPUT, dc->categories); } @@ -695,7 +704,6 @@ void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq, s->kbd = ps2_kbd_init(kbd_update_kbd_irq, s); s->mouse = ps2_mouse_init(kbd_update_aux_irq, s); - qemu_register_reset(kbd_reset, s); } static const TypeInfo i8042_mmio_info = {