[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 06/16] hw/display/xlnx_dp: Move problematic code
From: |
Thomas Huth |
Subject: |
[Qemu-devel] [PATCH v2 06/16] hw/display/xlnx_dp: Move problematic code from instance_init to realize |
Date: |
Fri, 13 Jul 2018 10:27:34 +0200 |
aux_create_slave() calls qdev_init_nofail() which in turn "realizes"
the corresponding object. Thus this most not be called from an
instance_init function. Move the code to the realize function instead.
Signed-off-by: Thomas Huth <address@hidden>
---
hw/display/xlnx_dp.c | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)
diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c
index 5130122..c7542d8 100644
--- a/hw/display/xlnx_dp.c
+++ b/hw/display/xlnx_dp.c
@@ -1225,28 +1225,23 @@ static void xlnx_dp_init(Object *obj)
xlnx_dp_set_dpdma,
OBJ_PROP_LINK_STRONG,
&error_abort);
+}
- /*
- * Initialize AUX Bus.
- */
- s->aux_bus = aux_init_bus(DEVICE(obj), "aux");
+static void xlnx_dp_realize(DeviceState *dev, Error **errp)
+{
+ XlnxDPState *s = XLNX_DP(dev);
+ DisplaySurface *surface;
+ struct audsettings as;
- /*
- * Initialize DPCD and EDID..
- */
+ s->aux_bus = aux_init_bus(dev, "aux");
+
+ /* Initialize DPCD and EDID */
s->dpcd = DPCD(aux_create_slave(s->aux_bus, "dpcd", 0x00000));
s->edid = I2CDDC(qdev_create(BUS(aux_get_i2c_bus(s->aux_bus)), "i2c-ddc"));
i2c_set_slave_address(I2C_SLAVE(s->edid), 0x50);
fifo8_create(&s->rx_fifo, 16);
fifo8_create(&s->tx_fifo, 16);
-}
-
-static void xlnx_dp_realize(DeviceState *dev, Error **errp)
-{
- XlnxDPState *s = XLNX_DP(dev);
- DisplaySurface *surface;
- struct audsettings as;
s->console = graphic_console_init(dev, 0, &xlnx_dp_gfx_ops, s);
surface = qemu_console_surface(s->console);
--
1.8.3.1
- Re: [Qemu-devel] [PATCH v2 01/16] qom/object: Add a new function object_initialize_child(), (continued)
[Qemu-devel] [PATCH v2 07/16] hw/arm/xlnx-zynqmp: Fix crash when introspecting the "xlnx, zynqmp" device, Thomas Huth, 2018/07/13
[Qemu-devel] [PATCH v2 08/16] hw/arm/msf2-soc: Fix introspection problem with the "msf2-soc" device, Thomas Huth, 2018/07/13
[Qemu-devel] [PATCH v2 09/16] hw/cpu/a9mpcore: Fix introspection problems with the "a9mpcore_priv" device, Thomas Huth, 2018/07/13