All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method
@ 2018-10-01  6:37 Cédric Le Goater
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: " Cédric Le Goater
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé, Cédric Le Goater

Hello,

Here is my take to the SysBus init to realize method conversion. I
picked the /net directory and did them all. Also added a couple of
reset methods in separate patches.

make check tested

Thanks,

C.

Changes since v1:

 - dropped changes in lan9118_init() and smc91c111_init()
 - fix alignment in milkymist_minimac2_realize()
 - improved etraxfs reset method
 

Cédric Le Goater (11):
  net: etraxfs_eth: convert SysBus init method to a realize method
  net: etraxfs_eth: add a reset method
  net: lan9118: convert SysBus init method to a realize method
  net: lance: convert SysBus init method to a realize method
  net: milkymist_minimac2: convert SysBus init method to a realize
    method
  net: mipsnet: convert SysBus init method to a realize method
  net: opencores_eth: convert SysBus init method to a realize method
  net: smc91c111: convert SysBus init method to a realize method
  net: stellaris_enet: convert SysBus init method to a realize method
  net: stellaris_enet: add a reset method
  net: xgmac: convert SysBus init method to a realize method

 hw/net/etraxfs_eth.c        | 44 ++++++++++++++++++++++++++-----------
 hw/net/lan9118.c            |  9 +++-----
 hw/net/lance.c              |  8 +++----
 hw/net/milkymist-minimac2.c |  9 +++-----
 hw/net/mipsnet.c            |  9 +++-----
 hw/net/opencores_eth.c      |  8 +++----
 hw/net/smc91c111.c          |  8 +++----
 hw/net/stellaris_enet.c     | 15 ++++++-------
 hw/net/xgmac.c              |  9 +++-----
 9 files changed, 59 insertions(+), 60 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  7:57   ` Philippe Mathieu-Daudé
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method Cédric Le Goater
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, Edgar E . Iglesias

Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/net/etraxfs_eth.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
index a6932432b164..64ab3df1ae38 100644
--- a/hw/net/etraxfs_eth.c
+++ b/hw/net/etraxfs_eth.c
@@ -23,6 +23,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qapi/error.h"
 #include "hw/sysbus.h"
 #include "net/net.h"
 #include "hw/cris/etraxfs.h"
@@ -584,14 +585,14 @@ static NetClientInfo net_etraxfs_info = {
     .link_status_changed = eth_set_link,
 };
 
-static int fs_eth_init(SysBusDevice *sbd)
+static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     ETRAXFSEthState *s = ETRAX_FS_ETH(dev);
 
     if (!s->dma_out || !s->dma_in) {
-        error_report("Unconnected ETRAX-FS Ethernet MAC");
-        return -1;
+        error_setg(errp, "Unconnected ETRAX-FS Ethernet MAC");
+        return;
     }
 
     s->dma_out->client.push = eth_tx_push;
@@ -611,7 +612,6 @@ static int fs_eth_init(SysBusDevice *sbd)
 
     tdk_init(&s->phy);
     mdio_attach(&s->mdio_bus, &s->phy, s->phyaddr);
-    return 0;
 }
 
 static Property etraxfs_eth_properties[] = {
@@ -625,9 +625,8 @@ static Property etraxfs_eth_properties[] = {
 static void etraxfs_eth_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = fs_eth_init;
+    dc->realize = etraxfs_eth_realize;
     dc->props = etraxfs_eth_properties;
     /* Reason: pointer properties "dma_out", "dma_in" */
     dc->user_creatable = false;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: " Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  8:00   ` Philippe Mathieu-Daudé
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method Cédric Le Goater
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, Edgar E . Iglesias

Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/net/etraxfs_eth.c | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
index 64ab3df1ae38..36855804dba0 100644
--- a/hw/net/etraxfs_eth.c
+++ b/hw/net/etraxfs_eth.c
@@ -127,7 +127,7 @@ tdk_write(struct qemu_phy *phy, unsigned int req, unsigned int data)
 }
 
 static void
-tdk_init(struct qemu_phy *phy)
+tdk_reset(struct qemu_phy *phy)
 {
     phy->regs[0] = 0x3100;
     /* PHY Id.  */
@@ -136,9 +136,6 @@ tdk_init(struct qemu_phy *phy)
     /* Autonegotiation advertisement reg.  */
     phy->regs[4] = 0x01E1;
     phy->link = 1;
-
-    phy->read = tdk_read;
-    phy->write = tdk_write;
 }
 
 struct qemu_mdio
@@ -585,6 +582,27 @@ static NetClientInfo net_etraxfs_info = {
     .link_status_changed = eth_set_link,
 };
 
