[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/40] PS2 device QOMification - part 2
From: |
Mark Cave-Ayland |
Subject: |
[PATCH v2 00/40] PS2 device QOMification - part 2 |
Date: |
Tue, 12 Jul 2022 22:52:11 +0100 |
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-ayland@ilande.co.uk>
Patches still requiring review for updated commit messages (no code changes
from v1): 27, 28 and 34
v2:
- Rebase onto master
- Add A-B and R-B tags from Helge and Peter
- s/jazz/magnum/ for consistency in commit message for patch 35
- Update commit messages in patches 27 and 28 to clarify why the int_status
bitmap isn't immediately added to the vmstate_lasips2 VMStateDescription
- Update commit message in patch 34 to detail the extra changes to the
vmstate_lasips2 VMStateDescription
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
--
2.30.2
- [PATCH v2 00/40] PS2 device QOMification - part 2,
Mark Cave-Ayland <=
- [PATCH v2 01/40] pl050: move PL050State from pl050.c to new pl050.h header file, Mark Cave-Ayland, 2022/07/12
- [PATCH v2 02/40] pl050: rename pl050_keyboard_init() to pl050_kbd_init(), Mark Cave-Ayland, 2022/07/12
- [PATCH v2 03/40] pl050: change PL050State dev pointer from void to PS2State, Mark Cave-Ayland, 2022/07/12
- [PATCH v2 05/40] pl050: introduce new PL050_MOUSE_DEVICE QOM type, Mark Cave-Ayland, 2022/07/12
- [PATCH v2 08/40] pl050: introduce pl050_kbd_class_init() and pl050_kbd_realize(), Mark Cave-Ayland, 2022/07/12
- [PATCH v2 04/40] pl050: introduce new PL050_KBD_DEVICE QOM type, Mark Cave-Ayland, 2022/07/12
- [PATCH v2 07/40] pl050: introduce PL050DeviceClass for the PL050 device, Mark Cave-Ayland, 2022/07/12
- [PATCH v2 06/40] pl050: move logic from pl050_realize() to pl050_init(), Mark Cave-Ayland, 2022/07/12
- [PATCH v2 09/40] pl050: introduce pl050_mouse_class_init() and pl050_mouse_realize(), Mark Cave-Ayland, 2022/07/12
- [PATCH v2 10/40] pl050: don't use legacy ps2_kbd_init() function, Mark Cave-Ayland, 2022/07/12