@@ -246,6 +246,13 @@ void mv_eth_phy_init (void)
MV_REG_WRITE (ETH_PHY_DFCDL_CONFIG0_REG, 0x300000);
}
+static struct eth_ops db64460_eth_ops = {
+ .init = (void *) db64460_eth_probe,
+ .halt = (void *) ethernet_phy_reset,
+ .send = (void *) db64460_eth_transmit,
+ .recv = (void *) db64460_eth_poll
+};
+
void mv6446x_eth_initialize (bd_t * bis)
{
struct eth_device *dev;
@@ -309,10 +316,7 @@ void mv6446x_eth_initialize (bd_t * bis)
/* ronen - set the MAC addr in the HW */
eth_port_uc_addr_set (devnum, dev->enetaddr, 0);
- dev->eo->init = (void *) db64460_eth_probe;
- dev->eo->halt = (void *) ethernet_phy_reset;
- dev->eo->send = (void *) db64460_eth_transmit;
- dev->eo->recv = (void *) db64460_eth_poll;
+ dev->eo = &db64460_eth_ops;
ethernet_private = calloc (sizeof (*ethernet_private), 1);
dev->priv = (void *)ethernet_private;
Add static struct eth_ops and set ops function pointers statically. Remove setting eth_ops members dynamically. This is a step toward converting the driver for DM. Signed-off-by: Tomas Hlavacek <tmshlvck@gmail.com> --- board/prodrive/p3mx/mv_eth.c | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-)