summaryrefslogtreecommitdiff
path: root/hw/net/xilinx_axienet.c
diff options
context:
space:
mode:
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>2013-04-16 10:20:06 +1000
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2013-04-16 10:04:22 +0200
commit9ee0ceb7a8e643a0db232f42ddee2ed325dd4d86 (patch)
tree89c2bc0b62b066990e3a6d2ec28b22ecc2401e1a /hw/net/xilinx_axienet.c
parentf0e7a81c0ca122126e92a9f06b9599f04a0eaebb (diff)
downloadqemu-9ee0ceb7a8e643a0db232f42ddee2ed325dd4d86.tar.gz
xilinx_axienet: Register reset properly
Register the reset function and the Device::reset function rather than explicitly call it from the sysbus::init. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'hw/net/xilinx_axienet.c')
-rw-r--r--hw/net/xilinx_axienet.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c
index 6cb9a9b010..afc3d82050 100644
--- a/hw/net/xilinx_axienet.c
+++ b/hw/net/xilinx_axienet.c
@@ -402,8 +402,10 @@ static inline int axienet_newfunc_enabled(XilinxAXIEnet *s)
return !!(s->regs[R_RAF] & RAF_NEWFUNC_EN);
}
-static void axienet_reset(XilinxAXIEnet *s)
+static void xilinx_axienet_reset(DeviceState *d)
{
+ XilinxAXIEnet *s = XILINX_AXI_ENET(d);
+
axienet_rx_reset(s);
axienet_tx_reset(s);
@@ -871,7 +873,6 @@ static int xilinx_enet_init(SysBusDevice *dev)
s->TEMAC.parent = s;
s->rxmem = g_malloc(s->c_rxmem);
- axienet_reset(s);
return 0;
}
@@ -902,6 +903,7 @@ static void xilinx_enet_class_init(ObjectClass *klass, void *data)
k->init = xilinx_enet_init;
dc->props = xilinx_enet_properties;
+ dc->reset = xilinx_axienet_reset;
ssc->push = axienet_stream_push;
}