@@ -62,7 +62,15 @@ typedef struct ChannelSubSys {
QTAILQ_HEAD(, IoAdapter) io_adapters;
} 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),
+};
int css_create_css_image(uint8_t cssid, bool default_image)
{
@@ -1514,18 +1522,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);
-}
-machine_init(css_init);
-
void css_reset_sch(SubchDev *sch)
{
PMCW *p = &sch->curr_status.pmcw;
machine_init() will be gone, but we don't need it if we just initialize the channel_subsys fields statically. Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- hw/s390x/css.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)