]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
xilinx_axienet: Register reset properly
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Tue, 16 Apr 2013 00:20:06 +0000 (10:20 +1000)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Tue, 16 Apr 2013 08:04:22 +0000 (10:04 +0200)
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>
hw/net/xilinx_axienet.c

index 6cb9a9b01098a9e31b29623fa38ea7d0e8fe9de6..afc3d8205061cb2d9d12717815ac910cd369bd1b 100644 (file)
@@ -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;
 }