All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
To: richard.henderson@linaro.org, deller@gmx.de,
	svens@stackframe.org, mst@redhat.com, pbonzini@redhat.com,
	peter.maydell@linaro.org, hpoussin@reactos.org,
	aleksandar.rikalo@syrmia.com, f4bug@amsat.org,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org
Subject: [PATCH 33/40] lasips2: don't use legacy ps2_mouse_init() function
Date: Wed, 29 Jun 2022 13:40:19 +0100	[thread overview]
Message-ID: <20220629124026.1077021-34-mark.cave-ayland@ilande.co.uk> (raw)
In-Reply-To: <20220629124026.1077021-1-mark.cave-ayland@ilande.co.uk>

Instantiate the PS2 mouse device within LASIPS2MousePort using
object_initialize_child() in lasips2_mouse_port_init() and realize it in
lasips2_mouse_port_realize() accordingly.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
 hw/input/lasips2.c         | 10 +++++++++-
 include/hw/input/lasips2.h |  2 ++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/hw/input/lasips2.c b/hw/input/lasips2.c
index 4b3264a02d..e602e3c986 100644
--- a/hw/input/lasips2.c
+++ b/hw/input/lasips2.c
@@ -398,10 +398,15 @@ static const TypeInfo lasips2_kbd_port_info = {
 
 static void lasips2_mouse_port_realize(DeviceState *dev, Error **errp)
 {
+    LASIPS2MousePort *s = LASIPS2_MOUSE_PORT(dev);
     LASIPS2Port *lp = LASIPS2_PORT(dev);
     LASIPS2PortDeviceClass *lpdc = LASIPS2_PORT_GET_CLASS(lp);
 
-    lp->ps2dev = ps2_mouse_init();
+    if (!sysbus_realize(SYS_BUS_DEVICE(&s->mouse), errp)) {
+        return;
+    }
+
+    lp->ps2dev = PS2_DEVICE(&s->mouse);
     lpdc->parent_realize(dev, errp);
 }
 
@@ -412,6 +417,9 @@ static void lasips2_mouse_port_init(Object *obj)
 
     memory_region_init_io(&lp->reg, obj, &lasips2_reg_ops, lp, "lasips2-mouse",
                           0x100);
+
+    object_initialize_child(obj, "mouse", &s->mouse, TYPE_PS2_MOUSE_DEVICE);
+
     lp->id = 1;
     lp->lasips2 = container_of(s, LASIPS2State, mouse_port);
 }