+static void etraxfs_eth_reset(DeviceState *dev)
+{
+    ETRAXFSEthState *s = ETRAX_FS_ETH(dev);
+
+    memset(s->regs, 0, sizeof(s->regs));
+    memset(s->macaddr, 0, sizeof(s->macaddr));
+    s->duplex_mismatch = 0;
+
+    s->mdio_bus.mdc = 0;
+    s->mdio_bus.mdio = 0;
+    s->mdio_bus.state = 0;
+    s->mdio_bus.drive = 0;
+    s->mdio_bus.cnt = 0;
+    s->mdio_bus.addr = 0;
+    s->mdio_bus.opc = 0;
+    s->mdio_bus.req = 0;
+    s->mdio_bus.data = 0;
+
+    tdk_reset(&s->phy);
+}
+
 static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
 {
     SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
@@ -609,8 +627,8 @@ static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
                           object_get_typename(OBJECT(s)), dev->id, s);
     qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
 
-
-    tdk_init(&s->phy);
+    s->phy.read = tdk_read;
+    s->phy.write = tdk_write;
     mdio_attach(&s->mdio_bus, &s->phy, s->phyaddr);
 }
 
@@ -627,6 +645,7 @@ static void etraxfs_eth_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
 
     dc->realize = etraxfs_eth_realize;
+    dc->reset = etraxfs_eth_reset;
     dc->props = etraxfs_eth_properties;
     /* Reason: pointer properties "dma_out", "dma_in" */
     dc->user_creatable = false;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: " Cédric Le Goater
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  8:01   ` Philippe Mathieu-Daudé
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 04/11] net: lance: " Cédric Le Goater
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé, Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/net/lan9118.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
index b9032dac595f..a6269d9463b1 100644
--- a/hw/net/lan9118.c
+++ b/hw/net/lan9118.c
@@ -1320,9 +1320,9 @@ static NetClientInfo net_lan9118_info = {
     .link_status_changed = lan9118_set_link,
 };
 
-static int lan9118_init1(SysBusDevice *sbd)
+static void lan9118_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     lan9118_state *s = LAN9118(dev);
     QEMUBH *bh;
     int i;
@@ -1349,8 +1349,6 @@ static int lan9118_init1(SysBusDevice *sbd)
     s->timer = ptimer_init(bh, PTIMER_POLICY_DEFAULT);
     ptimer_set_freq(s->timer, 10000);
     ptimer_set_limit(s->timer, 0xffff, 1);
-
-    return 0;
 }
 
 static Property lan9118_properties[] = {
@@ -1362,12 +1360,11 @@ static Property lan9118_properties[] = {
 static void lan9118_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = lan9118_init1;
     dc->reset = lan9118_reset;
     dc->props = lan9118_properties;
     dc->vmsd = &vmstate_lan9118;
+    dc->realize = lan9118_realize;
 }
 
 static const TypeInfo lan9118_info = {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 04/11] net: lance: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (2 preceding siblings ...)
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: " Cédric Le Goater
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé, Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/lance.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/net/lance.c b/hw/net/lance.c
index a08d5ac6a848..f987b2fd180f 100644
--- a/hw/net/lance.c
+++ b/hw/net/lance.c
@@ -97,9 +97,9 @@ static const VMStateDescription vmstate_lance = {
     }
 };
 
-static int lance_init(SysBusDevice *sbd)
+static void lance_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     SysBusPCNetState *d = SYSBUS_PCNET(dev);
     PCNetState *s = &d->state;
 
@@ -115,7 +115,6 @@ static int lance_init(SysBusDevice *sbd)
     s->phys_mem_read = ledma_memory_read;
     s->phys_mem_write = ledma_memory_write;
     pcnet_common_init(dev, s, &net_lance_info);
-    return 0;
 }
 
 static void lance_reset(DeviceState *dev)
@@ -144,9 +143,8 @@ static Property lance_properties[] = {
 static void lance_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = lance_init;
+    dc->realize = lance_realize;
     set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
     dc->fw_name = "ethernet";
     dc->reset = lance_reset;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (3 preceding siblings ...)
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 04/11] net: lance: " Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  7:46   ` Michael Walle
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 06/11] net: mipsnet: " Cédric Le Goater
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, Michael Walle

Cc: Michael Walle <michael@walle.cc>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/milkymist-minimac2.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/hw/net/milkymist-minimac2.c b/hw/net/milkymist-minimac2.c
index 3eaa19dfde92..7ef1daee41ec 100644
--- a/hw/net/milkymist-minimac2.c
+++ b/hw/net/milkymist-minimac2.c
@@ -452,9 +452,9 @@ static NetClientInfo net_milkymist_minimac2_info = {
     .receive = minimac2_rx,
 };
 
-static int milkymist_minimac2_init(SysBusDevice *sbd)
+static void milkymist_minimac2_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     MilkymistMinimac2State *s = MILKYMIST_MINIMAC2(dev);
     size_t buffers_size = TARGET_PAGE_ALIGN(3 * MINIMAC2_BUFFER_SIZE);
 
@@ -479,8 +479,6 @@ static int milkymist_minimac2_init(SysBusDevice *sbd)
     s->nic = qemu_new_nic(&net_milkymist_minimac2_info, &s->conf,
                           object_get_typename(OBJECT(dev)), dev->id, s);
     qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
