summary refs log tree commit diff stats
path: root/hw/misc/mac_via.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2020-06-09 14:23:17 +0200
committerMarkus Armbruster <armbru@redhat.com>2020-06-15 21:36:09 +0200
commitf6a1f93d6a43c6ede9f32de3b4ccb126998f322e (patch)
tree05ee6a519d7e47ff1c29978bc9b70ef6ceb75f73 /hw/misc/mac_via.c
parent2fb1f7d29932db2908bdaad0f03c326e800d5e62 (diff)
downloadfocaccia-qemu-f6a1f93d6a43c6ede9f32de3b4ccb126998f322e.tar.gz
focaccia-qemu-f6a1f93d6a43c6ede9f32de3b4ccb126998f322e.zip
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>
Diffstat (limited to 'hw/misc/mac_via.c')
0 files changed, 0 insertions, 0 deletions