From nobody Fri May 3 22:24:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1524173603735736.1869147981887; Thu, 19 Apr 2018 14:33:23 -0700 (PDT) Received: from localhost ([::1]:50221 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9HB7-0006nt-PA for importer@patchew.org; Thu, 19 Apr 2018 17:33:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9H5g-0002Ui-BE for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9H5f-0007q0-6W for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:40 -0400 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:41032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9H5f-0007pt-2d for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:39 -0400 Received: by mail-qk0-x243.google.com with SMTP id s78so6875730qkl.8 for ; Thu, 19 Apr 2018 14:27:39 -0700 (PDT) Received: from x1.local ([138.117.48.212]) by smtp.gmail.com with ESMTPSA id c137sm3571570qkb.2.2018.04.19.14.27.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 14:27:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zELgoYDzGU3fDdYNoouzqga/mxuq1p+k7A8ydcrEQIQ=; b=pHRSyd81vZ04cQPFelTK65FBBMFRBsuK36LBFguqwGD10Js6DLc1wg4Y2epjRa+CcK LzBHSno1AAqiLwCqFhZHPQFk+QEFZW+VWddhwCFmrKOb2jzWxBF8eIqnsHCh+4rf1KPB 8o33z/0erDnCWbcWtEJzyVIK/e/MK2w+pC/FBqZi/9Iosrv5lTHwaxf6RCBdSnAhw9K/ 5oLmmvdCXu5fUt31KBGO3VPmcubTBM/fgEEA8oGnjHDrVueBQXX7R8RiD46sYDfuclk8 adhxRyYmouDURfad6xuQTEBK61OiRM9pEDkcLn5Uy7fO7NUY+9GIdtMbX5tYjWgGbQf7 HKAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=zELgoYDzGU3fDdYNoouzqga/mxuq1p+k7A8ydcrEQIQ=; b=jgLtXfi+IHG+sV5rcEvf+1huKZhASP7EhdJOrki9MniGZHeBcr1UBWMJMPeDUh/aWw ReDCRCMOk+zRJY98N9/W8YAqWn26+hNg3H7xa9tNNraVC1H0eh63pTlRZpxM1Xl8u2t0 /AWX/P6bHE4xjSsSJRD3ckPVkC5qoqDu4EYS7CYoAQKuxPI+UfFFtR5bTVvUOec13wJh 9HoUOVMIMRj+0neWO6GpPaSo5boJYo16G1+UHsD2WHmX86USHL0I+U1QpZQa7JMRlcmQ LPEa3vxpFSM/DMJUzE1PNOTl+JMlwRvkQE3qef8cexxQXnKGkKVN2Qxoe7TfmsTsEL3q b5Pg== X-Gm-Message-State: ALQs6tCLGJtzquzvoF6ZGlM9/HpPAYZ2QUSK+oOuaPcNfzG6TH/048IM RsXJjGS+2SxUt0kORMsEfd1umMwq X-Google-Smtp-Source: AB8JxZokJJhj7dMyeTXigbF1CD2QMXqLJNYJA92vgp9tKqa02de0HQtUvvJ+M0++CzLrAcQ0cRIesw== X-Received: by 10.55.185.69 with SMTP id j66mr7859543qkf.216.1524173258625; Thu, 19 Apr 2018 14:27:38 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Eduardo Habkost , Markus Armbruster Date: Thu, 19 Apr 2018 18:27:24 -0300 Message-Id: <20180419212727.26095-2-f4bug@amsat.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180419212727.26095-1-f4bug@amsat.org> References: <20180419212727.26095-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH v3 1/4] hw/i2c/smbus: Use DeviceClass::realize instead of SMBusDeviceClass::init X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Paolo Bonzini , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 SMBusDeviceClass::init is no more used, remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Markus Armbruster --- include/hw/i2c/smbus.h | 1 - hw/i2c/smbus.c | 9 --------- hw/i2c/smbus_eeprom.c | 5 ++--- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/include/hw/i2c/smbus.h b/include/hw/i2c/smbus.h index 544bbc1957..cfe3fa69f3 100644 --- a/include/hw/i2c/smbus.h +++ b/include/hw/i2c/smbus.h @@ -38,7 +38,6 @@ typedef struct SMBusDeviceClass { I2CSlaveClass parent_class; - int (*init)(SMBusDevice *dev); void (*quick_cmd)(SMBusDevice *dev, uint8_t read); void (*send_byte)(SMBusDevice *dev, uint8_t val); uint8_t (*receive_byte)(SMBusDevice *dev); diff --git a/hw/i2c/smbus.c b/hw/i2c/smbus.c index 2d1b79a689..587ce1ab7f 100644 --- a/hw/i2c/smbus.c +++ b/hw/i2c/smbus.c @@ -202,14 +202,6 @@ static int smbus_i2c_send(I2CSlave *s, uint8_t data) return 0; } =20 -static int smbus_device_init(I2CSlave *i2c) -{ - SMBusDevice *dev =3D SMBUS_DEVICE(i2c); - SMBusDeviceClass *sc =3D SMBUS_DEVICE_GET_CLASS(dev); - - return sc->init(dev); -} - /* Master device commands. */ int smbus_quick_command(I2CBus *bus, uint8_t addr, int read) { @@ -350,7 +342,6 @@ static void smbus_device_class_init(ObjectClass *klass,= void *data) { I2CSlaveClass *sc =3D I2C_SLAVE_CLASS(klass); =20 - sc->init =3D smbus_device_init; sc->event =3D smbus_i2c_event; sc->recv =3D smbus_i2c_recv; sc->send =3D smbus_i2c_send; diff --git a/hw/i2c/smbus_eeprom.c b/hw/i2c/smbus_eeprom.c index b13ec0fe7a..125c887d1f 100644 --- a/hw/i2c/smbus_eeprom.c +++ b/hw/i2c/smbus_eeprom.c @@ -97,12 +97,11 @@ static uint8_t eeprom_read_data(SMBusDevice *dev, uint8= _t cmd, int n) return eeprom_receive_byte(dev); } =20 -static int smbus_eeprom_initfn(SMBusDevice *dev) +static void smbus_eeprom_realize(DeviceState *dev, Error **errp) { SMBusEEPROMDevice *eeprom =3D (SMBusEEPROMDevice *)dev; =20 eeprom->offset =3D 0; - return 0; } =20 static Property smbus_eeprom_properties[] =3D { @@ -115,7 +114,7 @@ static void smbus_eeprom_class_initfn(ObjectClass *klas= s, void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); SMBusDeviceClass *sc =3D SMBUS_DEVICE_CLASS(klass); =20 - sc->init =3D smbus_eeprom_initfn; + dc->realize =3D smbus_eeprom_realize; sc->quick_cmd =3D eeprom_quick_cmd; sc->send_byte =3D eeprom_send_byte; sc->receive_byte =3D eeprom_receive_byte; --=20 2.17.0 From nobody Fri May 3 22:24:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1524173467146741.9698093458388; Thu, 19 Apr 2018 14:31:07 -0700 (PDT) Received: from localhost ([::1]:50177 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9H90-0005IE-8c for importer@patchew.org; Thu, 19 Apr 2018 17:31:06 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53370) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9H5k-0002ZP-AW for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9H5i-0007ro-RK for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:44 -0400 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:45000) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9H5i-0007rb-LX for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:42 -0400 Received: by mail-qk0-x243.google.com with SMTP id h200so6325788qke.11 for ; Thu, 19 Apr 2018 14:27:42 -0700 (PDT) Received: from x1.local ([138.117.48.212]) by smtp.gmail.com with ESMTPSA id c137sm3571570qkb.2.2018.04.19.14.27.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 14:27:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UJNJ4lkjbCpLTwnANDMb8az/iSkbjEuJVSivFgSLzNE=; b=Rx6PqNsObdm7ck9lbCql71EtioLrTKIJk4WqMIE7VHKmNJfLqDJjGy1heNzlN7z7Lf oDNoE41LQnYFAtJJxZugLI1v9sTAaSH0c+LbEkXfYG/cOd4Lg7nagwtPx0vx03fDSNXt fVdC6M9RZklGJMlNJICsZOgaZAbAVf3k4m9OdYCbOz8WpPx9Nd3DwNK5Sg+pHYD9btlA HvxiAh7mtjCPPYq2wqcJRx6Hc3w9jRUN2rt4STV4y4fz78/Mov5kJAFLO8TmcDdYcfwe 7NEdABbTpNW3akceQwH36cJvFgVHMNf67qicCbDe2wr0Y2lJtq5CZq0Ie7jyssY+RiaY xZZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=UJNJ4lkjbCpLTwnANDMb8az/iSkbjEuJVSivFgSLzNE=; b=sB4UpWbcuk2s7HvucY1SiUu28NUoEN7PCcQpVpPLFSpCVuUIKp/sHGBdKCMv0Bb+VD vkkWeahazSwiFlqPAUOrvaUakGP2h1Of4VUicYtOhIz68NtED8QuVlHBRtDZzD1UWmXO ZVBcTJFT3P70/UuXklckPho6G+U45h5++vL1jld/WZl8KkKvZor2erS3QF8HLlO7tLpy GimahqMp/XWR5Lm5tewPQP+ueRcUdLQaKXvGKjCjIFpIQYeb+z4ZOw8p2pMIqCqTiH+E iuPuXB9Eb/dI1P7RPj1iGQIhTpXemur7oPVs/1DOsrkf+osimi4jcI+sFsJnowzMt/c2 1X0Q== X-Gm-Message-State: ALQs6tA4IkI6+90E0HemB1WdvKJqWKvebsy/TfDx11wI5u0/JY6a+NEb V6lZJTRGDjsr7wbEIqKjx4k= X-Google-Smtp-Source: AB8JxZpcExiq/8KD2ptvz+K3RkUt/tHtlj3iqvE+E4tiT+ruUvdnBu50wqFCKDvFqBw+4ZE/C7e7Dw== X-Received: by 10.55.136.3 with SMTP id k3mr7815139qkd.126.1524173262008; Thu, 19 Apr 2018 14:27:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Eduardo Habkost , Markus Armbruster Date: Thu, 19 Apr 2018 18:27:25 -0300 Message-Id: <20180419212727.26095-3-f4bug@amsat.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180419212727.26095-1-f4bug@amsat.org> References: <20180419212727.26095-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::243 Subject: [Qemu-devel] [PATCH v3 2/4] hw/i2c: Use DeviceClass::realize instead of I2CSlaveClass::init X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Gerd Hoffmann , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 I2CSlaveClass::init is no more used, remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Markus Armbruster --- include/hw/i2c/i2c.h | 3 --- hw/audio/wm8750.c | 8 +++----- hw/display/ssd0303.c | 9 ++++----- hw/gpio/max7310.c | 9 ++++----- hw/i2c/core.c | 13 ------------- hw/input/lm832x.c | 9 ++++----- hw/misc/tmp105.c | 7 +++---- hw/misc/tmp421.c | 8 +++----- hw/nvram/eeprom_at24c.c | 24 +++++++++++------------- hw/timer/twl92230.c | 11 ++++------- 10 files changed, 36 insertions(+), 65 deletions(-) diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h index d727379b48..5dc166158b 100644 --- a/include/hw/i2c/i2c.h +++ b/include/hw/i2c/i2c.h @@ -28,9 +28,6 @@ typedef struct I2CSlave I2CSlave; typedef struct I2CSlaveClass { DeviceClass parent_class; =20 - /* Callbacks provided by the device. */ - int (*init)(I2CSlave *dev); - /* Master to slave. Returns non-zero for a NAK, 0 for success. */ int (*send)(I2CSlave *s, uint8_t data); =20 diff --git a/hw/audio/wm8750.c b/hw/audio/wm8750.c index 416a78e869..f4aa838f62 100644 --- a/hw/audio/wm8750.c +++ b/hw/audio/wm8750.c @@ -617,14 +617,12 @@ static const VMStateDescription vmstate_wm8750 =3D { } }; =20 -static int wm8750_init(I2CSlave *i2c) +static void wm8750_realize(DeviceState *dev, Error **errp) { - WM8750State *s =3D WM8750(i2c); + WM8750State *s =3D WM8750(dev); =20 AUD_register_card(CODEC, &s->card); wm8750_reset(I2C_SLAVE(s)); - - return 0; } =20 #if 0 @@ -707,7 +705,7 @@ static void wm8750_class_init(ObjectClass *klass, void = *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *sc =3D I2C_SLAVE_CLASS(klass); =20 - sc->init =3D wm8750_init; + dc->realize =3D wm8750_realize; sc->event =3D wm8750_event; sc->recv =3D wm8750_rx; sc->send =3D wm8750_tx; diff --git a/hw/display/ssd0303.c b/hw/display/ssd0303.c index 68a80b9d64..eb90ba26be 100644 --- a/hw/display/ssd0303.c +++ b/hw/display/ssd0303.c @@ -297,13 +297,12 @@ static const GraphicHwOps ssd0303_ops =3D { .gfx_update =3D ssd0303_update_display, }; =20 -static int ssd0303_init(I2CSlave *i2c) +static void ssd0303_realize(DeviceState *dev, Error **errp) { - ssd0303_state *s =3D SSD0303(i2c); + ssd0303_state *s =3D SSD0303(dev); =20 - s->con =3D graphic_console_init(DEVICE(i2c), 0, &ssd0303_ops, s); + s->con =3D graphic_console_init(dev, 0, &ssd0303_ops, s); qemu_console_resize(s->con, 96 * MAGNIFY, 16 * MAGNIFY); - return 0; } =20 static void ssd0303_class_init(ObjectClass *klass, void *data) @@ -311,7 +310,7 @@ static void ssd0303_class_init(ObjectClass *klass, void= *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 - k->init =3D ssd0303_init; + dc->realize =3D ssd0303_realize; k->event =3D ssd0303_event; k->recv =3D ssd0303_recv; k->send =3D ssd0303_send; diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c index 4c203ef5c6..a560e3afd2 100644 --- a/hw/gpio/max7310.c +++ b/hw/gpio/max7310.c @@ -182,14 +182,13 @@ static void max7310_gpio_set(void *opaque, int line, = int level) =20 /* MAX7310 is SMBus-compatible (can be used with only SMBus protocols), * but also accepts sequences that are not SMBus so return an I2C device. = */ -static int max7310_init(I2CSlave *i2c) +static void max7310_realize(DeviceState *dev, Error **errp) { - MAX7310State *s =3D MAX7310(i2c); + I2CSlave *i2c =3D I2C_SLAVE(dev); + MAX7310State *s =3D MAX7310(dev); =20 qdev_init_gpio_in(&i2c->qdev, max7310_gpio_set, 8); qdev_init_gpio_out(&i2c->qdev, s->handler, 8); - - return 0; } =20 static void max7310_class_init(ObjectClass *klass, void *data) @@ -197,7 +196,7 @@ static void max7310_class_init(ObjectClass *klass, void= *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 - k->init =3D max7310_init; + dc->realize =3D max7310_realize; k->event =3D max7310_event; k->recv =3D max7310_rx; k->send =3D max7310_tx; diff --git a/hw/i2c/core.c b/hw/i2c/core.c index cfccefca3d..ab72d5bf2b 100644 --- a/hw/i2c/core.c +++ b/hw/i2c/core.c @@ -258,18 +258,6 @@ const VMStateDescription vmstate_i2c_slave =3D { } }; =20 -static int i2c_slave_qdev_init(DeviceState *dev) -{ - I2CSlave *s =3D I2C_SLAVE(dev); - I2CSlaveClass *sc =3D I2C_SLAVE_GET_CLASS(s); - - if (sc->init) { - return sc->init(s); - } - - return 0; -} - DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr) { DeviceState *dev; @@ -283,7 +271,6 @@ DeviceState *i2c_create_slave(I2CBus *bus, const char *= name, uint8_t addr) static void i2c_slave_class_init(ObjectClass *klass, void *data) { DeviceClass *k =3D DEVICE_CLASS(klass); - k->init =3D i2c_slave_qdev_init; set_bit(DEVICE_CATEGORY_MISC, k->categories); k->bus_type =3D TYPE_I2C_BUS; k->props =3D i2c_props; diff --git a/hw/input/lm832x.c b/hw/input/lm832x.c index d39953126b..74da30d9ca 100644 --- a/hw/input/lm832x.c +++ b/hw/input/lm832x.c @@ -464,20 +464,19 @@ static const VMStateDescription vmstate_lm_kbd =3D { }; =20 =20 -static int lm8323_init(I2CSlave *i2c) +static void lm8323_realize(DeviceState *dev, Error **errp) { - LM823KbdState *s =3D LM8323(i2c); + LM823KbdState *s =3D LM8323(dev); =20 s->model =3D 0x8323; s->pwm.tm[0] =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, lm_kbd_pwm0_tick, s); s->pwm.tm[1] =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, lm_kbd_pwm1_tick, s); s->pwm.tm[2] =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, lm_kbd_pwm2_tick, s); - qdev_init_gpio_out(DEVICE(i2c), &s->nirq, 1); + qdev_init_gpio_out(dev, &s->nirq, 1); =20 lm_kbd_reset(s); =20 qemu_register_reset((void *) lm_kbd_reset, s); - return 0; } =20 void lm832x_key_event(DeviceState *dev, int key, int state) @@ -505,7 +504,7 @@ static void lm8323_class_init(ObjectClass *klass, void = *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 - k->init =3D lm8323_init; + dc->realize =3D lm8323_realize; k->event =3D lm_i2c_event; k->recv =3D lm_i2c_rx; k->send =3D lm_i2c_tx; diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index 9e22d64e36..0918f3a6ea 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -229,15 +229,14 @@ static void tmp105_reset(I2CSlave *i2c) tmp105_interrupt_update(s); } =20 -static int tmp105_init(I2CSlave *i2c) +static void tmp105_realize(DeviceState *dev, Error **errp) { + I2CSlave *i2c =3D I2C_SLAVE(dev); TMP105State *s =3D TMP105(i2c); =20 qdev_init_gpio_out(&i2c->qdev, &s->pin, 1); =20 tmp105_reset(&s->i2c); - - return 0; } =20 static void tmp105_initfn(Object *obj) @@ -252,7 +251,7 @@ static void tmp105_class_init(ObjectClass *klass, void = *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 - k->init =3D tmp105_init; + dc->realize =3D tmp105_realize; k->event =3D tmp105_event; k->recv =3D tmp105_rx; k->send =3D tmp105_tx; diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index 4a505abbce..c234044305 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -335,13 +335,11 @@ static void tmp421_reset(I2CSlave *i2c) s->status =3D 0; } =20 -static int tmp421_init(I2CSlave *i2c) +static void tmp421_realize(DeviceState *dev, Error **errp) { - TMP421State *s =3D TMP421(i2c); + TMP421State *s =3D TMP421(dev); =20 tmp421_reset(&s->i2c); - - return 0; } =20 static void tmp421_initfn(Object *obj) @@ -366,7 +364,7 @@ static void tmp421_class_init(ObjectClass *klass, void = *data) I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); TMP421Class *sc =3D TMP421_CLASS(klass); =20 - k->init =3D tmp421_init; + dc->realize =3D tmp421_realize; k->event =3D tmp421_event; k->recv =3D tmp421_rx; k->send =3D tmp421_tx; diff --git a/hw/nvram/eeprom_at24c.c b/hw/nvram/eeprom_at24c.c index 22183f5360..27cd01e615 100644 --- a/hw/nvram/eeprom_at24c.c +++ b/hw/nvram/eeprom_at24c.c @@ -116,31 +116,29 @@ int at24c_eeprom_send(I2CSlave *s, uint8_t data) return 0; } =20 -static -int at24c_eeprom_init(I2CSlave *i2c) +static void at24c_eeprom_realize(DeviceState *dev, Error **errp) { - EEPROMState *ee =3D AT24C_EE(i2c); - - ee->mem =3D g_malloc0(ee->rsize); + EEPROMState *ee =3D AT24C_EE(dev); =20 if (ee->blk) { int64_t len =3D blk_getlength(ee->blk); =20 if (len !=3D ee->rsize) { - ERR(TYPE_AT24C_EE " : Backing file size %lu !=3D %u\n", - (unsigned long)len, (unsigned)ee->rsize); - exit(1); + error_setg(errp, "%s: Backing file size %" PRId64 " !=3D %u", + TYPE_AT24C_EE, len, ee->rsize); + return; } =20 if (blk_set_perm(ee->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_WRIT= E, BLK_PERM_ALL, &error_fatal) < 0) { - ERR(TYPE_AT24C_EE - " : Backing file incorrect permission\n"); - exit(1); + error_setg(errp, "%s: Backing file incorrect permission", + TYPE_AT24C_EE); + return; } } - return 0; + + ee->mem =3D g_malloc0(ee->rsize); } =20 static @@ -178,7 +176,7 @@ void at24c_eeprom_class_init(ObjectClass *klass, void *= data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *k =3D I2C_SLAVE_CLASS(klass); =20 - k->init =3D &at24c_eeprom_init; + dc->realize =3D &at24c_eeprom_realize; k->event =3D &at24c_eeprom_event; k->recv =3D &at24c_eeprom_recv; k->send =3D &at24c_eeprom_send; diff --git a/hw/timer/twl92230.c b/hw/timer/twl92230.c index ef116c636c..3b43b46199 100644 --- a/hw/timer/twl92230.c +++ b/hw/timer/twl92230.c @@ -853,10 +853,9 @@ static const VMStateDescription vmstate_menelaus =3D { } }; =20 -static int twl92230_init(I2CSlave *i2c) +static void twl92230_realize(DeviceState *dev, Error **errp) { - DeviceState *dev =3D DEVICE(i2c); - MenelausState *s =3D TWL92230(i2c); + MenelausState *s =3D TWL92230(dev); =20 s->rtc.hz_tm =3D timer_new_ms(rtc_clock, menelaus_rtc_hz, s); /* Three output pins plus one interrupt pin. */ @@ -865,9 +864,7 @@ static int twl92230_init(I2CSlave *i2c) /* Three input pins plus one power-button pin. */ qdev_init_gpio_in(dev, menelaus_gpio_set, 4); =20 - menelaus_reset(i2c); - - return 0; + menelaus_reset(I2C_SLAVE(dev)); } =20 static void twl92230_class_init(ObjectClass *klass, void *data) @@ -875,7 +872,7 @@ static void twl92230_class_init(ObjectClass *klass, voi= d *data) DeviceClass *dc =3D DEVICE_CLASS(klass); I2CSlaveClass *sc =3D I2C_SLAVE_CLASS(klass); =20 - sc->init =3D twl92230_init; + dc->realize =3D twl92230_realize; sc->event =3D menelaus_event; sc->recv =3D menelaus_rx; sc->send =3D menelaus_tx; --=20 2.17.0 From nobody Fri May 3 22:24:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1524173664537604.7446644676933; Thu, 19 Apr 2018 14:34:24 -0700 (PDT) Received: from localhost ([::1]:50227 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9HC8-0007bh-FW for importer@patchew.org; Thu, 19 Apr 2018 17:34:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9H5q-0002ga-4L for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9H5m-0007v5-6h for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:50 -0400 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:45882) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9H5m-0007ua-2T for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:46 -0400 Received: by mail-qk0-x242.google.com with SMTP id c136so6869984qkb.12 for ; Thu, 19 Apr 2018 14:27:46 -0700 (PDT) Received: from x1.local ([138.117.48.212]) by smtp.gmail.com with ESMTPSA id c137sm3571570qkb.2.2018.04.19.14.27.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 14:27:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SNy0HHx7YmsITmQIo3InF50vraV4SIqPVmjc0lxdjKc=; b=tZWJWu92S+/40Xo/UyTxmAs03mmrXDjc7AITqoFE84xROi2kP16lZqQ3M5lO/ktaWV PiT+2G/T00Qv7s8nfepTS1TV/kZza8MidGFh0BrLhEaHpBlc/aZcDoT0QCQ2i8EGJeHV QcbL80+BuFc7VI6+SRhb+lpYCFUoxs0q5JE/H3eSAh1VMJRQ84Us05v8oUDYHuWW7X9h 0kdnIkWxfUfP338ldYvMNl86EQ2FPrlWVil6c3uqIVoWUVHyxngkg2XMTW9vpJfgKGfx ta1m7xq4z7qo1mK1rT9O9j+HqR1KWAUtK1rwYvkWzU8fZvW/Alr/BYjSeJbDltvuugtN wFxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=SNy0HHx7YmsITmQIo3InF50vraV4SIqPVmjc0lxdjKc=; b=ojmvQJPmWQAbL1UVAnLwg7zcbVKOD5JgHrhzJOiqDHw8YxpIU/aGbNEtW5W3vVeUAj S/oLNRbmKzcfUX4A3RYKDJVUlnF3yjGIlGLb1WW/RLdC1iK+0WUCVPfvhCa1xWa8Vu5P YGktJG18SWUpZ9s8V+3Xj9RNKRI0eIhaouxgaBf68sJOBatalw/7q0MA+7z2FlcWPqq+ Xu6m9UeRx2yWRV21J/g1Nwf4vJMzh8GvmTDPmn2obkTIqc2Ll9jbECjdXNwU2s9MquU3 IN1I+zMtZzcueU4oHfMW6PHOQHQUQmSxcPhzu5UEXR/9mgeaj0w2PlTHPp10fAyWDnzA KkUQ== X-Gm-Message-State: ALQs6tBNuIpHmzJDQoYziyUn0EbRCYsyb6+vhXq9ZazRVe6iICr7To86 WmMcrlkNo5+EKoJob9pUIF0= X-Google-Smtp-Source: AB8JxZruZVnvM4oSEiBDNFL6zpdLUVRKblMl2dlwoRBFqr6ln5ApQmRLQTBLhjeZ+ShZaotQkhOuvA== X-Received: by 10.55.71.3 with SMTP id u3mr8095517qka.317.1524173265580; Thu, 19 Apr 2018 14:27:45 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Eduardo Habkost , Markus Armbruster Date: Thu, 19 Apr 2018 18:27:26 -0300 Message-Id: <20180419212727.26095-4-f4bug@amsat.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180419212727.26095-1-f4bug@amsat.org> References: <20180419212727.26095-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH v3 3/4] qdev: Simplify the SysBusDeviceClass::init path X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Paolo Bonzini , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 The SysBusDevice is the last DeviceClass::init user. Instead of using SysBusDeviceClass::realize -> DeviceClass::realize -> DeviceClass::init -> sysbus_device_init -> SysBusDeviceClass::init Simplify the path by directly calling SysBusDeviceClass::init in SysBusDeviceClass::realize: SysBusDeviceClass::realize -> SysBusDeviceClass::init Finally, remove the DeviceClass::init, there are no more users. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/qdev-core.h | 2 -- hw/core/qdev.c | 14 -------------- hw/core/sysbus.c | 15 ++++++++++----- 3 files changed, 10 insertions(+), 21 deletions(-) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 9453588160..6f60748043 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -29,7 +29,6 @@ typedef enum DeviceCategory { DEVICE_CATEGORY_MAX } DeviceCategory; =20 -typedef int (*qdev_initfn)(DeviceState *dev); typedef int (*qdev_event)(DeviceState *dev); typedef void (*DeviceRealize)(DeviceState *dev, Error **errp); typedef void (*DeviceUnrealize)(DeviceState *dev, Error **errp); @@ -124,7 +123,6 @@ typedef struct DeviceClass { const struct VMStateDescription *vmsd; =20 /* Private to qdev / bus. */ - qdev_initfn init; /* TODO remove, once users are converted to realize = */ qdev_event exit; /* TODO remove, once users are converted to unrealize= */ const char *bus_type; } DeviceClass; diff --git a/hw/core/qdev.c b/hw/core/qdev.c index f6f92473b8..4153b733c8 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -208,19 +208,6 @@ void device_listener_unregister(DeviceListener *listen= er) QTAILQ_REMOVE(&device_listeners, listener, link); } =20 -static void device_realize(DeviceState *dev, Error **errp) -{ - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); - - if (dc->init) { - int rc =3D dc->init(dev); - if (rc < 0) { - error_setg(errp, "Device initialization failed."); - return; - } - } -} - static void device_unrealize(DeviceState *dev, Error **errp) { DeviceClass *dc =3D DEVICE_GET_CLASS(dev); @@ -1065,7 +1052,6 @@ static void device_class_init(ObjectClass *class, voi= d *data) DeviceClass *dc =3D DEVICE_CLASS(class); =20 class->unparent =3D device_unparent; - dc->realize =3D device_realize; dc->unrealize =3D device_unrealize; =20 /* by default all devices were considered as hotpluggable, diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index 5d0887f499..11f6d14b84 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -18,6 +18,7 @@ */ =20 #include "qemu/osdep.h" +#include "qapi/error.h" #include "hw/sysbus.h" #include "monitor/monitor.h" #include "exec/address-spaces.h" @@ -200,15 +201,19 @@ void sysbus_init_ioports(SysBusDevice *dev, uint32_t = ioport, uint32_t size) } } =20 -static int sysbus_device_init(DeviceState *dev) +static void sysbus_realize(DeviceState *dev, Error **errp) { SysBusDevice *sd =3D SYS_BUS_DEVICE(dev); SysBusDeviceClass *sbc =3D SYS_BUS_DEVICE_GET_CLASS(sd); =20 - if (!sbc->init) { - return 0; + /* TODO remove, once users are converted to realize */ + if (sbc->init) { + int rc =3D sbc->init(sd); + if (rc < 0) { + error_setg(errp, "Device initialization failed."); + return; + } } - return sbc->init(sd); } =20 DeviceState *sysbus_create_varargs(const char *name, @@ -324,7 +329,7 @@ MemoryRegion *sysbus_address_space(SysBusDevice *dev) static void sysbus_device_class_init(ObjectClass *klass, void *data) { DeviceClass *k =3D DEVICE_CLASS(klass); - k->init =3D sysbus_device_init; + k->realize =3D sysbus_realize; k->bus_type =3D TYPE_SYSTEM_BUS; /* * device_add plugs devices into a suitable bus. For "real" buses, --=20 2.17.0 From nobody Fri May 3 22:24:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1524173707873867.9075332258261; Thu, 19 Apr 2018 14:35:07 -0700 (PDT) Received: from localhost ([::1]:50242 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9HCs-0008DR-So for importer@patchew.org; Thu, 19 Apr 2018 17:35:06 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53437) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9H5q-0002gc-4b for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9H5o-0007xJ-Us for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:50 -0400 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:35752) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9H5o-0007wx-Qx for qemu-devel@nongnu.org; Thu, 19 Apr 2018 17:27:48 -0400 Received: by mail-qt0-x244.google.com with SMTP id s2-v6so7445041qti.2 for ; Thu, 19 Apr 2018 14:27:48 -0700 (PDT) Received: from x1.local ([138.117.48.212]) by smtp.gmail.com with ESMTPSA id c137sm3571570qkb.2.2018.04.19.14.27.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 14:27:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FxWmpN1E5RolEVL2j5UlSCwOYucoszsYT+2Be+B/59U=; b=WqOqoCtgQLfR9WvooM48vclnwqdCHhjXExKsaom+Nu+/FQrdJrz9aPLE5lMqVrSXT0 /q83MR2wqAv4xkx7FPgwqbm5DKTr2P30xNXspspur8fmiyGOyNIoc25JEwii0QCN3tMK ddj9HgYsZPPaVMc48wzEvrWqGIphxUOApCSvCt9zVJavaXM7jabySAScnMjTFIRX6QYV fbw/kXUOr9s3GMMnViuIYP8OKEDYrRzWCsCuZ87do0JwUXxf0sHk2EBMSskp0Mikm05e WdxnxEde6kIOc2t8x7XfcdF4PdsIUR+Y3ixkh5upYl3alRmTZA37PTwlI2maXGBYxZoz Wydg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=FxWmpN1E5RolEVL2j5UlSCwOYucoszsYT+2Be+B/59U=; b=iMLxerVvF4zYaeKlXvBOBIZE+/hWDnfoBeVtr97tu8vLiOZ4h/vN4JoGk+3UjF42GY A8u5X8hYKocJk3QsgR4DjbsqyHsN83X20jPQQWSt5WsGzibIoG/USdunwFULNbqyWSao b3vHBWe/mHhZPRBl96Li4qm6GEXPrN79mbxYhoFnQi9KCxZcQnzTqNhrBqwfuRsYvEpz 3E//2mlx7nf6ykoI2eXvonDb5OCZtb4GOUhVL0JDpuXO2UMYms4pSRpzHU7QLvE7E05X 78bUcoV+VkeN8ozQpoHn1MFGLEMGYJkDX3QYz0S+v1+gKSSfUL+GenGZpj33DYmv83PN YeLw== X-Gm-Message-State: ALQs6tCEB8uh+VzUG3VI0rZ/qB9LMCWXbM9pRfh1/KtE5DDuqYOvAd+Q c3vrBAjM1sF1U3Sv6ag6ICU= X-Google-Smtp-Source: AIpwx4+ECHcKHN6Ly2yU8+Xg/15Z0MBHEXLoR5ydzZpBSPJ2ljkOmUWWOC0DtYrU+BUUF0coUHCZ4w== X-Received: by 2002:ac8:1e83:: with SMTP id c3-v6mr8366000qtm.410.1524173268418; Thu, 19 Apr 2018 14:27:48 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Eduardo Habkost , Markus Armbruster Date: Thu, 19 Apr 2018 18:27:27 -0300 Message-Id: <20180419212727.26095-5-f4bug@amsat.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180419212727.26095-1-f4bug@amsat.org> References: <20180419212727.26095-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v3 4/4] qdev: Remove DeviceClass::exit X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Paolo Bonzini , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Since no devices use it, we can safely remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Markus Armbruster --- include/hw/qdev-core.h | 2 -- hw/core/qdev.c | 14 -------------- 2 files changed, 16 deletions(-) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 6f60748043..88b52be8fb 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -29,7 +29,6 @@ typedef enum DeviceCategory { DEVICE_CATEGORY_MAX } DeviceCategory; =20 -typedef int (*qdev_event)(DeviceState *dev); typedef void (*DeviceRealize)(DeviceState *dev, Error **errp); typedef void (*DeviceUnrealize)(DeviceState *dev, Error **errp); typedef void (*DeviceReset)(DeviceState *dev); @@ -123,7 +122,6 @@ typedef struct DeviceClass { const struct VMStateDescription *vmsd; =20 /* Private to qdev / bus. */ - qdev_event exit; /* TODO remove, once users are converted to unrealize= */ const char *bus_type; } DeviceClass; =20 diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 4153b733c8..ffec461791 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -208,19 +208,6 @@ void device_listener_unregister(DeviceListener *listen= er) QTAILQ_REMOVE(&device_listeners, listener, link); } =20 -static void device_unrealize(DeviceState *dev, Error **errp) -{ - DeviceClass *dc =3D DEVICE_GET_CLASS(dev); - - if (dc->exit) { - int rc =3D dc->exit(dev); - if (rc < 0) { - error_setg(errp, "Device exit failed."); - return; - } - } -} - void qdev_set_legacy_instance_id(DeviceState *dev, int alias_id, int required_for_version) { @@ -1052,7 +1039,6 @@ static void device_class_init(ObjectClass *class, voi= d *data) DeviceClass *dc =3D DEVICE_CLASS(class); =20 class->unparent =3D device_unparent; - dc->unrealize =3D device_unrealize; =20 /* by default all devices were considered as hotpluggable, * so with intent to check it in generic qdev_unplug() / --=20 2.17.0