Skip to content

Commit 26ccfc3

Browse files
Andy Flemingdavem330
authored andcommitted
gianfar: Convert to use netdev_ops
Signed-off-by: Andy Fleming <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent db46db1 commit 26ccfc3

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

drivers/net/gianfar.c

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,26 @@ static void gfar_halt_nodisable(struct net_device *dev);
140140
void gfar_start(struct net_device *dev);
141141
static void gfar_clear_exact_match(struct net_device *dev);
142142
static void gfar_set_mac_for_addr(struct net_device *dev, int num, u8 *addr);
143+
static int gfar_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
143144

144145
MODULE_AUTHOR("Freescale Semiconductor, Inc");
145146
MODULE_DESCRIPTION("Gianfar Ethernet Driver");
146147
MODULE_LICENSE("GPL");
147148

149+
static const struct net_device_ops gfar_netdev_ops = {
150+
.ndo_open = gfar_enet_open,
151+
.ndo_start_xmit = gfar_start_xmit,
152+
.ndo_stop = gfar_close,
153+
.ndo_change_mtu = gfar_change_mtu,
154+
.ndo_set_multicast_list = gfar_set_multi,
155+
.ndo_tx_timeout = gfar_timeout,
156+
.ndo_do_ioctl = gfar_ioctl,
157+
.ndo_vlan_rx_register = gfar_vlan_rx_register,
158+
#ifdef CONFIG_NET_POLL_CONTROLLER
159+
.ndo_poll_controller = gfar_netpoll,
160+
#endif
161+
};
162+
148163
/* Returns 1 if incoming frames use an FCB */
149164
static inline int gfar_uses_fcb(struct gfar_private *priv)
150165
{
@@ -390,21 +405,12 @@ static int gfar_probe(struct of_device *ofdev,
390405
SET_NETDEV_DEV(dev, &ofdev->dev);
391406

392407
/* Fill in the dev structure */
393-
dev->open = gfar_enet_open;
394-
dev->hard_start_xmit = gfar_start_xmit;
395-
dev->tx_timeout = gfar_timeout;
396408
dev->watchdog_timeo = TX_TIMEOUT;
397409
netif_napi_add(dev, &priv->napi, gfar_poll, GFAR_DEV_WEIGHT);
398-
#ifdef CONFIG_NET_POLL_CONTROLLER
399-
dev->poll_controller = gfar_netpoll;
400-
#endif
401-
dev->stop = gfar_close;
402-
dev->change_mtu = gfar_change_mtu;
403410
dev->mtu = 1500;
404-
dev->set_multicast_list = gfar_set_multi;
405411

412+
dev->netdev_ops = &gfar_netdev_ops;
406413
dev->ethtool_ops = &gfar_ethtool_ops;
407-
dev->do_ioctl = gfar_ioctl;
408414

409415
if (priv->device_flags & FSL_GIANFAR_DEV_HAS_CSUM) {
410416
priv->rx_csum_enable = 1;
@@ -414,11 +420,8 @@ static int gfar_probe(struct of_device *ofdev,
414420

415421
priv->vlgrp = NULL;
416422

417-
if (priv->device_flags & FSL_GIANFAR_DEV_HAS_VLAN) {
418-
dev->vlan_rx_register = gfar_vlan_rx_register;
419-
423+
if (priv->device_flags & FSL_GIANFAR_DEV_HAS_VLAN)
420424
dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
421-
}
422425

423426
if (priv->device_flags & FSL_GIANFAR_DEV_HAS_EXTENDED_HASH) {
424427
priv->extended_hash = 1;

0 commit comments

Comments
 (0)