display/xlnx_dp: Fix to realize "i2c-ddc" and "aux-to-i2c-bridge"
authorMarkus Armbruster <armbru@redhat.com>
Tue, 9 Jun 2020 12:23:17 +0000 (14:23 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 15 Jun 2020 19:36:09 +0000 (21:36 +0200)
commitf6a1f93d6a43c6ede9f32de3b4ccb126998f322e
tree05ee6a519d7e47ff1c29978bc9b70ef6ceb75f73
parent2fb1f7d29932db2908bdaad0f03c326e800d5e62
display/xlnx_dp: Fix to realize "i2c-ddc" and "aux-to-i2c-bridge"

xlnx_dp_init() creates these two devices, but they're never realized.
Affects machine xlnx-zcu102.

In theory, a device becomes real only on realize.  In practice, the
transition from unreal to real is a fuzzy one.  The work to make a
device real can be spread between realize methods (fine),
instance_init methods (wrong), and board code wiring up the device
(fine as long as it effectively happens on realize).  Depending on
what exactly is done where, a device can work even when we neglect to
realize it.

These two appear to work.  Nevertheless, it's a clear misuse of the
interface.  Even when it works today (more or less by chance), it can
break tomorrow.

Fix by realizing them in xlnx_dp_realize().

Fixes: 58ac482a66de09a7590f705e53fc6a3fb8a055e8
Cc: KONRAD Frederic <fred.konrad@greensocs.com>
Cc: Alistair Francis <alistair@alistair23.me>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20200609122339.937862-3-armbru@redhat.com>
hw/display/xlnx_dp.c