-
-    return 0;
 }
 
 static const VMStateDescription vmstate_milkymist_minimac2_mdio = {
@@ -521,9 +519,8 @@ static Property milkymist_minimac2_properties[] = {
 static void milkymist_minimac2_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = milkymist_minimac2_init;
+    dc->realize = milkymist_minimac2_realize;
     dc->reset = milkymist_minimac2_reset;
     dc->vmsd = &vmstate_milkymist_minimac2;
     dc->props = milkymist_minimac2_properties;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 06/11] net: mipsnet: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (4 preceding siblings ...)
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: " Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 07/11] net: opencores_eth: " Cédric Le Goater
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, Aleksandar Markovic

Cc: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/mipsnet.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/hw/net/mipsnet.c b/hw/net/mipsnet.c
index 5a63df7ccb91..03b310427860 100644
--- a/hw/net/mipsnet.c
+++ b/hw/net/mipsnet.c
@@ -236,9 +236,9 @@ static const MemoryRegionOps mipsnet_ioport_ops = {
     .impl.max_access_size = 4,
 };
 
-static int mipsnet_sysbus_init(SysBusDevice *sbd)
+static void mipsnet_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     MIPSnetState *s = MIPS_NET(dev);
 
     memory_region_init_io(&s->io, OBJECT(dev), &mipsnet_ioport_ops, s,
@@ -249,8 +249,6 @@ static int mipsnet_sysbus_init(SysBusDevice *sbd)
     s->nic = qemu_new_nic(&net_mipsnet_info, &s->conf,
                           object_get_typename(OBJECT(dev)), dev->id, s);
     qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
-
-    return 0;
 }
 
 static void mipsnet_sysbus_reset(DeviceState *dev)
@@ -267,9 +265,8 @@ static Property mipsnet_properties[] = {
 static void mipsnet_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = mipsnet_sysbus_init;
+    dc->realize = mipsnet_realize;
     set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
     dc->desc = "MIPS Simulator network device";
     dc->reset = mipsnet_sysbus_reset;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 07/11] net: opencores_eth: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (5 preceding siblings ...)
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 06/11] net: mipsnet: " Cédric Le Goater
@ 2018-10-01  6:37 ` Cédric Le Goater
  2018-10-01  7:51   ` Max Filippov
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 08/11] net: smc91c111: " Cédric Le Goater
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:37 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, Max Filippov

Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/opencores_eth.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/net/opencores_eth.c b/hw/net/opencores_eth.c
index d42b79c08c6a..d6f54f8d8208 100644
--- a/hw/net/opencores_eth.c
+++ b/hw/net/opencores_eth.c
@@ -715,9 +715,9 @@ static const MemoryRegionOps open_eth_desc_ops = {
     .write = open_eth_desc_write,
 };
 
-static int sysbus_open_eth_init(SysBusDevice *sbd)
+static void sysbus_open_eth_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     OpenEthState *s = OPEN_ETH(dev);
 
     memory_region_init_io(&s->reg_io, OBJECT(dev), &open_eth_reg_ops, s,
@@ -732,7 +732,6 @@ static int sysbus_open_eth_init(SysBusDevice *sbd)
 
     s->nic = qemu_new_nic(&net_open_eth_info, &s->conf,
                           object_get_typename(OBJECT(s)), dev->id, s);
-    return 0;
 }
 
 static void qdev_open_eth_reset(DeviceState *dev)
@@ -750,9 +749,8 @@ static Property open_eth_properties[] = {
 static void open_eth_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = sysbus_open_eth_init;
+    dc->realize = sysbus_open_eth_realize;
     set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
     dc->desc = "Opencores 10/100 Mbit Ethernet";
     dc->reset = qdev_open_eth_reset;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 08/11] net: smc91c111: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (6 preceding siblings ...)
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 07/11] net: opencores_eth: " Cédric Le Goater
@ 2018-10-01  6:38 ` Cédric Le Goater
  2018-10-01  8:01   ` Philippe Mathieu-Daudé
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 09/11] net: stellaris_enet: " Cédric Le Goater
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:38 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé, Cédric Le Goater

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/net/smc91c111.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c
index d2fd2040e81c..99da2d92973e 100644
--- a/hw/net/smc91c111.c
+++ b/hw/net/smc91c111.c
@@ -766,9 +766,9 @@ static NetClientInfo net_smc91c111_info = {
     .receive = smc91c111_receive,
 };
 
-static int smc91c111_init1(SysBusDevice *sbd)
+static void smc91c111_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     smc91c111_state *s = SMC91C111(dev);
 
     memory_region_init_io(&s->mmio, OBJECT(s), &smc91c111_mem_ops, s,
@@ -780,7 +780,6 @@ static int smc91c111_init1(SysBusDevice *sbd)
                           object_get_typename(OBJECT(dev)), dev->id, s);
     qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
     /* ??? Save/restore.  */
