pl050: move PL050State from pl050.c to new pl050.h header file

This allows the QOM types in pl050.c to be used elsewhere by simply including
pl050.h.

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-2-mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
master
Mark Cave-Ayland 2022-07-12 22:52:12 +01:00
parent 7823789731
commit bce0e9c1ec
2 changed files with 36 additions and 15 deletions

View File

@ -19,26 +19,12 @@
#include "hw/sysbus.h"
#include "migration/vmstate.h"
#include "hw/input/ps2.h"
#include "hw/input/pl050.h"
#include "hw/irq.h"
#include "qemu/log.h"
#include "qemu/module.h"
#include "qom/object.h"
#define TYPE_PL050 "pl050"
OBJECT_DECLARE_SIMPLE_TYPE(PL050State, PL050)
struct PL050State {
SysBusDevice parent_obj;
MemoryRegion iomem;
void *dev;
uint32_t cr;
uint32_t clk;
uint32_t last;
int pending;
qemu_irq irq;
bool is_mouse;
};
static const VMStateDescription vmstate_pl050 = {
.name = "pl050",

35
include/hw/input/pl050.h Normal file
View File

@ -0,0 +1,35 @@
/*
* Arm PrimeCell PL050 Keyboard / Mouse Interface
*
* Copyright (c) 2006-2007 CodeSourcery.
* Written by Paul Brook
*
* This code is licensed under the GPL.
*/
#ifndef HW_PL050_H
#define HW_PL050_H
#include "qemu/osdep.h"
#include "hw/sysbus.h"
#include "migration/vmstate.h"
#include "hw/input/ps2.h"
#include "hw/irq.h"
#define TYPE_PL050 "pl050"
OBJECT_DECLARE_SIMPLE_TYPE(PL050State, PL050)
struct PL050State {
SysBusDevice parent_obj;
MemoryRegion iomem;
void *dev;
uint32_t cr;
uint32_t clk;
uint32_t last;
int pending;
qemu_irq irq;
bool is_mouse;
};
#endif