summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Cave-Ayland2022-07-12 23:52:14 +0200
committerMark Cave-Ayland2022-07-18 20:28:45 +0200
commit33e0958e7eb9481baf59df826e024954c6e6b5ca (patch)
tree116cc61e2458a3ad8f720d717ccb93a84809b2fb
parentpl050: rename pl050_keyboard_init() to pl050_kbd_init() (diff)
downloadqemu-33e0958e7eb9481baf59df826e024954c6e6b5ca.tar.gz
qemu-33e0958e7eb9481baf59df826e024954c6e6b5ca.tar.xz
qemu-33e0958e7eb9481baf59df826e024954c6e6b5ca.zip
pl050: change PL050State dev pointer from void to PS2State
This allows the compiler to enforce that the PS2 device pointer is always of type PS2State. Update the name of the pointer from dev to ps2dev to emphasise this type change. 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-4-mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-rw-r--r--hw/input/pl050.c13
-rw-r--r--include/hw/input/pl050.h2
2 files changed, 8 insertions, 7 deletions
diff --git a/hw/input/pl050.c b/hw/input/pl050.c
index 8e32b8ed46..0d91b0eaea 100644
--- a/hw/input/pl050.c
+++ b/hw/input/pl050.c
@@ -101,7 +101,7 @@ static uint64_t pl050_read(void *opaque, hwaddr offset,
}
case 2: /* KMIDATA */
if (s->pending) {
- s->last = ps2_read_data(s->dev);
+ s->last = ps2_read_data(s->ps2dev);
}
return s->last;
case 3: /* KMICLKDIV */
@@ -130,9 +130,9 @@ static void pl050_write(void *opaque, hwaddr offset,
/* ??? This should toggle the TX interrupt line. */
/* ??? This means kbd/mouse can block each other. */
if (s->is_mouse) {
- ps2_write_mouse(s->dev, value);
+ ps2_write_mouse(PS2_MOUSE_DEVICE(s->ps2dev), value);
} else {
- ps2_write_keyboard(s->dev, value);
+ ps2_write_keyboard(PS2_KBD_DEVICE(s->ps2dev), value);
}
break;
case 3: /* KMICLKDIV */
@@ -158,11 +158,12 @@ static void pl050_realize(DeviceState *dev, Error **errp)
sysbus_init_mmio(sbd, &s->iomem);
sysbus_init_irq(sbd, &s->irq);
if (s->is_mouse) {
- s->dev = ps2_mouse_init();
+ s->ps2dev = ps2_mouse_init();
} else {
- s->dev = ps2_kbd_init();
+ s->ps2dev = ps2_kbd_init();
}
- qdev_connect_gpio_out(DEVICE(s->dev), PS2_DEVICE_IRQ,
+
+ qdev_connect_gpio_out(DEVICE(s->ps2dev), PS2_DEVICE_IRQ,
qdev_get_gpio_in_named(dev, "ps2-input-irq", 0));
}
diff --git a/include/hw/input/pl050.h b/include/hw/input/pl050.h
index 2bbf7a9d50..c1f6c5a1fb 100644
--- a/include/hw/input/pl050.h
+++ b/include/hw/input/pl050.h
@@ -23,7 +23,7 @@ struct PL050State {
SysBusDevice parent_obj;
MemoryRegion iomem;
- void *dev;
+ PS2State *ps2dev;
uint32_t cr;
uint32_t clk;
uint32_t last;