-    return 0;
 }
 
 static Property smc91c111_properties[] = {
@@ -791,9 +790,8 @@ static Property smc91c111_properties[] = {
 static void smc91c111_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = smc91c111_init1;
+    dc->realize = smc91c111_realize;
     dc->reset = smc91c111_reset;
     dc->vmsd = &vmstate_smc91c111;
     dc->props = smc91c111_properties;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 09/11] net: stellaris_enet: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (7 preceding siblings ...)
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 08/11] net: smc91c111: " Cédric Le Goater
@ 2018-10-01  6:38 ` Cédric Le Goater
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 10/11] net: stellaris_enet: add a reset method Cédric Le Goater
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:38 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, qemu-arm

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/stellaris_enet.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/net/stellaris_enet.c b/hw/net/stellaris_enet.c
index 165562d7886a..3ee1e0f8a43f 100644
--- a/hw/net/stellaris_enet.c
+++ b/hw/net/stellaris_enet.c
@@ -473,9 +473,9 @@ static NetClientInfo net_stellaris_enet_info = {
     .receive = stellaris_enet_receive,
 };
 
-static int stellaris_enet_init(SysBusDevice *sbd)
+static void stellaris_enet_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     stellaris_enet_state *s = STELLARIS_ENET(dev);
 
     memory_region_init_io(&s->mmio, OBJECT(s), &stellaris_enet_ops, s,
@@ -489,7 +489,6 @@ static int stellaris_enet_init(SysBusDevice *sbd)
     qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
 
     stellaris_enet_reset(s);
-    return 0;
 }
 
 static Property stellaris_enet_properties[] = {
@@ -500,9 +499,8 @@ static Property stellaris_enet_properties[] = {
 static void stellaris_enet_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
 
-    k->init = stellaris_enet_init;
+    dc->realize = stellaris_enet_realize;
     dc->props = stellaris_enet_properties;
     dc->vmsd = &vmstate_stellaris_enet;
 }
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 10/11] net: stellaris_enet: add a reset method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (8 preceding siblings ...)
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 09/11] net: stellaris_enet: " Cédric Le Goater
@ 2018-10-01  6:38 ` Cédric Le Goater
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 11/11] net: xgmac: convert SysBus init method to a realize method Cédric Le Goater
  2018-10-10 13:30 ` [Qemu-devel] [PATCH v2 00/11] net: " Philippe Mathieu-Daudé
  11 siblings, 0 replies; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:38 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, qemu-arm

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/stellaris_enet.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/hw/net/stellaris_enet.c b/hw/net/stellaris_enet.c
index 3ee1e0f8a43f..b3375ebb459c 100644
--- a/hw/net/stellaris_enet.c
+++ b/hw/net/stellaris_enet.c
@@ -457,8 +457,10 @@ static const MemoryRegionOps stellaris_enet_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static void stellaris_enet_reset(stellaris_enet_state *s)
+static void stellaris_enet_reset(DeviceState *dev)
 {
+    stellaris_enet_state *s =  STELLARIS_ENET(dev);
+
     s->mdv = 0x80;
     s->rctl = SE_RCTL_BADCRC;
     s->im = SE_INT_PHY | SE_INT_MD | SE_INT_RXER | SE_INT_FOV | SE_INT_TXEMP
@@ -487,8 +489,6 @@ static void stellaris_enet_realize(DeviceState *dev, Error **errp)
     s->nic = qemu_new_nic(&net_stellaris_enet_info, &s->conf,
                           object_get_typename(OBJECT(dev)), dev->id, s);
     qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
-
-    stellaris_enet_reset(s);
 }
 
 static Property stellaris_enet_properties[] = {
@@ -501,6 +501,7 @@ static void stellaris_enet_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
 
     dc->realize = stellaris_enet_realize;
+    dc->reset = stellaris_enet_reset;
     dc->props = stellaris_enet_properties;
     dc->vmsd = &vmstate_stellaris_enet;
 }
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [Qemu-devel] [PATCH v2 11/11] net: xgmac: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (9 preceding siblings ...)
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 10/11] net: stellaris_enet: add a reset method Cédric Le Goater
@ 2018-10-01  6:38 ` Cédric Le Goater
  2018-10-10 13:30 ` [Qemu-devel] [PATCH v2 00/11] net: " Philippe Mathieu-Daudé
  11 siblings, 0 replies; 20+ messages in thread
From: Cédric Le Goater @ 2018-10-01  6:38 UTC (permalink / raw)
  To: Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé,
	Cédric Le Goater, qemu-arm, Rob Herring

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/net/xgmac.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/hw/net/xgmac.c b/hw/net/xgmac.c
index fa001563d3de..63f5a62ebf1b 100644
--- a/hw/net/xgmac.c
+++ b/hw/net/xgmac.c
@@ -374,9 +374,9 @@ static NetClientInfo net_xgmac_enet_info = {
     .receive = eth_rx,
 };
 
-static int xgmac_enet_init(SysBusDevice *sbd)
+static void xgmac_enet_realize(DeviceState *dev, Error **errp)
 {
-    DeviceState *dev = DEVICE(sbd);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
     XgmacState *s = XGMAC(dev);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &enet_mem_ops, s,
@@ -397,8 +397,6 @@ static int xgmac_enet_init(SysBusDevice *sbd)
                                  (s->conf.macaddr.a[2] << 16) |
                                  (s->conf.macaddr.a[1] << 8) |
                                   s->conf.macaddr.a[0];
-
-    return 0;
 }
 
 static Property xgmac_properties[] = {
@@ -408,10 +406,9 @@ static Property xgmac_properties[] = {
 
 static void xgmac_enet_class_init(ObjectClass *klass, void *data)
 {
-    SysBusDeviceClass *sbc = SYS_BUS_DEVICE_CLASS(klass);
     DeviceClass *dc = DEVICE_CLASS(klass);
 
-    sbc->init = xgmac_enet_init;
+    dc->realize = xgmac_enet_realize;
     dc->vmsd = &vmstate_xgmac;
     dc->props = xgmac_properties;
 }
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: convert SysBus init method to a realize method
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: " Cédric Le Goater
@ 2018-10-01  7:46   ` Michael Walle
  0 siblings, 0 replies; 20+ messages in thread
