aboutsummaryrefslogtreecommitdiff
path: root/hw/gpio
diff options
context:
space:
mode:
Diffstat (limited to 'hw/gpio')
-rw-r--r--hw/gpio/gpio_key.c9
-rw-r--r--hw/gpio/max7310.c9
-rw-r--r--hw/gpio/mpc8xxx.c9
-rw-r--r--hw/gpio/pl061.c9
-rw-r--r--hw/gpio/puv3_gpio.c9
-rw-r--r--hw/gpio/zaurus.c6
6 files changed, 34 insertions, 17 deletions
diff --git a/hw/gpio/gpio_key.c b/hw/gpio/gpio_key.c
index 46bbd42772..86aa78aae4 100644
--- a/hw/gpio/gpio_key.c
+++ b/hw/gpio/gpio_key.c
@@ -28,17 +28,20 @@
#include "migration/vmstate.h"
#include "qemu/module.h"
#include "qemu/timer.h"
+#include "qom/object.h"
#define TYPE_GPIOKEY "gpio-key"
-#define GPIOKEY(obj) OBJECT_CHECK(GPIOKEYState, (obj), TYPE_GPIOKEY)
+typedef struct GPIOKEYState GPIOKEYState;
+DECLARE_INSTANCE_CHECKER(GPIOKEYState, GPIOKEY,
+ TYPE_GPIOKEY)
#define GPIO_KEY_LATENCY 100 /* 100ms */
-typedef struct GPIOKEYState {
+struct GPIOKEYState {
SysBusDevice parent_obj;
QEMUTimer *timer;
qemu_irq irq;
-} GPIOKEYState;
+};
static const VMStateDescription vmstate_gpio_key = {
.name = "gpio-key",
diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c
index 4f78774dc8..5511047f35 100644
--- a/hw/gpio/max7310.c
+++ b/hw/gpio/max7310.c
@@ -14,11 +14,14 @@
#include "hw/irq.h"
#include "migration/vmstate.h"
#include "qemu/module.h"
+#include "qom/object.h"
#define TYPE_MAX7310 "max7310"
-#define MAX7310(obj) OBJECT_CHECK(MAX7310State, (obj), TYPE_MAX7310)
+typedef struct MAX7310State MAX7310State;
+DECLARE_INSTANCE_CHECKER(MAX7310State, MAX7310,
+ TYPE_MAX7310)
-typedef struct MAX7310State {
+struct MAX7310State {
I2CSlave parent_obj;
int i2c_command_byte;
@@ -31,7 +34,7 @@ typedef struct MAX7310State {
uint8_t command;
qemu_irq handler[8];
qemu_irq *gpio_in;
-} MAX7310State;
+};
static void max7310_reset(DeviceState *dev)
{
diff --git a/hw/gpio/mpc8xxx.c b/hw/gpio/mpc8xxx.c
index 1d99667094..dac8b1be38 100644
--- a/hw/gpio/mpc8xxx.c
+++ b/hw/gpio/mpc8xxx.c
@@ -24,11 +24,14 @@
#include "hw/sysbus.h"
#include "migration/vmstate.h"
#include "qemu/module.h"
+#include "qom/object.h"
#define TYPE_MPC8XXX_GPIO "mpc8xxx_gpio"
-#define MPC8XXX_GPIO(obj) OBJECT_CHECK(MPC8XXXGPIOState, (obj), TYPE_MPC8XXX_GPIO)
+typedef struct MPC8XXXGPIOState MPC8XXXGPIOState;
+DECLARE_INSTANCE_CHECKER(MPC8XXXGPIOState, MPC8XXX_GPIO,
+ TYPE_MPC8XXX_GPIO)
-typedef struct MPC8XXXGPIOState {
+struct MPC8XXXGPIOState {
SysBusDevice parent_obj;
MemoryRegion iomem;
@@ -41,7 +44,7 @@ typedef struct MPC8XXXGPIOState {
uint32_t ier;
uint32_t imr;
uint32_t icr;
-} MPC8XXXGPIOState;
+};
static const VMStateDescription vmstate_mpc8xxx_gpio = {
.name = "mpc8xxx_gpio",
diff --git a/hw/gpio/pl061.c b/hw/gpio/pl061.c
index 6d3c36bc16..3420df0d1f 100644
--- a/hw/gpio/pl061.c
+++ b/hw/gpio/pl061.c
@@ -14,6 +14,7 @@
#include "migration/vmstate.h"
#include "qemu/log.h"
#include "qemu/module.h"
+#include "qom/object.h"
//#define DEBUG_PL061 1
@@ -34,11 +35,13 @@ static const uint8_t pl061_id_luminary[12] =
{ 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x18, 0x01, 0x0d, 0xf0, 0x05, 0xb1 };
#define TYPE_PL061 "pl061"
-#define PL061(obj) OBJECT_CHECK(PL061State, (obj), TYPE_PL061)
+typedef struct PL061State PL061State;
+DECLARE_INSTANCE_CHECKER(PL061State, PL061,
+ TYPE_PL061)
#define N_GPIOS 8
-typedef struct PL061State {
+struct PL061State {
SysBusDevice parent_obj;
MemoryRegion iomem;
@@ -67,7 +70,7 @@ typedef struct PL061State {
qemu_irq out[N_GPIOS];
const unsigned char *id;
uint32_t rsvd_start; /* reserved area: [rsvd_start, 0xfcc] */
-} PL061State;
+};
static const VMStateDescription vmstate_pl061 = {
.name = "pl061",
diff --git a/hw/gpio/puv3_gpio.c b/hw/gpio/puv3_gpio.c
index 7362b6715f..98ea2b4c2e 100644
--- a/hw/gpio/puv3_gpio.c
+++ b/hw/gpio/puv3_gpio.c
@@ -11,6 +11,7 @@
#include "qemu/osdep.h"
#include "hw/sysbus.h"
+#include "qom/object.h"
#undef DEBUG_PUV3
#include "hw/unicore32/puv3.h"
@@ -18,9 +19,11 @@
#include "qemu/log.h"
#define TYPE_PUV3_GPIO "puv3_gpio"
-#define PUV3_GPIO(obj) OBJECT_CHECK(PUV3GPIOState, (obj), TYPE_PUV3_GPIO)
+typedef struct PUV3GPIOState PUV3GPIOState;
+DECLARE_INSTANCE_CHECKER(PUV3GPIOState, PUV3_GPIO,
+ TYPE_PUV3_GPIO)
-typedef struct PUV3GPIOState {
+struct PUV3GPIOState {
SysBusDevice parent_obj;
MemoryRegion iomem;
@@ -29,7 +32,7 @@ typedef struct PUV3GPIOState {
uint32_t reg_GPLR;
uint32_t reg_GPDR;
uint32_t reg_GPIR;
-} PUV3GPIOState;
+};
static uint64_t puv3_gpio_read(void *opaque, hwaddr offset,
unsigned size)
diff --git a/hw/gpio/zaurus.c b/hw/gpio/zaurus.c
index 258e926493..3d25c55d06 100644
--- a/hw/gpio/zaurus.c
+++ b/hw/gpio/zaurus.c
@@ -23,13 +23,15 @@
#include "migration/vmstate.h"
#include "qemu/module.h"
#include "qemu/log.h"
+#include "qom/object.h"
/* SCOOP devices */
#define TYPE_SCOOP "scoop"
-#define SCOOP(obj) OBJECT_CHECK(ScoopInfo, (obj), TYPE_SCOOP)
-
typedef struct ScoopInfo ScoopInfo;
+DECLARE_INSTANCE_CHECKER(ScoopInfo, SCOOP,
+ TYPE_SCOOP)
+
struct ScoopInfo {
SysBusDevice parent_obj;