aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/s390x/css.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 3b16c82862..55cb26a7fe 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -63,7 +63,17 @@ typedef struct ChannelSubSys {
QTAILQ_HEAD(, IndAddr) indicator_addresses;
} ChannelSubSys;
-static ChannelSubSys channel_subsys;
+static ChannelSubSys channel_subsys = {
+ .pending_crws = QTAILQ_HEAD_INITIALIZER(channel_subsys.pending_crws),
+ .do_crw_mchk = true,
+ .sei_pending = false,
+ .do_crw_mchk = true,
+ .crws_lost = false,
+ .chnmon_active = false,
+ .io_adapters = QTAILQ_HEAD_INITIALIZER(channel_subsys.io_adapters),
+ .indicator_addresses =
+ QTAILQ_HEAD_INITIALIZER(channel_subsys.indicator_addresses),
+};
IndAddr *get_indicator(hwaddr ind_addr, int len)
{
@@ -1576,19 +1586,6 @@ int subch_device_load(SubchDev *s, QEMUFile *f)
return 0;
}
-
-static void css_init(void)
-{
- QTAILQ_INIT(&channel_subsys.pending_crws);
- channel_subsys.sei_pending = false;
- channel_subsys.do_crw_mchk = true;
- channel_subsys.crws_lost = false;
- channel_subsys.chnmon_active = false;
- QTAILQ_INIT(&channel_subsys.io_adapters);
- QTAILQ_INIT(&channel_subsys.indicator_addresses);
-}
-machine_init(css_init);
-
void css_reset_sch(SubchDev *sch)
{
PMCW *p = &sch->curr_status.pmcw;