pckbd: don't use legacy ps2_kbd_init() function

Instantiate the PS2 keyboard device within KBDState using
object_initialize_child() in i8042_initfn() and i8042_mmio_init() and realize
it in i8042_realizefn() and i8042_mmio_realize() accordingly.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Helge Deller <deller@gmx.de>
Acked-by: Helge Deller <deller@gmx.de>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20220712215251.7944-37-mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Mark Cave-Ayland 2022-07-12 22:52:47 +01:00
parent abcacb20f7
commit 652fbff420
2 changed files with 23 additions and 9 deletions

View file

@ -10,6 +10,7 @@
#include "hw/isa/isa.h"
#include "hw/sysbus.h"
#include "hw/input/ps2.h"
#include "qom/object.h"
#define I8042_KBD_IRQ 0
@ -30,7 +31,7 @@ typedef struct KBDState {
uint8_t obdata;
uint8_t cbdata;
uint8_t pending_tmp;
void *kbd;
PS2KbdState ps2kbd;
void *mouse;
QEMUTimer *throttle_timer;