lasips2: change LASIPS2State 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-16-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:26 +01:00
parent 92bd278c3b
commit f4907cb5cf
2 changed files with 10 additions and 9 deletions

View File

@ -146,9 +146,9 @@ static void lasips2_reg_write(void *opaque, hwaddr addr, uint64_t val,
}
if (port->id) {
ps2_write_mouse(port->dev, val);
ps2_write_mouse(PS2_MOUSE_DEVICE(port->ps2dev), val);
} else {
ps2_write_keyboard(port->dev, val);
ps2_write_keyboard(PS2_KBD_DEVICE(port->ps2dev), val);
}
break;
@ -181,7 +181,7 @@ static uint64_t lasips2_reg_read(void *opaque, hwaddr addr, unsigned size)
break;
}
ret = ps2_read_data(port->dev);
ret = ps2_read_data(port->ps2dev);
break;
case REG_PS2_CONTROL:
@ -206,7 +206,7 @@ static uint64_t lasips2_reg_read(void *opaque, hwaddr addr, unsigned size)
ret |= LASIPS2_STATUS_RBNE;
}
} else {
if (!ps2_queue_empty(port->dev)) {
if (!ps2_queue_empty(port->ps2dev)) {
ret |= LASIPS2_STATUS_RBNE;
}
}
@ -259,12 +259,12 @@ static void lasips2_realize(DeviceState *dev, Error **errp)
{
LASIPS2State *s = LASIPS2(dev);
s->kbd.dev = ps2_kbd_init();
qdev_connect_gpio_out(DEVICE(s->kbd.dev), PS2_DEVICE_IRQ,
s->kbd.ps2dev = ps2_kbd_init();
qdev_connect_gpio_out(DEVICE(s->kbd.ps2dev), PS2_DEVICE_IRQ,
qdev_get_gpio_in_named(dev, "ps2-kbd-input-irq",
0));
s->mouse.dev = ps2_mouse_init();
qdev_connect_gpio_out(DEVICE(s->mouse.dev), PS2_DEVICE_IRQ,
s->mouse.ps2dev = ps2_mouse_init();
qdev_connect_gpio_out(DEVICE(s->mouse.ps2dev), PS2_DEVICE_IRQ,
qdev_get_gpio_in_named(dev, "ps2-mouse-input-irq",
0));
}

View File

@ -23,12 +23,13 @@
#include "exec/hwaddr.h"
#include "hw/sysbus.h"
#include "hw/input/ps2.h"
struct LASIPS2State;
typedef struct LASIPS2Port {
struct LASIPS2State *parent;
MemoryRegion reg;
void *dev;
PS2State *ps2dev;
uint8_t id;
uint8_t control;
uint8_t buf;