Hi Mark, On 6/29/22 14:39, Mark Cave-Ayland wrote: > Here is the follow-on series from part 1 which completes the work to remove > the legacy global device init functions for PS2 devices. Now that part 1 has > been applied, the hard part to remove the PS2 function callback and argument > has been completed and all that remains is to improve the PS2 device > QOMification to allow the legacy PS2 functions to be removed. > > Patches 1-11 update the pl050 device to remove the use of ps2_kbd_init() and > ps2_mouse_init(), whilst patches 12-34 make some more involved changes to > the lasips2 device (in particular completing the LASIPS2Port abstraction) > before doing the same. > > Finally patches 35-40 complete the process for the pckbd (I8042 and I8042_MMIO > devices) before removing the now unused ps2_kbd_init(), ps2_mouse_init() and > i8042_mm_init() functions. > > Note that this series is a migration break for the HPPA B160L and MIPS magnum > machines: I've had agreement from both Helge and Hervé that this is worth > doing to allow the use of the DeviceClass vmsd property to set the > VMStateDescription rather than manually calling vmstate_register(). > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
I did tested this patch series successfully with hppa Linux and HP-UX guests. PS/2 mouse and keyboard works as expected. Thanks for this nice cleanup work! You may add either or both of: Tested-by: Helge Deller <del...@gmx.de> Acked-by: Helge Deller <del...@gmx.de> Helge > > Mark Cave-Ayland (40): > pl050: move PL050State from pl050.c to new pl050.h header file > pl050: rename pl050_keyboard_init() to pl050_kbd_init() > pl050: change PL050State dev pointer from void to PS2State > pl050: introduce new PL050_KBD_DEVICE QOM type > pl050: introduce new PL050_MOUSE_DEVICE QOM type > pl050: move logic from pl050_realize() to pl050_init() > pl050: introduce PL050DeviceClass for the PL050 device > pl050: introduce pl050_kbd_class_init() and pl050_kbd_realize() > pl050: introduce pl050_mouse_class_init() and pl050_mouse_realize() > pl050: don't use legacy ps2_kbd_init() function > pl050: don't use legacy ps2_mouse_init() function > lasips2: don't use vmstate_register() in lasips2_realize() > lasips2: remove the qdev base property and the lasips2_properties > array > lasips2: remove legacy lasips2_initfn() function > lasips2: change LASIPS2State dev pointer from void to PS2State > lasips2: QOMify LASIPS2Port > lasips2: introduce new LASIPS2_KBD_PORT QOM type > lasips2: introduce new LASIPS2_MOUSE_PORT QOM type > lasips2: move keyboard port initialisation to new > lasips2_kbd_port_init() function > lasips2: move mouse port initialisation to new > lasips2_mouse_port_init() function > lasips2: introduce lasips2_kbd_port_class_init() and > lasips2_kbd_port_realize() > lasips2: introduce lasips2_mouse_port_class_init() and > lasips2_mouse_port_realize() > lasips2: rename LASIPS2Port irq field to birq > lasips2: introduce port IRQ and new lasips2_port_init() function > lasips2: introduce LASIPS2PortDeviceClass for the LASIPS2_PORT device > lasips2: add named input gpio to port for downstream PS2 device IRQ > lasips2: add named input gpio to handle incoming port IRQs > lasips2: switch to using port-based IRQs > lasips2: rename LASIPS2Port parent pointer to lasips2 > lasips2: standardise on lp name for LASIPS2Port variables > lasips2: switch register memory region to DEVICE_BIG_ENDIAN > lasips2: don't use legacy ps2_kbd_init() function > lasips2: don't use legacy ps2_mouse_init() function > lasips2: update VMStateDescription for LASIPS2 device > pckbd: introduce new vmstate_kbd_mmio VMStateDescription for the > I8042_MMIO device > pckbd: don't use legacy ps2_kbd_init() function > ps2: remove unused legacy ps2_kbd_init() function > pckbd: don't use legacy ps2_mouse_init() function > ps2: remove unused legacy ps2_mouse_init() function > pckbd: remove legacy i8042_mm_init() function > > hw/hppa/machine.c | 7 +- > hw/input/lasips2.c | 320 ++++++++++++++++++++++++++----------- > hw/input/pckbd.c | 82 ++++++---- > hw/input/pl050.c | 112 ++++++++----- > hw/input/ps2.c | 26 --- > hw/input/trace-events | 2 - > hw/mips/jazz.c | 13 +- > include/hw/input/i8042.h | 7 +- > include/hw/input/lasips2.h | 57 +++++-- > include/hw/input/pl050.h | 59 +++++++ > include/hw/input/ps2.h | 2 - > 11 files changed, 466 insertions(+), 221 deletions(-) > create mode 100644 include/hw/input/pl050.h >