lasips2: QOMify LASIPS2Port
This becomes an abstract QOM type which will be a parent type for separate keyboard and mouse port types. 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-17-mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
f4907cb5cf
commit
f8d89a7da4
@ -311,9 +311,17 @@ static const TypeInfo lasips2_info = {
|
|||||||
.class_init = lasips2_class_init,
|
.class_init = lasips2_class_init,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const TypeInfo lasips2_port_info = {
|
||||||
|
.name = TYPE_LASIPS2_PORT,
|
||||||
|
.parent = TYPE_DEVICE,
|
||||||
|
.instance_size = sizeof(LASIPS2Port),
|
||||||
|
.abstract = true,
|
||||||
|
};
|
||||||
|
|
||||||
static void lasips2_register_types(void)
|
static void lasips2_register_types(void)
|
||||||
{
|
{
|
||||||
type_register_static(&lasips2_info);
|
type_register_static(&lasips2_info);
|
||||||
|
type_register_static(&lasips2_port_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
type_init(lasips2_register_types)
|
type_init(lasips2_register_types)
|
||||||
|
@ -25,9 +25,15 @@
|
|||||||
#include "hw/sysbus.h"
|
#include "hw/sysbus.h"
|
||||||
#include "hw/input/ps2.h"
|
#include "hw/input/ps2.h"
|
||||||
|
|
||||||
struct LASIPS2State;
|
#define TYPE_LASIPS2_PORT "lasips2-port"
|
||||||
typedef struct LASIPS2Port {
|
OBJECT_DECLARE_SIMPLE_TYPE(LASIPS2Port, LASIPS2_PORT)
|
||||||
struct LASIPS2State *parent;
|
|
||||||
|
typedef struct LASIPS2State LASIPS2State;
|
||||||
|
|
||||||
|
struct LASIPS2Port {
|
||||||
|
DeviceState parent_obj;
|
||||||
|
|
||||||
|
LASIPS2State *parent;
|
||||||
MemoryRegion reg;
|
MemoryRegion reg;
|
||||||
PS2State *ps2dev;
|
PS2State *ps2dev;
|
||||||
uint8_t id;
|
uint8_t id;
|
||||||
@ -35,7 +41,7 @@ typedef struct LASIPS2Port {
|
|||||||
uint8_t buf;
|
uint8_t buf;
|
||||||
bool loopback_rbne;
|
bool loopback_rbne;
|
||||||
bool irq;
|
bool irq;
|
||||||
} LASIPS2Port;
|
};
|
||||||
|
|
||||||
struct LASIPS2State {
|
struct LASIPS2State {
|
||||||
SysBusDevice parent_obj;
|
SysBusDevice parent_obj;
|
||||||
|
Loading…
Reference in New Issue
Block a user