diff --git a/include/hw/input/lasips2.h b/include/hw/input/lasips2.h
index 4a0ad999d7..01911c50f9 100644
--- a/include/hw/input/lasips2.h
+++ b/include/hw/input/lasips2.h
@@ -61,6 +61,8 @@ OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2MousePort, LASIPS2_MOUSE_PORT)
 
 struct LASIPS2MousePort {
     LASIPS2Port parent_obj;
+
+    PS2MouseState mouse;
 };
 
 struct LASIPS2State {
-- 
2.30.2



  parent reply	other threads:[~2022-06-29 13:34 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-29 12:39 [PATCH 00/40] PS2 device QOMification - part 2 Mark Cave-Ayland
2022-06-29 12:39 ` [PATCH 01/40] pl050: move PL050State from pl050.c to new pl050.h header file Mark Cave-Ayland
2022-07-04 13:12   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 02/40] pl050: rename pl050_keyboard_init() to pl050_kbd_init() Mark Cave-Ayland
2022-07-04 13:12   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 03/40] pl050: change PL050State dev pointer from void to PS2State Mark Cave-Ayland
2022-07-04 13:14   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 04/40] pl050: introduce new PL050_KBD_DEVICE QOM type Mark Cave-Ayland
2022-07-04 13:15   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 05/40] pl050: introduce new PL050_MOUSE_DEVICE " Mark Cave-Ayland
2022-07-04 13:15   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 06/40] pl050: move logic from pl050_realize() to pl050_init() Mark Cave-Ayland
2022-07-04 13:16   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 07/40] pl050: introduce PL050DeviceClass for the PL050 device Mark Cave-Ayland
2022-07-04 13:17   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 08/40] pl050: introduce pl050_kbd_class_init() and pl050_kbd_realize() Mark Cave-Ayland
2022-07-04 13:17   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 09/40] pl050: introduce pl050_mouse_class_init() and pl050_mouse_realize() Mark Cave-Ayland
2022-07-04 13:18   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 10/40] pl050: don't use legacy ps2_kbd_init() function Mark Cave-Ayland
2022-07-04 13:20   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 11/40] pl050: don't use legacy ps2_mouse_init() function Mark Cave-Ayland
2022-07-04 13:20   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 12/40] lasips2: don't use vmstate_register() in lasips2_realize() Mark Cave-Ayland
2022-07-04 13:20   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 13/40] lasips2: remove the qdev base property and the lasips2_properties array Mark Cave-Ayland
2022-07-04 13:21   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 14/40] lasips2: remove legacy lasips2_initfn() function Mark Cave-Ayland
2022-07-04 13:22   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 15/40] lasips2: change LASIPS2State dev pointer from void to PS2State Mark Cave-Ayland
2022-07-04 13:22   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 16/40] lasips2: QOMify LASIPS2Port Mark Cave-Ayland
2022-07-04 13:23   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 17/40] lasips2: introduce new LASIPS2_KBD_PORT QOM type Mark Cave-Ayland
2022-07-04 13:22   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 18/40] lasips2: introduce new LASIPS2_MOUSE_PORT " Mark Cave-Ayland
2022-07-04 13:23   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 19/40] lasips2: move keyboard port initialisation to new lasips2_kbd_port_init() function Mark Cave-Ayland
2022-07-04 13:24   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 20/40] lasips2: move mouse port initialisation to new lasips2_mouse_port_init() function Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 21/40] lasips2: introduce lasips2_kbd_port_class_init() and lasips2_kbd_port_realize() Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 22/40] lasips2: introduce lasips2_mouse_port_class_init() and lasips2_mouse_port_realize() Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 23/40] lasips2: rename LASIPS2Port irq field to birq Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 24/40] lasips2: introduce port IRQ and new lasips2_port_init() function Mark Cave-Ayland
2022-07-04 13:26   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 25/40] lasips2: introduce LASIPS2PortDeviceClass for the LASIPS2_PORT device Mark Cave-Ayland
2022-07-04 13:26   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 26/40] lasips2: add named input gpio to port for downstream PS2 device IRQ Mark Cave-Ayland
2022-07-04 13:27   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 27/40] lasips2: add named input gpio to handle incoming port IRQs Mark Cave-Ayland
2022-07-04 13:27   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 28/40] lasips2: switch to using port-based IRQs Mark Cave-Ayland
2022-07-04 13:28   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 29/40] lasips2: rename LASIPS2Port parent pointer to lasips2 Mark Cave-Ayland
2022-07-04 13:28   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 30/40] lasips2: standardise on lp name for LASIPS2Port variables Mark Cave-Ayland
2022-07-04 13:29   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 31/40] lasips2: switch register memory region to DEVICE_BIG_ENDIAN Mark Cave-Ayland
2022-07-04 13:29   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 32/40] lasips2: don't use legacy ps2_kbd_init() function Mark Cave-Ayland
2022-07-04 13:29   ` Peter Maydell
2022-06-29 12:40 ` Mark Cave-Ayland [this message]
2022-07-04 13:30   ` [PATCH 33/40] lasips2: don't use legacy ps2_mouse_init() function Peter Maydell
2022-06-29 12:40 ` [PATCH 34/40] lasips2: update VMStateDescription for LASIPS2 device Mark Cave-Ayland
2022-07-04 13:38   ` Peter Maydell
2022-07-05  6:48     ` Mark Cave-Ayland
2022-07-05  8:18       ` Peter Maydell
2022-06-29 12:40 ` [PATCH 35/40] pckbd: introduce new vmstate_kbd_mmio VMStateDescription for the I8042_MMIO device Mark Cave-Ayland
2022-07-04 13:35   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 36/40] pckbd: don't use legacy ps2_kbd_init() function Mark Cave-Ayland
2022-07-04 13:36   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 37/40] ps2: remove unused " Mark Cave-Ayland
2022-07-04 13:37   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 38/40] pckbd: don't use legacy ps2_mouse_init() function Mark Cave-Ayland
2022-07-04 13:37   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 39/40] ps2: remove unused " Mark Cave-Ayland
2022-07-04 13:37   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 40/40] pckbd: remove legacy i8042_mm_init() function Mark Cave-Ayland
2022-07-04 13:38   ` Peter Maydell
2022-07-01 19:37 ` [PATCH 00/40] PS2 device QOMification - part 2 Helge Deller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220629124026.1077021-34-mark.cave-ayland@ilande.co.uk \
    --to=mark.cave-ayland@ilande.co.uk \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=deller@gmx.de \
    --cc=f4bug@amsat.org \
    --cc=hpoussin@reactos.org \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=svens@stackframe.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.