From: Michael Walle @ 2018-10-01  7:46 UTC (permalink / raw)
  To: Cédric Le Goater
  Cc: Jason Wang, qemu-devel, Peter Maydell, Philippe Mathieu-Daudé

Am 2018-10-01 08:37, schrieb Cédric Le Goater:
> Cc: Michael Walle <michael@walle.cc>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/net/milkymist-minimac2.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/net/milkymist-minimac2.c b/hw/net/milkymist-minimac2.c
> index 3eaa19dfde92..7ef1daee41ec 100644
> --- a/hw/net/milkymist-minimac2.c
> +++ b/hw/net/milkymist-minimac2.c
> @@ -452,9 +452,9 @@ static NetClientInfo net_milkymist_minimac2_info = 
> {
>      .receive = minimac2_rx,
>  };
> 
> -static int milkymist_minimac2_init(SysBusDevice *sbd)
> +static void milkymist_minimac2_realize(DeviceState *dev, Error **errp)
>  {
> -    DeviceState *dev = DEVICE(sbd);
> +    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>      MilkymistMinimac2State *s = MILKYMIST_MINIMAC2(dev);
>      size_t buffers_size = TARGET_PAGE_ALIGN(3 * MINIMAC2_BUFFER_SIZE);
> 
> @@ -479,8 +479,6 @@ static int milkymist_minimac2_init(SysBusDevice 
> *sbd)
>      s->nic = qemu_new_nic(&net_milkymist_minimac2_info, &s->conf,
>                            object_get_typename(OBJECT(dev)), dev->id, 
> s);
>      qemu_format_nic_info_str(qemu_get_queue(s->nic), 
> s->conf.macaddr.a);
> -
> -    return 0;
>  }
> 
>  static const VMStateDescription vmstate_milkymist_minimac2_mdio = {
> @@ -521,9 +519,8 @@ static Property milkymist_minimac2_properties[] = {
>  static void milkymist_minimac2_class_init(ObjectClass *klass, void 
> *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
> 
> -    k->init = milkymist_minimac2_init;
> +    dc->realize = milkymist_minimac2_realize;
>      dc->reset = milkymist_minimac2_reset;
>      dc->vmsd = &vmstate_milkymist_minimac2;
>      dc->props = milkymist_minimac2_properties;


Acked-by: Michael Walle <michael@walle.cc>

-michael

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 07/11] net: opencores_eth: convert SysBus init method to a realize method
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 07/11] net: opencores_eth: " Cédric Le Goater
@ 2018-10-01  7:51   ` Max Filippov
  0 siblings, 0 replies; 20+ messages in thread
From: Max Filippov @ 2018-10-01  7:51 UTC (permalink / raw)
  To: clg; +Cc: Jason Wang, qemu-devel, Peter Maydell, Philippe Mathieu-Daudé

On Sun, Sep 30, 2018 at 11:38 PM Cédric Le Goater <clg@kaod.org> wrote:
>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/net/opencores_eth.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)

Acked-by: Max Filippov <jcmvbkbc@gmail.com>

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: convert SysBus init method to a realize method
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: " Cédric Le Goater
@ 2018-10-01  7:57   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-01  7:57 UTC (permalink / raw)
  To: Cédric Le Goater, Jason Wang, qemu-devel
  Cc: Peter Maydell, Edgar E . Iglesias

On 10/1/18 8:37 AM, Cédric Le Goater wrote:
> Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  hw/net/etraxfs_eth.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
> index a6932432b164..64ab3df1ae38 100644
> --- a/hw/net/etraxfs_eth.c
> +++ b/hw/net/etraxfs_eth.c
> @@ -23,6 +23,7 @@
>   */
>  
>  #include "qemu/osdep.h"
> +#include "qapi/error.h"
>  #include "hw/sysbus.h"
>  #include "net/net.h"
>  #include "hw/cris/etraxfs.h"
> @@ -584,14 +585,14 @@ static NetClientInfo net_etraxfs_info = {
>      .link_status_changed = eth_set_link,
>  };
>  
> -static int fs_eth_init(SysBusDevice *sbd)
> +static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
>  {
> -    DeviceState *dev = DEVICE(sbd);
> +    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>      ETRAXFSEthState *s = ETRAX_FS_ETH(dev);
>  
>      if (!s->dma_out || !s->dma_in) {
> -        error_report("Unconnected ETRAX-FS Ethernet MAC");
> -        return -1;
> +        error_setg(errp, "Unconnected ETRAX-FS Ethernet MAC");
> +        return;
>      }
>  
>      s->dma_out->client.push = eth_tx_push;
> @@ -611,7 +612,6 @@ static int fs_eth_init(SysBusDevice *sbd)
>  
>      tdk_init(&s->phy);
>      mdio_attach(&s->mdio_bus, &s->phy, s->phyaddr);
> -    return 0;
>  }
>  
>  static Property etraxfs_eth_properties[] = {
> @@ -625,9 +625,8 @@ static Property etraxfs_eth_properties[] = {
>  static void etraxfs_eth_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>  
> -    k->init = fs_eth_init;
> +    dc->realize = etraxfs_eth_realize;
>      dc->props = etraxfs_eth_properties;
>      /* Reason: pointer properties "dma_out", "dma_in" */
>      dc->user_creatable = false;
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method Cédric Le Goater
@ 2018-10-01  8:00   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-01  8:00 UTC (permalink / raw)
  To: Cédric Le Goater, Jason Wang, qemu-devel
  Cc: Peter Maydell, Edgar E . Iglesias, Philippe Mathieu-Daudé

On 10/1/18 8:37 AM, Cédric Le Goater wrote:
> Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  hw/net/etraxfs_eth.c | 31 +++++++++++++++++++++++++------
>  1 file changed, 25 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
> index 64ab3df1ae38..36855804dba0 100644
> --- a/hw/net/etraxfs_eth.c
> +++ b/hw/net/etraxfs_eth.c
> @@ -127,7 +127,7 @@ tdk_write(struct qemu_phy *phy, unsigned int req, unsigned int data)
>  }
>  
>  static void
> -tdk_init(struct qemu_phy *phy)
> +tdk_reset(struct qemu_phy *phy)
>  {
>      phy->regs[0] = 0x3100;
>      /* PHY Id.  */
> @@ -136,9 +136,6 @@ tdk_init(struct qemu_phy *phy)
>      /* Autonegotiation advertisement reg.  */
>      phy->regs[4] = 0x01E1;
>      phy->link = 1;
> -
> -    phy->read = tdk_read;
> -    phy->write = tdk_write;
>  }
>  
>  struct qemu_mdio
> @@ -585,6 +582,27 @@ static NetClientInfo net_etraxfs_info = {
>      .link_status_changed = eth_set_link,
>  };
>  
> +static void etraxfs_eth_reset(DeviceState *dev)
> +{
> +    ETRAXFSEthState *s = ETRAX_FS_ETH(dev);
> +
> +    memset(s->regs, 0, sizeof(s->regs));
> +    memset(s->macaddr, 0, sizeof(s->macaddr));
> +    s->duplex_mismatch = 0;
> +
> +    s->mdio_bus.mdc = 0;
> +    s->mdio_bus.mdio = 0;
> +    s->mdio_bus.state = 0;
> +    s->mdio_bus.drive = 0;
> +    s->mdio_bus.cnt = 0;
> +    s->mdio_bus.addr = 0;
> +    s->mdio_bus.opc = 0;
> +    s->mdio_bus.req = 0;
> +    s->mdio_bus.data = 0;
> +
> +    tdk_reset(&s->phy);
> +}
> +
>  static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
>  {
>      SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
> @@ -609,8 +627,8 @@ static void etraxfs_eth_realize(DeviceState *dev, Error **errp)
>                            object_get_typename(OBJECT(s)), dev->id, s);
>      qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
>  
> -
> -    tdk_init(&s->phy);
> +    s->phy.read = tdk_read;
> +    s->phy.write = tdk_write;
>      mdio_attach(&s->mdio_bus, &s->phy, s->phyaddr);
>  }
>  
> @@ -627,6 +645,7 @@ static void etraxfs_eth_class_init(ObjectClass *klass, void *data)
>      DeviceClass *dc = DEVICE_CLASS(klass);
>  
>      dc->realize = etraxfs_eth_realize;
> +    dc->reset = etraxfs_eth_reset;
>      dc->props = etraxfs_eth_properties;
>      /* Reason: pointer properties "dma_out", "dma_in" */
>      dc->user_creatable = false;
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method
  2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method Cédric Le Goater
@ 2018-10-01  8:01   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-01  8:01 UTC (permalink / raw)
  To: Cédric Le Goater, Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé

On 10/1/18 8:37 AM, Cédric Le Goater wrote:
> Signed-off-by: Cédric Le Goater <clg@kaod.org>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  hw/net/lan9118.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
> index b9032dac595f..a6269d9463b1 100644
> --- a/hw/net/lan9118.c
> +++ b/hw/net/lan9118.c
> @@ -1320,9 +1320,9 @@ static NetClientInfo net_lan9118_info = {
>      .link_status_changed = lan9118_set_link,
>  };
>  
> -static int lan9118_init1(SysBusDevice *sbd)
> +static void lan9118_realize(DeviceState *dev, Error **errp)
>  {
> -    DeviceState *dev = DEVICE(sbd);
> +    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>      lan9118_state *s = LAN9118(dev);
>      QEMUBH *bh;
>      int i;
> @@ -1349,8 +1349,6 @@ static int lan9118_init1(SysBusDevice *sbd)
>      s->timer = ptimer_init(bh, PTIMER_POLICY_DEFAULT);
>      ptimer_set_freq(s->timer, 10000);
>      ptimer_set_limit(s->timer, 0xffff, 1);
> -
> -    return 0;
>  }
>  
>  static Property lan9118_properties[] = {
> @@ -1362,12 +1360,11 @@ static Property lan9118_properties[] = {
>  static void lan9118_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>  
> -    k->init = lan9118_init1;
>      dc->reset = lan9118_reset;
>      dc->props = lan9118_properties;
>      dc->vmsd = &vmstate_lan9118;
> +    dc->realize = lan9118_realize;
>  }
>  
>  static const TypeInfo lan9118_info = {
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 08/11] net: smc91c111: convert SysBus init method to a realize method
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 08/11] net: smc91c111: " Cédric Le Goater
@ 2018-10-01  8:01   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-01  8:01 UTC (permalink / raw)
  To: Cédric Le Goater, Jason Wang, qemu-devel
  Cc: Peter Maydell, Philippe Mathieu-Daudé

On 10/1/18 8:38 AM, Cédric Le Goater wrote:
> Signed-off-by: Cédric Le Goater <clg@kaod.org>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  hw/net/smc91c111.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c
> index d2fd2040e81c..99da2d92973e 100644
> --- a/hw/net/smc91c111.c
> +++ b/hw/net/smc91c111.c
> @@ -766,9 +766,9 @@ static NetClientInfo net_smc91c111_info = {
>      .receive = smc91c111_receive,
>  };
>  
> -static int smc91c111_init1(SysBusDevice *sbd)
> +static void smc91c111_realize(DeviceState *dev, Error **errp)
>  {
> -    DeviceState *dev = DEVICE(sbd);
> +    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>      smc91c111_state *s = SMC91C111(dev);
>  
>      memory_region_init_io(&s->mmio, OBJECT(s), &smc91c111_mem_ops, s,
> @@ -780,7 +780,6 @@ static int smc91c111_init1(SysBusDevice *sbd)
>                            object_get_typename(OBJECT(dev)), dev->id, s);
>      qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
>      /* ??? Save/restore.  */
> -    return 0;
>  }
>  
>  static Property smc91c111_properties[] = {
> @@ -791,9 +790,8 @@ static Property smc91c111_properties[] = {
>  static void smc91c111_class_init(ObjectClass *klass, void *data)
>  {
>      DeviceClass *dc = DEVICE_CLASS(klass);
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>  
> -    k->init = smc91c111_init1;
> +    dc->realize = smc91c111_realize;
>      dc->reset = smc91c111_reset;
>      dc->vmsd = &vmstate_smc91c111;
>      dc->props = smc91c111_properties;
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method
  2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
                   ` (10 preceding siblings ...)
  2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 11/11] net: xgmac: convert SysBus init method to a realize method Cédric Le Goater
