* [Qemu-devel] [PATCH 0/6] qdev: property fixups.
@ 2009-07-13 9:35 Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 1/6] qdev/prop: make uint32 accept both hex and decimal Gerd Hoffmann
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Hi,
Rebased my qdev patches. Figured build broke. BlueSwirl converted a
few devices to qdev, using the old property implementation. This patch
series fixes it up. Done as incremental as anthony has my qdev patches
already in his queue. Changes:
* adds 16bit integer property.
* adds target_phys_addr_t property (separate source+header to not drag
the target_phys_addr_t dependeny into everything which includes
qdev.h).
* switch over m48t59 and tcx to the new property implementation.
This is purely to fixup the build, the type checking issues raised by
Paul are not (yet) addressed. Will look into this later today.
cheers,
Gerd
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 1/6] qdev/prop: make uint32 accept both hex and decimal.
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
@ 2009-07-13 9:36 ` Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 2/6] qdev/prop: add 16bit integer type Gerd Hoffmann
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/qdev-properties.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index b4f4f21..cf1ad22 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -12,8 +12,11 @@ static void *prop_ptr(DeviceState *dev, Property *prop)
static int parse_uint32(DeviceState *dev, Property *prop, const char *str)
{
uint32_t *ptr = prop_ptr(dev, prop);
+ const char *fmt;
- if (sscanf(str, "%" PRIu32, ptr) != 1)
+ /* accept both hex and decimal */
+ fmt = strncasecmp(str, "0x",2) == 0 ? "%" PRIx32 : "%" PRIu32;
+ if (sscanf(str, fmt, ptr) != 1)
return -1;
return 0;
}
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 2/6] qdev/prop: add 16bit integer type.
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 1/6] qdev/prop: make uint32 accept both hex and decimal Gerd Hoffmann
@ 2009-07-13 9:36 ` Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 3/6] qdev/prop: unstatic and rename prop_ptr() Gerd Hoffmann
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/qdev-properties.c | 32 ++++++++++++++++++++++++++++++++
hw/qdev.h | 2 ++
2 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index cf1ad22..abd4b57 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -7,6 +7,33 @@ static void *prop_ptr(DeviceState *dev, Property *prop)
return ptr;
}
+/* --- 16bit integer --- */
+
+static int parse_uint16(DeviceState *dev, Property *prop, const char *str)
+{
+ uint16_t *ptr = prop_ptr(dev, prop);
+ const char *fmt;
+
+ /* accept both hex and decimal */
+ fmt = strncasecmp(str, "0x",2) == 0 ? "%" PRIx16 : "%" PRIu16;
+ if (sscanf(str, fmt, ptr) != 1)
+ return -1;
+ return 0;
+}
+
+static int print_uint16(DeviceState *dev, Property *prop, char *dest, size_t len)
+{
+ uint16_t *ptr = prop_ptr(dev, prop);
+ return snprintf(dest, len, "%" PRIu16, *ptr);
+}
+
+PropertyInfo qdev_prop_uint16 = {
+ .name = "uint16",
+ .size = sizeof(uint16_t),
+ .parse = parse_uint16,
+ .print = print_uint16,
+};
+
/* --- 32bit integer --- */
static int parse_uint32(DeviceState *dev, Property *prop, const char *str)
@@ -183,6 +210,11 @@ int qdev_prop_set(DeviceState *dev, const char *name, void *src, size_t size)
return 0;
}
+int qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t value)
+{
+ return qdev_prop_set(dev, name, &value, sizeof(value));
+}
+
int qdev_prop_set_uint32(DeviceState *dev, const char *name, uint32_t value)
{
return qdev_prop_set(dev, name, &value, sizeof(value));
diff --git a/hw/qdev.h b/hw/qdev.h
index c61ef4a..d7f51fb 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -128,6 +128,7 @@ void do_info_qtree(Monitor *mon);
/*** qdev-properties.c ***/
+extern PropertyInfo qdev_prop_uint16;
extern PropertyInfo qdev_prop_uint32;
extern PropertyInfo qdev_prop_hex32;
extern PropertyInfo qdev_prop_ptr;
@@ -136,6 +137,7 @@ extern PropertyInfo qdev_prop_mac;
/* Set properties between creation and init. */
int qdev_prop_parse(DeviceState *dev, const char *name, const char *value);
int qdev_prop_set(DeviceState *dev, const char *name, void *src, size_t size);
+int qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t value);
int qdev_prop_set_uint32(DeviceState *dev, const char *name, uint32_t value);
/* FIXME: Remove opaque pointer properties. */
int qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 3/6] qdev/prop: unstatic and rename prop_ptr()
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 1/6] qdev/prop: make uint32 accept both hex and decimal Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 2/6] qdev/prop: add 16bit integer type Gerd Hoffmann
@ 2009-07-13 9:36 ` Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 4/6] qdev/prop: add property for target_phys_addr_t Gerd Hoffmann
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/qdev-properties.c | 24 ++++++++++++------------
hw/qdev.h | 1 +
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index abd4b57..3c31e31 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -1,6 +1,6 @@
#include "qdev.h"
-static void *prop_ptr(DeviceState *dev, Property *prop)
+void *qdev_get_prop_ptr(DeviceState *dev, Property *prop)
{
void *ptr = dev;
ptr += prop->offset;
@@ -11,7 +11,7 @@ static void *prop_ptr(DeviceState *dev, Property *prop)
static int parse_uint16(DeviceState *dev, Property *prop, const char *str)
{
- uint16_t *ptr = prop_ptr(dev, prop);
+ uint16_t *ptr = qdev_get_prop_ptr(dev, prop);
const char *fmt;
/* accept both hex and decimal */
@@ -23,7 +23,7 @@ static int parse_uint16(DeviceState *dev, Property *prop, const char *str)
static int print_uint16(DeviceState *dev, Property *prop, char *dest, size_t len)
{
- uint16_t *ptr = prop_ptr(dev, prop);
+ uint16_t *ptr = qdev_get_prop_ptr(dev, prop);
return snprintf(dest, len, "%" PRIu16, *ptr);
}
@@ -38,7 +38,7 @@ PropertyInfo qdev_prop_uint16 = {
static int parse_uint32(DeviceState *dev, Property *prop, const char *str)
{
- uint32_t *ptr = prop_ptr(dev, prop);
+ uint32_t *ptr = qdev_get_prop_ptr(dev, prop);
const char *fmt;
/* accept both hex and decimal */
@@ -50,7 +50,7 @@ static int parse_uint32(DeviceState *dev, Property *prop, const char *str)
static int print_uint32(DeviceState *dev, Property *prop, char *dest, size_t len)
{
- uint32_t *ptr = prop_ptr(dev, prop);
+ uint32_t *ptr = qdev_get_prop_ptr(dev, prop);
return snprintf(dest, len, "%" PRIu32, *ptr);
}
@@ -65,7 +65,7 @@ PropertyInfo qdev_prop_uint32 = {
static int parse_hex32(DeviceState *dev, Property *prop, const char *str)
{
- uint32_t *ptr = prop_ptr(dev, prop);
+ uint32_t *ptr = qdev_get_prop_ptr(dev, prop);
if (sscanf(str, "%" PRIx32, ptr) != 1)
return -1;
@@ -74,7 +74,7 @@ static int parse_hex32(DeviceState *dev, Property *prop, const char *str)
static int print_hex32(DeviceState *dev, Property *prop, char *dest, size_t len)
{
- uint32_t *ptr = prop_ptr(dev, prop);
+ uint32_t *ptr = qdev_get_prop_ptr(dev, prop);
return snprintf(dest, len, "0x%" PRIx32, *ptr);
}
@@ -89,7 +89,7 @@ PropertyInfo qdev_prop_hex32 = {
static int print_ptr(DeviceState *dev, Property *prop, char *dest, size_t len)
{
- void **ptr = prop_ptr(dev, prop);
+ void **ptr = qdev_get_prop_ptr(dev, prop);
return snprintf(dest, len, "<%p>", *ptr);
}
@@ -108,7 +108,7 @@ PropertyInfo qdev_prop_ptr = {
*/
static int parse_mac(DeviceState *dev, Property *prop, const char *str)
{
- uint8_t *mac = prop_ptr(dev, prop);
+ uint8_t *mac = qdev_get_prop_ptr(dev, prop);
int i, pos;
char *p;
@@ -128,7 +128,7 @@ static int parse_mac(DeviceState *dev, Property *prop, const char *str)
static int print_mac(DeviceState *dev, Property *prop, char *dest, size_t len)
{
- uint8_t *mac = prop_ptr(dev, prop);
+ uint8_t *mac = qdev_get_prop_ptr(dev, prop);
return snprintf(dest, len, "%02x:%02x:%02x:%02x:%02x:%02x",
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
}
@@ -205,7 +205,7 @@ int qdev_prop_set(DeviceState *dev, const char *name, void *src, size_t size)
dev->info->name, name, prop->info->size, size);
return -1;
}
- dst = prop_ptr(dev, prop);
+ dst = qdev_get_prop_ptr(dev, prop);
memcpy(dst, src, size);
return 0;
}
@@ -233,7 +233,7 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props)
return;
while (props->name) {
if (props->defval) {
- dst = prop_ptr(dev, props);
+ dst = qdev_get_prop_ptr(dev, props);
memcpy(dst, props->defval, props->info->size);
}
props++;
diff --git a/hw/qdev.h b/hw/qdev.h
index d7f51fb..6b35961 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -135,6 +135,7 @@ extern PropertyInfo qdev_prop_ptr;
extern PropertyInfo qdev_prop_mac;
/* Set properties between creation and init. */
+void *qdev_get_prop_ptr(DeviceState *dev, Property *prop);
int qdev_prop_parse(DeviceState *dev, const char *name, const char *value);
int qdev_prop_set(DeviceState *dev, const char *name, void *src, size_t size);
int qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t value);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 4/6] qdev/prop: add property for target_phys_addr_t
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
` (2 preceding siblings ...)
2009-07-13 9:36 ` [Qemu-devel] [PATCH 3/6] qdev/prop: unstatic and rename prop_ptr() Gerd Hoffmann
@ 2009-07-13 9:36 ` Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 5/6] qdev/prop: convert m48t59 Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 6/6] qdev/prop: convert tcx Gerd Hoffmann
5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
Makefile.hw | 2 +-
hw/qdev-addr.c | 31 +++++++++++++++++++++++++++++++
hw/qdev-addr.h | 2 ++
3 files changed, 34 insertions(+), 1 deletions(-)
create mode 100644 hw/qdev-addr.c
create mode 100644 hw/qdev-addr.h
diff --git a/Makefile.hw b/Makefile.hw
index f7a9507..571e518 100644
--- a/Makefile.hw
+++ b/Makefile.hw
@@ -26,7 +26,7 @@ obj-y += m48t59.o escc.o
# SCSI layer
obj-y += lsi53c895a.o esp.o
-obj-y += dma-helpers.o sysbus.o
+obj-y += dma-helpers.o sysbus.o qdev-addr.o
all: $(HWLIB)
# Dummy command so that make thinks it has done something
diff --git a/hw/qdev-addr.c b/hw/qdev-addr.c
new file mode 100644
index 0000000..f1bf2fa
--- /dev/null
+++ b/hw/qdev-addr.c
@@ -0,0 +1,31 @@
+#include "qdev.h"
+#include "qdev-addr.h"
+#include "targphys.h"
+
+/* --- target physical address --- */
+
+static int parse_taddr(DeviceState *dev, Property *prop, const char *str)
+{
+ target_phys_addr_t *ptr = qdev_get_prop_ptr(dev, prop);
+
+ *ptr = strtoull(str, NULL, 16);
+ return 0;
+}
+
+static int print_taddr(DeviceState *dev, Property *prop, char *dest, size_t len)
+{
+ target_phys_addr_t *ptr = qdev_get_prop_ptr(dev, prop);
+ return snprintf(dest, len, "0x" TARGET_FMT_plx, *ptr);
+}
+
+PropertyInfo qdev_prop_taddr = {
+ .name = "taddr",
+ .size = sizeof(target_phys_addr_t),
+ .parse = parse_taddr,
+ .print = print_taddr,
+};
+
+int qdev_prop_set_taddr(DeviceState *dev, const char *name, target_phys_addr_t value)
+{
+ return qdev_prop_set(dev, name, &value, sizeof(value));
+}
diff --git a/hw/qdev-addr.h b/hw/qdev-addr.h
new file mode 100644
index 0000000..389c1d6
--- /dev/null
+++ b/hw/qdev-addr.h
@@ -0,0 +1,2 @@
+extern PropertyInfo qdev_prop_taddr;
+int qdev_prop_set_taddr(DeviceState *dev, const char *name, target_phys_addr_t value);
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 5/6] qdev/prop: convert m48t59
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
` (3 preceding siblings ...)
2009-07-13 9:36 ` [Qemu-devel] [PATCH 4/6] qdev/prop: add property for target_phys_addr_t Gerd Hoffmann
@ 2009-07-13 9:36 ` Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 6/6] qdev/prop: convert tcx Gerd Hoffmann
5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/m48t59.c | 39 ++++++++++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/hw/m48t59.c b/hw/m48t59.c
index 798d292..7e53dce 100644
--- a/hw/m48t59.c
+++ b/hw/m48t59.c
@@ -43,11 +43,11 @@
struct m48t59_t {
SysBusDevice busdev;
/* Model parameters */
- int type; // 2 = m48t02, 8 = m48t08, 59 = m48t59
+ uint32_t type; // 2 = m48t02, 8 = m48t08, 59 = m48t59
/* Hardware parameters */
qemu_irq IRQ;
uint32_t io_base;
- uint16_t size;
+ uint32_t size;
/* RTC management */
time_t time_offset;
time_t stop_time;
@@ -623,9 +623,9 @@ m48t59_t *m48t59_init (qemu_irq IRQ, target_phys_addr_t mem_base,
m48t59_t *d;
dev = qdev_create(NULL, "m48t59");
- qdev_set_prop_int(dev, "type", type);
- qdev_set_prop_int(dev, "size", size);
- qdev_set_prop_int(dev, "io_base", io_base);
+ qdev_prop_set_uint32(dev, "type", type);
+ qdev_prop_set_uint32(dev, "size", size);
+ qdev_prop_set_uint32(dev, "io_base", io_base);
qdev_init(dev);
s = sysbus_from_qdev(dev);
sysbus_connect_irq(s, 0, IRQ);
@@ -647,11 +647,8 @@ static void m48t59_init1(SysBusDevice *dev)
m48t59_t *s = FROM_SYSBUS(m48t59_t, dev);
int mem_index;
- s->size = qdev_get_prop_int(&dev->qdev, "size", -1);
s->buffer = qemu_mallocz(s->size);
sysbus_init_irq(dev, &s->IRQ);
- s->io_base = qdev_get_prop_int(&dev->qdev, "io_base", 0);
- s->type = qdev_get_prop_int(&dev->qdev, "type", -1);
mem_index = cpu_register_io_memory(nvram_read, nvram_write, s);
sysbus_init_mmio(dev, s->size, mem_index);
@@ -666,9 +663,33 @@ static void m48t59_init1(SysBusDevice *dev)
register_savevm("m48t59", -1, 1, m48t59_save, m48t59_load, s);
}
+static SysBusDeviceInfo m48t59_info = {
+ .init = m48t59_init1,
+ .qdev.name = "m48t59",
+ .qdev.size = sizeof(m48t59_t),
+ .qdev.props = (Property[]) {
+ {
+ .name = "size",
+ .info = &qdev_prop_uint32,
+ .offset = offsetof(m48t59_t, size),
+ .defval = (uint32_t[]) { -1 },
+ },{
+ .name = "type",
+ .info = &qdev_prop_uint32,
+ .offset = offsetof(m48t59_t, type),
+ .defval = (uint32_t[]) { -1 },
+ },{
+ .name = "io_base",
+ .info = &qdev_prop_hex32,
+ .offset = offsetof(m48t59_t, io_base),
+ },
+ {/* end of list */}
+ }
+};
+
static void m48t59_register_devices(void)
{
- sysbus_register_dev("m48t59", sizeof(m48t59_t), m48t59_init1);
+ sysbus_register_withprop(&m48t59_info);
}
device_init(m48t59_register_devices)
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 6/6] qdev/prop: convert tcx
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
` (4 preceding siblings ...)
2009-07-13 9:36 ` [Qemu-devel] [PATCH 5/6] qdev/prop: convert m48t59 Gerd Hoffmann
@ 2009-07-13 9:36 ` Gerd Hoffmann
5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2009-07-13 9:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/tcx.c | 49 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/hw/tcx.c b/hw/tcx.c
index d9b07cc..5c485c0 100644
--- a/hw/tcx.c
+++ b/hw/tcx.c
@@ -26,6 +26,7 @@
#include "console.h"
#include "pixel_ops.h"
#include "sysbus.h"
+#include "qdev-addr.h"
#define MAXX 1024
#define MAXY 768
@@ -41,6 +42,7 @@ typedef struct TCXState {
uint8_t *vram;
uint32_t *vram24, *cplane;
ram_addr_t vram_offset, vram24_offset, cplane_offset;
+ uint32_t vram_size;
uint16_t width, height, depth;
uint8_t r[256], g[256], b[256];
uint32_t palette[256];
@@ -506,11 +508,11 @@ void tcx_init(target_phys_addr_t addr, int vram_size, int width, int height,
SysBusDevice *s;
dev = qdev_create(NULL, "SUNW,tcx");
- qdev_set_prop_int(dev, "addr", addr);
- qdev_set_prop_int(dev, "vram_size", vram_size);
- qdev_set_prop_int(dev, "width", width);
- qdev_set_prop_int(dev, "height", height);
- qdev_set_prop_int(dev, "depth", depth);
+ qdev_prop_set_taddr(dev, "addr", addr);
+ qdev_prop_set_uint32(dev, "vram_size", vram_size);
+ qdev_prop_set_uint16(dev, "width", width);
+ qdev_prop_set_uint16(dev, "height", height);
+ qdev_prop_set_uint16(dev, "depth", depth);
qdev_init(dev);
s = sysbus_from_qdev(dev);
/* 8-bit plane */
@@ -664,9 +666,44 @@ static void tcx24_screen_dump(void *opaque, const char *filename)
return;
}
+static SysBusDeviceInfo tcx_info = {
+ .init = tcx_init1,
+ .qdev.name = "SUNW,tcx",
+ .qdev.size = sizeof(TCXState),
+ .qdev.props = (Property[]) {
+ {
+ .name = "addr",
+ .info = &qdev_prop_taddr,
+ .offset = offsetof(TCXState, addr),
+ .defval = (target_phys_addr_t[]) { -1 },
+ },{
+ .name = "vram_size",
+ .info = &qdev_prop_hex32,
+ .offset = offsetof(TCXState, vram_size),
+ .defval = (uint32_t[]) { -1 },
+ },{
+ .name = "width",
+ .info = &qdev_prop_uint16,
+ .offset = offsetof(TCXState, width),
+ .defval = (uint16_t[]) { -1 },
+ },{
+ .name = "height",
+ .info = &qdev_prop_uint16,
+ .offset = offsetof(TCXState, height),
+ .defval = (uint16_t[]) { -1 },
+ },{
+ .name = "depth",
+ .info = &qdev_prop_uint16,
+ .offset = offsetof(TCXState, depth),
+ .defval = (uint16_t[]) { -1 },
+ },
+ {/* end of list */}
+ }
+};
+
static void tcx_register_devices(void)
{
- sysbus_register_dev("SUNW,tcx", sizeof(TCXState), tcx_init1);
+ sysbus_register_withprop(&tcx_info);
}
device_init(tcx_register_devices)
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-07-13 9:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-13 9:35 [Qemu-devel] [PATCH 0/6] qdev: property fixups Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 1/6] qdev/prop: make uint32 accept both hex and decimal Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 2/6] qdev/prop: add 16bit integer type Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 3/6] qdev/prop: unstatic and rename prop_ptr() Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 4/6] qdev/prop: add property for target_phys_addr_t Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 5/6] qdev/prop: convert m48t59 Gerd Hoffmann
2009-07-13 9:36 ` [Qemu-devel] [PATCH 6/6] qdev/prop: convert tcx Gerd Hoffmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).