Unbreak Sparc32 and PPC

Convert qdev ptr type to chr, allow a NULL pointer.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Blue Swirl 2009-08-13 16:26:52 +00:00
parent aa0cba4a62
commit bc19fcaa1b
2 changed files with 10 additions and 5 deletions

View File

@ -737,8 +737,8 @@ int escc_init(target_phys_addr_t base, qemu_irq irqA, qemu_irq irqB,
qdev_prop_set_uint32(dev, "disabled", 0); qdev_prop_set_uint32(dev, "disabled", 0);
qdev_prop_set_uint32(dev, "frequency", clock); qdev_prop_set_uint32(dev, "frequency", clock);
qdev_prop_set_uint32(dev, "it_shift", it_shift); qdev_prop_set_uint32(dev, "it_shift", it_shift);
qdev_prop_set_ptr(dev, "chrB", chrB); qdev_prop_set_chr(dev, "chrB", chrB);
qdev_prop_set_ptr(dev, "chrA", chrA); qdev_prop_set_chr(dev, "chrA", chrA);
qdev_prop_set_uint32(dev, "chnBtype", ser); qdev_prop_set_uint32(dev, "chnBtype", ser);
qdev_prop_set_uint32(dev, "chnAtype", ser); qdev_prop_set_uint32(dev, "chnAtype", ser);
qdev_init(dev); qdev_init(dev);
@ -900,8 +900,8 @@ void slavio_serial_ms_kbd_init(target_phys_addr_t base, qemu_irq irq,
qdev_prop_set_uint32(dev, "disabled", disabled); qdev_prop_set_uint32(dev, "disabled", disabled);
qdev_prop_set_uint32(dev, "frequency", clock); qdev_prop_set_uint32(dev, "frequency", clock);
qdev_prop_set_uint32(dev, "it_shift", it_shift); qdev_prop_set_uint32(dev, "it_shift", it_shift);
qdev_prop_set_ptr(dev, "chrB", NULL); qdev_prop_set_chr(dev, "chrB", NULL);
qdev_prop_set_ptr(dev, "chrA", NULL); qdev_prop_set_chr(dev, "chrA", NULL);
qdev_prop_set_uint32(dev, "chnBtype", mouse); qdev_prop_set_uint32(dev, "chnBtype", mouse);
qdev_prop_set_uint32(dev, "chnAtype", kbd); qdev_prop_set_uint32(dev, "chnAtype", kbd);
qdev_init(dev); qdev_init(dev);

View File

@ -173,7 +173,12 @@ PropertyInfo qdev_prop_drive = {
static int print_chr(DeviceState *dev, Property *prop, char *dest, size_t len) static int print_chr(DeviceState *dev, Property *prop, char *dest, size_t len)
{ {
CharDriverState **ptr = qdev_get_prop_ptr(dev, prop); CharDriverState **ptr = qdev_get_prop_ptr(dev, prop);
return snprintf(dest, len, "%s", (*ptr)->label);
if (*ptr && (*ptr)->label) {
return snprintf(dest, len, "%s", (*ptr)->label);
} else {
return snprintf(dest, len, "<null>");
}
} }
PropertyInfo qdev_prop_chr = { PropertyInfo qdev_prop_chr = {