@ 2018-10-10 13:30 ` Philippe Mathieu-Daudé
  2018-10-11 17:47   ` Eduardo Habkost
  11 siblings, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-10-10 13:30 UTC (permalink / raw)
  To: Cédric Le Goater, qemu-devel, Eduardo Habkost
  Cc: Jason Wang, Peter Maydell, Philippe Mathieu-Daudé

Cc'ing Eduardo since it might make sens to have this series go via his
machine-next tree, rather than Jason's net tree.

On 01/10/2018 08:37, Cédric Le Goater wrote:
> Hello,
> 
> Here is my take to the SysBus init to realize method conversion. I
> picked the /net directory and did them all. Also added a couple of
> reset methods in separate patches.
> 
> make check tested
> 
> Thanks,
> 
> C.
> 
> Changes since v1:
> 
>  - dropped changes in lan9118_init() and smc91c111_init()
>  - fix alignment in milkymist_minimac2_realize()
>  - improved etraxfs reset method
>  
> 
> Cédric Le Goater (11):
>   net: etraxfs_eth: convert SysBus init method to a realize method
>   net: etraxfs_eth: add a reset method
>   net: lan9118: convert SysBus init method to a realize method
>   net: lance: convert SysBus init method to a realize method
>   net: milkymist_minimac2: convert SysBus init method to a realize
>     method
>   net: mipsnet: convert SysBus init method to a realize method
>   net: opencores_eth: convert SysBus init method to a realize method
>   net: smc91c111: convert SysBus init method to a realize method
>   net: stellaris_enet: convert SysBus init method to a realize method
>   net: stellaris_enet: add a reset method
>   net: xgmac: convert SysBus init method to a realize method
> 
>  hw/net/etraxfs_eth.c        | 44 ++++++++++++++++++++++++++-----------
>  hw/net/lan9118.c            |  9 +++-----
>  hw/net/lance.c              |  8 +++----
>  hw/net/milkymist-minimac2.c |  9 +++-----
>  hw/net/mipsnet.c            |  9 +++-----
>  hw/net/opencores_eth.c      |  8 +++----
>  hw/net/smc91c111.c          |  8 +++----
>  hw/net/stellaris_enet.c     | 15 ++++++-------
>  hw/net/xgmac.c              |  9 +++-----
>  9 files changed, 59 insertions(+), 60 deletions(-)
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method
  2018-10-10 13:30 ` [Qemu-devel] [PATCH v2 00/11] net: " Philippe Mathieu-Daudé
@ 2018-10-11 17:47   ` Eduardo Habkost
  0 siblings, 0 replies; 20+ messages in thread
