summary refs log tree commit diff stats
path: root/hw/net/rocker/rocker_fp.c
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2020-11-12 19:13:35 -0600
committerMarkus Armbruster <armbru@redhat.com>2020-12-19 10:14:52 +0100
commitfe4d7e338faf7809024017e373b15dd8ac82094d (patch)
tree5885c2111d56d59d6ed0f2268dae1c188d7aa5db /hw/net/rocker/rocker_fp.c
parenta05f8ecd88f15273d033b6f044b850a8af84a5b8 (diff)
downloadfocaccia-qemu-fe4d7e338faf7809024017e373b15dd8ac82094d.tar.gz
focaccia-qemu-fe4d7e338faf7809024017e373b15dd8ac82094d.zip
rocker: Revamp fp_port_get_info
Instead of modifying the value member of a list element passed as a
parameter, and open-coding the manipulation of that list, it's nicer
to just return a freshly allocated value to be prepended to a list
using QAPI_LIST_PREPEND.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201113011340.463563-3-eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'hw/net/rocker/rocker_fp.c')
-rw-r--r--hw/net/rocker/rocker_fp.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/hw/net/rocker/rocker_fp.c b/hw/net/rocker/rocker_fp.c
index 4aa7da79b8..cbeed65bd5 100644
--- a/hw/net/rocker/rocker_fp.c
+++ b/hw/net/rocker/rocker_fp.c
@@ -51,14 +51,17 @@ bool fp_port_get_link_up(FpPort *port)
     return !qemu_get_queue(port->nic)->link_down;
 }
 
-void fp_port_get_info(FpPort *port, RockerPortList *info)
+RockerPort *fp_port_get_info(FpPort *port)
 {
-    info->value->name = g_strdup(port->name);
-    info->value->enabled = port->enabled;
-    info->value->link_up = fp_port_get_link_up(port);
-    info->value->speed = port->speed;
-    info->value->duplex = port->duplex;
-    info->value->autoneg = port->autoneg;
+    RockerPort *value = g_malloc0(sizeof(*value));
+
+    value->name = g_strdup(port->name);
+    value->enabled = port->enabled;
+    value->link_up = fp_port_get_link_up(port);
+    value->speed = port->speed;
+    value->duplex = port->duplex;
+    value->autoneg = port->autoneg;
+    return value;
 }
 
 void fp_port_get_macaddr(FpPort *port, MACAddr *macaddr)