diff --git a/arch/powerpc/cpu/mpc8220/fec.c b/arch/powerpc/cpu/mpc8220/fec.c
index 9d6fcc1..289e7c2 100644
--- a/arch/powerpc/cpu/mpc8220/fec.c
+++ b/arch/powerpc/cpu/mpc8220/fec.c
@@ -799,6 +799,12 @@ static int mpc8220_fec_recv (struct eth_device *dev)
 	return len;
 }
 
+static struct eth_ops mpc8220_fec_ops = {
+	.init = mpc8220_fec_init,
+	.halt = mpc8220_fec_halt,
+	.send = mpc8220_fec_send,
+	.recv = mpc8220_fec_recv
+};
 
 /********************************************************************/
 int mpc8220_fec_initialize (bd_t * bis)
@@ -833,10 +839,7 @@ int mpc8220_fec_initialize (bd_t * bis)
 
 	dev->priv = (void *) fec;
 	dev->iobase = MMAP_FEC1;
-	dev->eo->init = mpc8220_fec_init;
-	dev->eo->halt = mpc8220_fec_halt;
-	dev->eo->send = mpc8220_fec_send;
-	dev->eo->recv = mpc8220_fec_recv;
+	dev->eo = &mpc8220_fec_ops;
 
 	sprintf (dev->name, "FEC");
 	eth_register (dev);