From: Eduardo Habkost @ 2018-10-11 17:47 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Cédric Le Goater, qemu-devel, Peter Maydell, Jason Wang,
	Philippe Mathieu-Daudé

On Wed, Oct 10, 2018 at 03:30:25PM +0200, Philippe Mathieu-Daudé wrote:
> Cc'ing Eduardo since it might make sens to have this series go via his
> machine-next tree, rather than Jason's net tree.

Queued on machine-next, thanks!

> 
> On 01/10/2018 08:37, Cédric Le Goater wrote:
> > Hello,
> > 
> > Here is my take to the SysBus init to realize method conversion. I
> > picked the /net directory and did them all. Also added a couple of
> > reset methods in separate patches.
> > 
> > make check tested
> > 
> > Thanks,
> > 
> > C.
> > 
> > Changes since v1:
> > 
> >  - dropped changes in lan9118_init() and smc91c111_init()
> >  - fix alignment in milkymist_minimac2_realize()
> >  - improved etraxfs reset method
> >  
> > 
> > Cédric Le Goater (11):
> >   net: etraxfs_eth: convert SysBus init method to a realize method
> >   net: etraxfs_eth: add a reset method
> >   net: lan9118: convert SysBus init method to a realize method
> >   net: lance: convert SysBus init method to a realize method
> >   net: milkymist_minimac2: convert SysBus init method to a realize
> >     method
> >   net: mipsnet: convert SysBus init method to a realize method
> >   net: opencores_eth: convert SysBus init method to a realize method
> >   net: smc91c111: convert SysBus init method to a realize method
> >   net: stellaris_enet: convert SysBus init method to a realize method
> >   net: stellaris_enet: add a reset method
> >   net: xgmac: convert SysBus init method to a realize method
> > 
> >  hw/net/etraxfs_eth.c        | 44 ++++++++++++++++++++++++++-----------
> >  hw/net/lan9118.c            |  9 +++-----
> >  hw/net/lance.c              |  8 +++----
> >  hw/net/milkymist-minimac2.c |  9 +++-----
> >  hw/net/mipsnet.c            |  9 +++-----
> >  hw/net/opencores_eth.c      |  8 +++----
> >  hw/net/smc91c111.c          |  8 +++----
> >  hw/net/stellaris_enet.c     | 15 ++++++-------
> >  hw/net/xgmac.c              |  9 +++-----
> >  9 files changed, 59 insertions(+), 60 deletions(-)
> > 
> 

-- 
Eduardo

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-10-11 17:48 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-01  6:37 [Qemu-devel] [PATCH v2 00/11] net: convert SysBus init method to a realize method Cédric Le Goater
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 01/11] net: etraxfs_eth: " Cédric Le Goater
2018-10-01  7:57   ` Philippe Mathieu-Daudé
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 02/11] net: etraxfs_eth: add a reset method Cédric Le Goater
2018-10-01  8:00   ` Philippe Mathieu-Daudé
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 03/11] net: lan9118: convert SysBus init method to a realize method Cédric Le Goater
2018-10-01  8:01   ` Philippe Mathieu-Daudé
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 04/11] net: lance: " Cédric Le Goater
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 05/11] net: milkymist_minimac2: " Cédric Le Goater
2018-10-01  7:46   ` Michael Walle
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 06/11] net: mipsnet: " Cédric Le Goater
2018-10-01  6:37 ` [Qemu-devel] [PATCH v2 07/11] net: opencores_eth: " Cédric Le Goater
2018-10-01  7:51   ` Max Filippov
2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 08/11] net: smc91c111: " Cédric Le Goater
2018-10-01  8:01   ` Philippe Mathieu-Daudé
2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 09/11] net: stellaris_enet: " Cédric Le Goater
2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 10/11] net: stellaris_enet: add a reset method Cédric Le Goater
2018-10-01  6:38 ` [Qemu-devel] [PATCH v2 11/11] net: xgmac: convert SysBus init method to a realize method Cédric Le Goater
2018-10-10 13:30 ` [Qemu-devel] [PATCH v2 00/11] net: " Philippe Mathieu-Daudé
2018-10-11 17:47   ` Eduardo Habkost

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.