netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/22]  Network device ops (phase 3)
@ 2008-11-21 23:21 Stephen Hemminger
  2008-11-21 23:21 ` [PATCH 01/22] jme: convert driver to net_device_ops Stephen Hemminger
                   ` (21 more replies)
  0 siblings, 22 replies; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

This covers the rest of 1G and 10G devices

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 01/22] jme: convert driver to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:28   ` David Miller
  2008-11-21 23:21 ` [PATCH 02/22] s2io: convert " Stephen Hemminger
                   ` (20 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: jme-netdev_ops.patch --]
[-- Type: text/plain, Size: 1564 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/jme.c	2008-11-20 20:54:33.000000000 -0800
+++ b/drivers/net/jme.c	2008-11-20 21:29:40.000000000 -0800
@@ -2625,6 +2625,18 @@ jme_check_hw_ver(struct jme_adapter *jme
 	jme->chiprev = (chipmode & CM_CHIPREV_MASK) >> CM_CHIPREV_SHIFT;
 }
 
+static const struct net_device_ops jme_netdev_ops = {
+	.ndo_open		= jme_open,
+	.ndo_stop		= jme_close,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_start_xmit		= jme_start_xmit,
+	.ndo_set_mac_address	= jme_set_macaddr,
+	.ndo_set_multicast_list	= jme_set_multi,
+	.ndo_change_mtu		= jme_change_mtu,
+	.ndo_tx_timeout		= jme_tx_timeout,
+	.ndo_vlan_rx_register	= jme_vlan_rx_register,
+};
+
 static int __devinit
 jme_init_one(struct pci_dev *pdev,
 	     const struct pci_device_id *ent)
@@ -2674,17 +2686,9 @@ jme_init_one(struct pci_dev *pdev,
 		rc = -ENOMEM;
 		goto err_out_release_regions;
 	}
-	netdev->open			= jme_open;
-	netdev->stop			= jme_close;
-	netdev->hard_start_xmit		= jme_start_xmit;
-	netdev->set_mac_address		= jme_set_macaddr;
-	netdev->set_multicast_list	= jme_set_multi;
-	netdev->change_mtu		= jme_change_mtu;
+	netdev->netdev_ops = &jme_netdev_ops;
 	netdev->ethtool_ops		= &jme_ethtool_ops;
-	netdev->tx_timeout		= jme_tx_timeout;
 	netdev->watchdog_timeo		= TX_TIMEOUT;
-	netdev->vlan_rx_register	= jme_vlan_rx_register;
-	NETDEV_GET_STATS(netdev, &jme_get_stats);
 	netdev->features		=	NETIF_F_HW_CSUM |
 						NETIF_F_SG |
 						NETIF_F_TSO |

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 02/22] s2io: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
  2008-11-21 23:21 ` [PATCH 01/22] jme: convert driver to net_device_ops Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:29   ` David Miller
  2008-11-21 23:21 ` [PATCH 03/22] qlge: " Stephen Hemminger
                   ` (19 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: s2io-netdev_ops.patch --]
[-- Type: text/plain, Size: 3074 bytes --]

Convert this driver to network device ops. Compile teseted only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/s2io.c	2008-11-20 21:29:12.000000000 -0800
+++ b/drivers/net/s2io.c	2008-11-20 22:05:30.000000000 -0800
@@ -352,9 +352,10 @@ static void do_s2io_copy_mac_addr(struct
 	sp->def_mac_addr[offset].mac_addr[1] = (u8) (mac_addr >> 32);
 	sp->def_mac_addr[offset].mac_addr[0] = (u8) (mac_addr >> 40);
 }
+
 /* Add the vlan */
 static void s2io_vlan_rx_register(struct net_device *dev,
-					struct vlan_group *grp)
+				  struct vlan_group *grp)
 {
 	int i;
 	struct s2io_nic *nic = netdev_priv(dev);
@@ -372,7 +373,7 @@ static void s2io_vlan_rx_register(struct
 }
 
 /* Unregister the vlan */
-static void s2io_vlan_rx_kill_vid(struct net_device *dev, unsigned long vid)
+static void s2io_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
 {
 	int i;
 	struct s2io_nic *nic = netdev_priv(dev);
@@ -7717,6 +7718,24 @@ static int rts_ds_steer(struct s2io_nic 
 				S2IO_BIT_RESET);
 }
 
+static const struct net_device_ops s2io_netdev_ops = {
+	.ndo_open	        = s2io_open,
+	.ndo_stop	        = s2io_close,
+	.ndo_get_stats	        = s2io_get_stats,
+	.ndo_start_xmit    	= s2io_xmit,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_set_multicast_list = s2io_set_multicast,
+	.ndo_do_ioctl	   	= s2io_ioctl,
+	.ndo_set_mac_address    = s2io_set_mac_addr,
+	.ndo_change_mtu	   	= s2io_change_mtu,
+	.ndo_vlan_rx_register   = s2io_vlan_rx_register,
+	.ndo_vlan_rx_kill_vid   = s2io_vlan_rx_kill_vid,
+	.ndo_tx_timeout	   	= s2io_tx_watchdog,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller    = s2io_netpoll,
+#endif
+};
+
 /**
  *  s2io_init_nic - Initialization of the adapter .
  *  @pdev : structure containing the PCI related information of the device.
@@ -7942,26 +7961,9 @@ s2io_init_nic(struct pci_dev *pdev, cons
 	}
 
 	/*  Driver entry points */
-	dev->open = &s2io_open;
-	dev->stop = &s2io_close;
-	dev->hard_start_xmit = &s2io_xmit;
-	dev->get_stats = &s2io_get_stats;
-	dev->set_multicast_list = &s2io_set_multicast;
-	dev->do_ioctl = &s2io_ioctl;
-	dev->set_mac_address = &s2io_set_mac_addr;
-	dev->change_mtu = &s2io_change_mtu;
+	dev->netdev_ops = &s2io_netdev_ops;
 	SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops);
 	dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
-	dev->vlan_rx_register = s2io_vlan_rx_register;
-	dev->vlan_rx_kill_vid = (void *)s2io_vlan_rx_kill_vid;
-
-	/*
-	 * will use eth_mac_addr() for  dev->set_mac_address
-	 * mac address will be set every time dev->open() is called
-	 */
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	dev->poll_controller = s2io_netpoll;
-#endif
 
 	dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM;
 	if (sp->high_dma_flag == TRUE)
@@ -7972,7 +7974,6 @@ s2io_init_nic(struct pci_dev *pdev, cons
 		dev->features |= NETIF_F_UFO;
 		dev->features |= NETIF_F_HW_CSUM;
 	}
-	dev->tx_timeout = &s2io_tx_watchdog;
 	dev->watchdog_timeo = WATCH_DOG_TIMEOUT;
 	INIT_WORK(&sp->rst_timer_task, s2io_restart_nic);
 	INIT_WORK(&sp->set_link_task, s2io_set_link);

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 03/22] qlge: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
  2008-11-21 23:21 ` [PATCH 01/22] jme: convert driver to net_device_ops Stephen Hemminger
  2008-11-21 23:21 ` [PATCH 02/22] s2io: convert " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:29   ` David Miller
  2008-11-21 23:21 ` [PATCH 04/22] Subject qlge: fix sparse warnings Stephen Hemminger
                   ` (18 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: qlge-netdev_ops.patch --]
[-- Type: text/plain, Size: 1772 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/qlge/qlge_main.c	2008-11-20 22:46:47.000000000 -0800
+++ b/drivers/net/qlge/qlge_main.c	2008-11-20 22:47:28.000000000 -0800
@@ -3715,6 +3715,22 @@ err_out:
 	return err;
 }
 
+
+static const struct net_device_ops qlge_netdev_ops = {
+	.ndo_open		= qlge_open,
+	.ndo_stop		= qlge_close,
+	.ndo_start_xmit		= qlge_send,
+	.ndo_change_mtu		= qlge_change_mtu,
+	.ndo_get_stats		= qlge_get_stats,
+	.ndo_set_multicast_list = qlge_set_multicast_list,
+	.ndo_set_mac_address	= qlge_set_mac_address,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_tx_timeout		= qlge_tx_timeout,
+	.ndo_vlan_rx_register	= ql_vlan_rx_register,
+	.ndo_vlan_rx_add_vid	= ql_vlan_rx_add_vid,
+	.ndo_vlan_rx_kill_vid	= ql_vlan_rx_kill_vid,
+};
+
 static int __devinit qlge_probe(struct pci_dev *pdev,
 				const struct pci_device_id *pci_entry)
 {
@@ -3752,19 +3768,11 @@ static int __devinit qlge_probe(struct p
 	 */
 	ndev->tx_queue_len = qdev->tx_ring_size;
 	ndev->irq = pdev->irq;
-	ndev->open = qlge_open;
-	ndev->stop = qlge_close;
-	ndev->hard_start_xmit = qlge_send;
+
+	ndev->netdev_ops = &qlge_netdev_ops;
 	SET_ETHTOOL_OPS(ndev, &qlge_ethtool_ops);
-	ndev->change_mtu = qlge_change_mtu;
-	ndev->get_stats = qlge_get_stats;
-	ndev->set_multicast_list = qlge_set_multicast_list;
-	ndev->set_mac_address = qlge_set_mac_address;
-	ndev->tx_timeout = qlge_tx_timeout;
 	ndev->watchdog_timeo = 10 * HZ;
-	ndev->vlan_rx_register = ql_vlan_rx_register;
-	ndev->vlan_rx_add_vid = ql_vlan_rx_add_vid;
-	ndev->vlan_rx_kill_vid = ql_vlan_rx_kill_vid;
+
 	err = register_netdev(ndev);
 	if (err) {
 		dev_err(&pdev->dev, "net device registration failed.\n");

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 04/22] Subject qlge: fix sparse warnings
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (2 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 03/22] qlge: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:29   ` David Miller
  2008-11-21 23:21 ` [PATCH 05/22] via-rhine: convert to net_device_ops Stephen Hemminger
                   ` (17 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: glge_sparse.patch --]
[-- Type: text/plain, Size: 4170 bytes --]

Fix sparse warnings and one bug:
    * Several routines can be static
    * Don't lose __iomem annotation
    * fix locking on error path (bug)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/qlge/qlge_main.c	2008-11-21 14:51:03.000000000 -0800
+++ b/drivers/net/qlge/qlge_main.c	2008-11-21 14:56:50.000000000 -0800
@@ -642,7 +642,7 @@ static void ql_enable_all_completion_int
 
 }
 
-int ql_read_flash_word(struct ql_adapter *qdev, int offset, u32 *data)
+static int ql_read_flash_word(struct ql_adapter *qdev, int offset, u32 *data)
 {
 	int status = 0;
 	/* wait for reg to come ready */
@@ -832,7 +832,7 @@ end:
 }
 
 /* Get the next large buffer. */
-struct bq_desc *ql_get_curr_lbuf(struct rx_ring *rx_ring)
+static struct bq_desc *ql_get_curr_lbuf(struct rx_ring *rx_ring)
 {
 	struct bq_desc *lbq_desc = &rx_ring->lbq[rx_ring->lbq_curr_idx];
 	rx_ring->lbq_curr_idx++;
@@ -843,7 +843,7 @@ struct bq_desc *ql_get_curr_lbuf(struct 
 }
 
 /* Get the next small buffer. */
-struct bq_desc *ql_get_curr_sbuf(struct rx_ring *rx_ring)
+static struct bq_desc *ql_get_curr_sbuf(struct rx_ring *rx_ring)
 {
 	struct bq_desc *sbq_desc = &rx_ring->sbq[rx_ring->sbq_curr_idx];
 	rx_ring->sbq_curr_idx++;
@@ -1166,7 +1166,7 @@ map_error:
 	return NETDEV_TX_BUSY;
 }
 
-void ql_realign_skb(struct sk_buff *skb, int len)
+static void ql_realign_skb(struct sk_buff *skb, int len)
 {
 	void *temp_addr = skb->data;
 
@@ -2069,7 +2069,7 @@ err:
 	return -ENOMEM;
 }
 
-void ql_free_lbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring)
+static void ql_free_lbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring)
 {
 	int i;
 	struct bq_desc *lbq_desc;
@@ -2132,7 +2132,7 @@ mem_error:
 	return -ENOMEM;
 }
 
-void ql_free_sbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring)
+static void ql_free_sbq_buffers(struct ql_adapter *qdev, struct rx_ring *rx_ring)
 {
 	int i;
 	struct bq_desc *sbq_desc;
@@ -2467,7 +2467,7 @@ static int ql_start_rx_ring(struct ql_ad
 	rx_ring->sbq_base_indirect_dma = shadow_reg_dma;
 
 	/* PCI doorbell mem area + 0x00 for consumer index register */
-	rx_ring->cnsmr_idx_db_reg = (u32 *) doorbell_area;
+	rx_ring->cnsmr_idx_db_reg = (u32 __iomem *) doorbell_area;
 	rx_ring->cnsmr_idx = 0;
 	rx_ring->curr_entry = rx_ring->cq_base;
 
@@ -2475,10 +2475,10 @@ static int ql_start_rx_ring(struct ql_ad
 	rx_ring->valid_db_reg = doorbell_area + 0x04;
 
 	/* PCI doorbell mem area + 0x18 for large buffer consumer */
-	rx_ring->lbq_prod_idx_db_reg = (u32 *) (doorbell_area + 0x18);
+	rx_ring->lbq_prod_idx_db_reg = (u32 __iomem *) (doorbell_area + 0x18);
 
 	/* PCI doorbell mem area + 0x1c */
-	rx_ring->sbq_prod_idx_db_reg = (u32 *) (doorbell_area + 0x1c);
+	rx_ring->sbq_prod_idx_db_reg = (u32 __iomem *) (doorbell_area + 0x1c);
 
 	memset((void *)cqicb, 0, sizeof(struct cqicb));
 	cqicb->msix_vect = rx_ring->irq;
@@ -2609,7 +2609,7 @@ static int ql_start_tx_ring(struct ql_ad
 	 * Assign doorbell registers for this tx_ring.
 	 */
 	/* TX PCI doorbell mem area for tx producer index */
-	tx_ring->prod_idx_db_reg = (u32 *) doorbell_area;
+	tx_ring->prod_idx_db_reg = (u32 __iomem *) doorbell_area;
 	tx_ring->prod_idx = 0;
 	/* TX PCI doorbell mem area + 0x04 */
 	tx_ring->valid_db_reg = doorbell_area + 0x04;
@@ -3520,6 +3520,7 @@ static int qlge_set_mac_address(struct n
 {
 	struct ql_adapter *qdev = (struct ql_adapter *)netdev_priv(ndev);
 	struct sockaddr *addr = p;
+	int ret = 0;
 
 	if (netif_running(ndev))
 		return -EBUSY;
@@ -3532,11 +3533,11 @@ static int qlge_set_mac_address(struct n
 	if (ql_set_mac_addr_reg(qdev, (u8 *) ndev->dev_addr,
 			MAC_ADDR_TYPE_CAM_MAC, qdev->func)) {/* Unicast */
 		QPRINTK(qdev, HW, ERR, "Failed to load MAC address.\n");
-		return -1;
+		ret = -1;
 	}
 	spin_unlock(&qdev->hw_lock);
 
-	return 0;
+	return ret;
 }
 
 static void qlge_tx_timeout(struct net_device *ndev)
@@ -3586,7 +3587,7 @@ static void ql_release_all(struct pci_de
 		qdev->q_workqueue = NULL;
 	}
 	if (qdev->reg_base)
-		iounmap((void *)qdev->reg_base);
+		iounmap(qdev->reg_base);
 	if (qdev->doorbell_area)
 		iounmap(qdev->doorbell_area);
 	pci_release_regions(pdev);

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 05/22] via-rhine: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (3 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 04/22] Subject qlge: fix sparse warnings Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:30   ` David Miller
  2008-11-21 23:21 ` [PATCH 06/22] myri10ge: " Stephen Hemminger
                   ` (16 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: via-rhine.patch --]
[-- Type: text/plain, Size: 1637 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/via-rhine.c	2008-11-20 22:07:15.000000000 -0800
+++ b/drivers/net/via-rhine.c	2008-11-20 22:21:59.000000000 -0800
@@ -614,6 +614,20 @@ static void __devinit rhine_hw_init(stru
 	rhine_reload_eeprom(pioaddr, dev);
 }
 
+static const struct net_device_ops rhine_netdev_ops = {
+	.ndo_open		 = rhine_open,
+	.ndo_stop		 = rhine_close,
+	.ndo_start_xmit		 = rhine_start_tx,
+	.ndo_get_stats		 = rhine_get_stats,
+	.ndo_set_multicast_list	 = rhine_set_rx_mode,
+	.ndo_validate_addr	 = eth_validate_addr,
+	.ndo_do_ioctl		 = netdev_ioctl,
+	.ndo_tx_timeout 	 = rhine_tx_timeout,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller	 = rhine_poll,
+#endif
+};
+
 static int __devinit rhine_init_one(struct pci_dev *pdev,
 				    const struct pci_device_id *ent)
 {
@@ -764,18 +778,10 @@ static int __devinit rhine_init_one(stru
 	rp->mii_if.reg_num_mask = 0x1f;
 
 	/* The chip-specific entries in the device structure. */
-	dev->open = rhine_open;
-	dev->hard_start_xmit = rhine_start_tx;
-	dev->stop = rhine_close;
-	dev->get_stats = rhine_get_stats;
-	dev->set_multicast_list = rhine_set_rx_mode;
-	dev->do_ioctl = netdev_ioctl;
-	dev->ethtool_ops = &netdev_ethtool_ops;
-	dev->tx_timeout = rhine_tx_timeout;
+	dev->netdev_ops = &rhine_netdev_ops;
+	dev->ethtool_ops = &netdev_ethtool_ops,
 	dev->watchdog_timeo = TX_TIMEOUT;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	dev->poll_controller = rhine_poll;
-#endif
+
 	netif_napi_add(dev, &rp->napi, rhine_napipoll, 64);
 
 	if (rp->quirks & rqRhineI)

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 06/22] myri10ge: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (4 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 05/22] via-rhine: convert to net_device_ops Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:30   ` David Miller
  2008-11-21 23:21 ` [PATCH 07/22] mlx4: " Stephen Hemminger
                   ` (15 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: myri10ge.patch --]
[-- Type: text/plain, Size: 1549 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/myri10ge/myri10ge.c	2008-11-20 22:27:33.000000000 -0800
+++ b/drivers/net/myri10ge/myri10ge.c	2008-11-20 22:34:24.000000000 -0800
@@ -3731,6 +3731,17 @@ abort_with_fw:
 	myri10ge_load_firmware(mgp, 0);
 }
 
+static const struct net_device_ops myri10ge_netdev_ops = {
+	.ndo_open		= myri10ge_open,
+	.ndo_stop		= myri10ge_close,
+	.ndo_start_xmit		= myri10ge_xmit,
+	.ndo_get_stats		= myri10ge_get_stats,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_change_mtu		= myri10ge_change_mtu,
+	.ndo_set_multicast_list = myri10ge_set_multicast_list,
+	.ndo_set_mac_address	= myri10ge_set_mac_address,
+};
+
 static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
 	struct net_device *netdev;
@@ -3862,15 +3873,10 @@ static int myri10ge_probe(struct pci_dev
 		myri10ge_initial_mtu = MYRI10GE_MAX_ETHER_MTU - ETH_HLEN;
 	if ((myri10ge_initial_mtu + ETH_HLEN) < 68)
 		myri10ge_initial_mtu = 68;
+
+	netdev->netdev_ops = &myri10ge_netdev_ops;
 	netdev->mtu = myri10ge_initial_mtu;
-	netdev->open = myri10ge_open;
-	netdev->stop = myri10ge_close;
-	netdev->hard_start_xmit = myri10ge_xmit;
-	netdev->get_stats = myri10ge_get_stats;
 	netdev->base_addr = mgp->iomem_base;
-	netdev->change_mtu = myri10ge_change_mtu;
-	netdev->set_multicast_list = myri10ge_set_multicast_list;
-	netdev->set_mac_address = myri10ge_set_mac_address;
 	netdev->features = mgp->features;
 
 	if (dac_enabled)

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 07/22] mlx4: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (5 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 06/22] myri10ge: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:31   ` David Miller
  2008-11-21 23:21 ` [PATCH 08/22] bnx2: " Stephen Hemminger
                   ` (14 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: mlx4-netdev.patch --]
[-- Type: text/plain, Size: 1886 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/mlx4/en_netdev.c	2008-11-20 22:34:43.000000000 -0800
+++ b/drivers/net/mlx4/en_netdev.c	2008-11-20 22:36:59.000000000 -0800
@@ -953,6 +953,23 @@ static int mlx4_en_change_mtu(struct net
 	return 0;
 }
 
+static const struct net_device_ops mlx4_netdev_ops = {
+	.ndo_open		= mlx4_en_open,
+	.ndo_stop		= mlx4_en_close,
+	.ndo_start_xmit		= mlx4_en_xmit,
+	.ndo_get_stats		= mlx4_en_get_stats,
+	.ndo_set_multicast_list	= mlx4_en_set_multicast,
+	.ndo_set_mac_address	= mlx4_en_set_mac,
+	.ndo_change_mtu		= mlx4_en_change_mtu,
+	.ndo_tx_timeout		= mlx4_en_tx_timeout,
+	.ndo_vlan_rx_register	= mlx4_en_vlan_rx_register,
+	.ndo_vlan_rx_add_vid	= mlx4_en_vlan_rx_add_vid,
+	.ndo_vlan_rx_kill_vid	= mlx4_en_vlan_rx_kill_vid,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller	= mlx4_en_netpoll,
+#endif
+};
+
 int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
 			struct mlx4_en_port_profile *prof)
 {
@@ -1029,22 +1046,9 @@ int mlx4_en_init_netdev(struct mlx4_en_d
 	/*
 	 * Initialize netdev entry points
 	 */
-
-	dev->open = &mlx4_en_open;
-	dev->stop = &mlx4_en_close;
-	dev->hard_start_xmit = &mlx4_en_xmit;
-	dev->get_stats = &mlx4_en_get_stats;
-	dev->set_multicast_list = &mlx4_en_set_multicast;
-	dev->set_mac_address = &mlx4_en_set_mac;
-	dev->change_mtu = &mlx4_en_change_mtu;
-	dev->tx_timeout = &mlx4_en_tx_timeout;
+	dev->netdev_ops = &mlx4_netdev_ops;
 	dev->watchdog_timeo = MLX4_EN_WATCHDOG_TIMEOUT;
-	dev->vlan_rx_register = mlx4_en_vlan_rx_register;
-	dev->vlan_rx_add_vid = mlx4_en_vlan_rx_add_vid;
-	dev->vlan_rx_kill_vid = mlx4_en_vlan_rx_kill_vid;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	dev->poll_controller = mlx4_en_netpoll;
-#endif
+
 	SET_ETHTOOL_OPS(dev, &mlx4_en_ethtool_ops);
 
 	/* Set defualt MAC */

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 08/22] bnx2: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (6 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 07/22] mlx4: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:31   ` David Miller
  2008-11-21 23:21 ` [PATCH 09/22] dl2k: " Stephen Hemminger
                   ` (13 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: bnx2-netdev_ops.patch --]
[-- Type: text/plain, Size: 1857 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/bnx2.c	2008-11-21 13:51:09.000000000 -0800
+++ b/drivers/net/bnx2.c	2008-11-21 13:52:13.000000000 -0800
@@ -7707,6 +7707,25 @@ bnx2_init_napi(struct bnx2 *bp)
 	}
 }
 
+static const struct net_device_ops bnx2_netdev_ops = {
+	.ndo_open		= bnx2_open,
+	.ndo_start_xmit		= bnx2_start_xmit,
+	.ndo_stop		= bnx2_close,
+	.ndo_get_stats		= bnx2_get_stats,
+	.ndo_set_rx_mode	= bnx2_set_rx_mode,
+	.ndo_do_ioctl		= bnx2_ioctl,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_set_mac_address	= bnx2_change_mac_addr,
+	.ndo_change_mtu		= bnx2_change_mtu,
+	.ndo_tx_timeout		= bnx2_tx_timeout,
+#ifdef BCM_VLAN
+	.ndo_vlan_rx_register	= bnx2_vlan_rx_register,
+#endif
+#if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER)
+	.ndo_poll_controller	= poll_bnx2,
+#endif
+};
+
 static int __devinit
 bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
@@ -7731,28 +7750,13 @@ bnx2_init_one(struct pci_dev *pdev, cons
 		return rc;
 	}
 
-	dev->open = bnx2_open;
-	dev->hard_start_xmit = bnx2_start_xmit;
-	dev->stop = bnx2_close;
-	dev->get_stats = bnx2_get_stats;
-	dev->set_rx_mode = bnx2_set_rx_mode;
-	dev->do_ioctl = bnx2_ioctl;
-	dev->set_mac_address = bnx2_change_mac_addr;
-	dev->change_mtu = bnx2_change_mtu;
-	dev->tx_timeout = bnx2_tx_timeout;
+	dev->netdev_ops = &bnx2_netdev_ops;
 	dev->watchdog_timeo = TX_TIMEOUT;
-#ifdef BCM_VLAN
-	dev->vlan_rx_register = bnx2_vlan_rx_register;
-#endif
 	dev->ethtool_ops = &bnx2_ethtool_ops;
 
 	bp = netdev_priv(dev);
 	bnx2_init_napi(bp);
 
-#if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER)
-	dev->poll_controller = poll_bnx2;
-#endif
-
 	pci_set_drvdata(pdev, dev);
 
 	memcpy(dev->dev_addr, bp->mac_addr, 6);

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 09/22] dl2k: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (7 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 08/22] bnx2: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:31   ` David Miller
  2008-11-21 23:21 ` [PATCH 10/22] netxen: " Stephen Hemminger
                   ` (12 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: dl2k-netdev_ops.patch --]
[-- Type: text/plain, Size: 1402 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/dl2k.c	2008-11-21 13:51:10.000000000 -0800
+++ b/drivers/net/dl2k.c	2008-11-21 13:56:40.000000000 -0800
@@ -85,6 +85,19 @@ static int mii_write (struct net_device 
 
 static const struct ethtool_ops ethtool_ops;
 
+static const struct net_device_ops netdev_ops = {
+	.ndo_open		= rio_open,
+	.ndo_start_xmit	= start_xmit,
+	.ndo_stop		= rio_close,
+	.ndo_get_stats		= get_stats,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_set_mac_address 	= eth_mac_addr,
+	.ndo_set_multicast_list = set_multicast,
+	.ndo_do_ioctl		= rio_ioctl,
+	.ndo_tx_timeout		= rio_tx_timeout,
+	.ndo_change_mtu		= change_mtu,
+};
+
 static int __devinit
 rio_probe1 (struct pci_dev *pdev, const struct pci_device_id *ent)
 {
@@ -197,15 +210,8 @@ rio_probe1 (struct pci_dev *pdev, const 
 		else if (tx_coalesce > TX_RING_SIZE-1)
 			tx_coalesce = TX_RING_SIZE - 1;
 	}
-	dev->open = &rio_open;
-	dev->hard_start_xmit = &start_xmit;
-	dev->stop = &rio_close;
-	dev->get_stats = &get_stats;
-	dev->set_multicast_list = &set_multicast;
-	dev->do_ioctl = &rio_ioctl;
-	dev->tx_timeout = &rio_tx_timeout;
+	dev->netdev_ops = &netdev_ops;
 	dev->watchdog_timeo = TX_TIMEOUT;
-	dev->change_mtu = &change_mtu;
 	SET_ETHTOOL_OPS(dev, &ethtool_ops);
 #if 0
 	dev->features = NETIF_F_IP_CSUM;

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 10/22] netxen: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (8 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 09/22] dl2k: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:32   ` David Miller
  2008-11-21 23:21 ` [PATCH 11/22] efx: " Stephen Hemminger
                   ` (11 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: netxen-netdev_ops.patch --]
[-- Type: text/plain, Size: 3037 bytes --]

Convert driver to new net_device_ops. Compile tested only.
Had to do some refactoring on multicast_list.
Fix ethtool restart to propogate error code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/netxen/netxen_nic_main.c	2008-11-21 13:51:09.000000000 -0800
+++ b/drivers/net/netxen/netxen_nic_main.c	2008-11-21 13:57:01.000000000 -0800
@@ -469,6 +469,31 @@ netxen_read_mac_addr(struct netxen_adapt
 	return 0;
 }
 
+static void netxen_set_multicast_list(struct net_device *dev)
+{
+	struct netxen_adapter *adapter = netdev_priv(dev);
+
+	if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
+		netxen_p3_nic_set_multi(dev);
+	else
+		netxen_p2_nic_set_multi(dev);
+}
+
+static const struct net_device_ops netxen_netdev_ops = {
+	.ndo_open	   = netxen_nic_open,
+	.ndo_stop	   = netxen_nic_close,
+	.ndo_start_xmit    = netxen_nic_xmit_frame,
+	.ndo_get_stats	   = netxen_nic_get_stats,
+	.ndo_validate_addr = eth_validate_addr,
+	.ndo_set_multicast_list = netxen_set_multicast_list,
+	.ndo_set_mac_address    = netxen_nic_set_mac,
+	.ndo_change_mtu	   = netxen_nic_change_mtu,
+	.ndo_tx_timeout	   = netxen_tx_timeout,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller = netxen_nic_poll_controller,
+#endif
+};
+
 /*
  * netxen_nic_probe()
  *
@@ -680,25 +705,13 @@ netxen_nic_probe(struct pci_dev *pdev, c
 	else
 		adapter->max_mc_count = 16;
 
-	netdev->open		   = netxen_nic_open;
-	netdev->stop		   = netxen_nic_close;
-	netdev->hard_start_xmit    = netxen_nic_xmit_frame;
-	netdev->get_stats	   = netxen_nic_get_stats;
-	if (NX_IS_REVISION_P3(revision_id))
-		netdev->set_multicast_list = netxen_p3_nic_set_multi;
-	else
-		netdev->set_multicast_list = netxen_p2_nic_set_multi;
-	netdev->set_mac_address    = netxen_nic_set_mac;
-	netdev->change_mtu	   = netxen_nic_change_mtu;
-	netdev->tx_timeout	   = netxen_tx_timeout;
+	netdev->netdev_ops	   = &netxen_netdev_ops;
 	netdev->watchdog_timeo     = 2*HZ;
 
 	netxen_nic_change_mtu(netdev, netdev->mtu);
 
 	SET_ETHTOOL_OPS(netdev, &netxen_nic_ethtool_ops);
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	netdev->poll_controller = netxen_nic_poll_controller;
-#endif
+
 	/* ScatterGather support */
 	netdev->features = NETIF_F_SG;
 	netdev->features |= NETIF_F_IP_CSUM;
@@ -1075,7 +1088,7 @@ static int netxen_nic_open(struct net_de
 
 	netxen_nic_set_link_parameters(adapter);
 
-	netdev->set_multicast_list(netdev);
+	netxen_set_multicast_list(netdev);
 	if (adapter->set_mtu)
 		adapter->set_mtu(adapter, netdev->mtu);
 
--- a/drivers/net/netxen/netxen_nic_ethtool.c	2008-11-21 13:51:09.000000000 -0800
+++ b/drivers/net/netxen/netxen_nic_ethtool.c	2008-11-21 13:57:20.000000000 -0800
@@ -275,11 +275,11 @@ netxen_nic_set_settings(struct net_devic
 	} else
 		return -EOPNOTSUPP;
 
-	if (netif_running(dev)) {
-		dev->stop(dev);
-		dev->open(dev);
-	}
-	return 0;
+	if (!netif_running(dev))
+		return 0;
+
+	dev->netdev_ops->ndo_stop(dev);
+	return dev->netdev_ops->ndo_open(dev);
 }
 
 static int netxen_nic_get_regs_len(struct net_device *dev)

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 11/22] efx: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (9 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 10/22] netxen: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  0:45   ` Ben Hutchings
  2008-11-21 23:21 ` [PATCH 12/22] tehuti: " Stephen Hemminger
                   ` (10 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: efx.patch --]
[-- Type: text/plain, Size: 1976 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/sfc/efx.c	2008-11-21 13:57:58.000000000 -0800
+++ b/drivers/net/sfc/efx.c	2008-11-21 14:09:48.000000000 -0800
@@ -1433,12 +1433,28 @@ static void efx_set_multicast_list(struc
 	falcon_set_multicast_hash(efx);
 }
 
+static const struct net_device_ops efx_netdev_ops = {
+	.ndo_open		= efx_net_open,
+	.ndo_stop		= efx_net_stop,
+	.ndo_get_stats		= efx_net_stats,
+	.ndo_tx_timeout		= efx_watchdog,
+	.ndo_start_xmit		= efx_hard_start_xmit,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_do_ioctl		= efx_ioctl,
+	.ndo_change_mtu		= efx_change_mtu,
+	.ndo_set_mac_address	= efx_set_mac_address,
+	.ndo_set_multicast_list = efx_set_multicast_list,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller = efx_netpoll,
+#endif
+};
+
 static int efx_netdev_event(struct notifier_block *this,
 			    unsigned long event, void *ptr)
 {
 	struct net_device *net_dev = ptr;
 
-	if (net_dev->open == efx_net_open && event == NETDEV_CHANGENAME) {
+	if (net_dev->netdev_ops == &efx_netdev_ops && event == NETDEV_CHANGENAME) {
 		struct efx_nic *efx = netdev_priv(net_dev);
 
 		strcpy(efx->name, net_dev->name);
@@ -1459,18 +1475,7 @@ static int efx_register_netdev(struct ef
 
 	net_dev->watchdog_timeo = 5 * HZ;
 	net_dev->irq = efx->pci_dev->irq;
-	net_dev->open = efx_net_open;
-	net_dev->stop = efx_net_stop;
-	net_dev->get_stats = efx_net_stats;
-	net_dev->tx_timeout = &efx_watchdog;
-	net_dev->hard_start_xmit = efx_hard_start_xmit;
-	net_dev->do_ioctl = efx_ioctl;
-	net_dev->change_mtu = efx_change_mtu;
-	net_dev->set_mac_address = efx_set_mac_address;
-	net_dev->set_multicast_list = efx_set_multicast_list;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	net_dev->poll_controller = efx_netpoll;
-#endif
+	net_dev->netdev_ops = &efx_netdev_ops;
 	SET_NETDEV_DEV(net_dev, &efx->pci_dev->dev);
 	SET_ETHTOOL_OPS(net_dev, &efx_ethtool_ops);
 

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 12/22] tehuti: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (10 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 11/22] efx: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:34   ` David Miller
  2008-11-21 23:21 ` [PATCH 13/22] sis900: " Stephen Hemminger
                   ` (9 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: tehuti.patch --]
[-- Type: text/plain, Size: 1601 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/tehuti.c	2008-11-21 14:10:27.000000000 -0800
+++ b/drivers/net/tehuti.c	2008-11-21 14:13:38.000000000 -0800
@@ -1885,6 +1885,21 @@ static void bdx_tx_push_desc_safe(struct
 	RET();
 }
 
+static const struct net_device_ops bdx_netdev_ops = {
+	.ndo_open	 	= bdx_open,
+	.ndo_stop		= bdx_close,
+	.ndo_start_xmit		= bdx_tx_transmit,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_do_ioctl		= bdx_ioctl,
+	.ndo_set_multicast_list = bdx_setmulti,
+	.ndo_get_stats		= bdx_get_stats,
+	.ndo_change_mtu		= bdx_change_mtu,
+	.ndo_set_mac_address	= bdx_set_mac,
+	.ndo_vlan_rx_register	= bdx_vlan_rx_register,
+	.ndo_vlan_rx_add_vid	= bdx_vlan_rx_add_vid,
+	.ndo_vlan_rx_kill_vid	= bdx_vlan_rx_kill_vid,
+};
+
 /**
  * bdx_probe - Device Initialization Routine
  * @pdev: PCI device information struct
@@ -1994,18 +2009,8 @@ bdx_probe(struct pci_dev *pdev, const st
 			goto err_out_iomap;
 		}
 
-		ndev->open = bdx_open;
-		ndev->stop = bdx_close;
-		ndev->hard_start_xmit = bdx_tx_transmit;
-		ndev->do_ioctl = bdx_ioctl;
-		ndev->set_multicast_list = bdx_setmulti;
-		ndev->get_stats = bdx_get_stats;
-		ndev->change_mtu = bdx_change_mtu;
-		ndev->set_mac_address = bdx_set_mac;
+		ndev->netdev_ops = &bdx_netdev_ops;
 		ndev->tx_queue_len = BDX_NDEV_TXQ_LEN;
-		ndev->vlan_rx_register = bdx_vlan_rx_register;
-		ndev->vlan_rx_add_vid = bdx_vlan_rx_add_vid;
-		ndev->vlan_rx_kill_vid = bdx_vlan_rx_kill_vid;
 
 		bdx_ethtool_ops(ndev);	/* ethtool interface */
 

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 13/22] sis900: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (11 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 12/22] tehuti: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:34   ` David Miller
  2008-11-21 23:21 ` [PATCH 14/22] r6040: " Stephen Hemminger
                   ` (8 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: sis900.patch --]
[-- Type: text/plain, Size: 1634 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/sis900.c	2008-11-21 14:17:26.000000000 -0800
+++ b/drivers/net/sis900.c	2008-11-21 14:20:36.000000000 -0800
@@ -381,6 +381,21 @@ static int __devinit sis96x_get_mac_addr
 	return 0;
 }
 
+static const struct net_device_ops sis900_netdev_ops = {
+	.ndo_open		 = sis900_open,
+	.ndo_stop		= sis900_close,
+	.ndo_start_xmit		= sis900_start_xmit,
+	.ndo_set_config		= sis900_set_config,
+	.ndo_set_multicast_list	= set_rx_mode,
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_do_ioctl		= mii_ioctl,
+	.ndo_tx_timeout		= sis900_tx_timeout,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+        .ndo_poll_controller	= sis900_poll,
+#endif
+};
+
 /**
  *	sis900_probe - Probe for sis900 device
  *	@pci_dev: the sis900 pci device
@@ -461,20 +476,10 @@ static int __devinit sis900_probe(struct
 	sis_priv->rx_ring_dma = ring_dma;
 
 	/* The SiS900-specific entries in the device structure. */
-	net_dev->open = &sis900_open;
-	net_dev->hard_start_xmit = &sis900_start_xmit;
-	net_dev->stop = &sis900_close;
-	net_dev->set_config = &sis900_set_config;
-	net_dev->set_multicast_list = &set_rx_mode;
-	net_dev->do_ioctl = &mii_ioctl;
-	net_dev->tx_timeout = sis900_tx_timeout;
+	net_dev->netdev_ops = &sis900_netdev_ops;
 	net_dev->watchdog_timeo = TX_TIMEOUT;
 	net_dev->ethtool_ops = &sis900_ethtool_ops;
 
-#ifdef CONFIG_NET_POLL_CONTROLLER
-        net_dev->poll_controller = &sis900_poll;
-#endif
-
 	if (sis900_debug > 0)
 		sis_priv->msg_enable = sis900_debug;
 	else

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 14/22] r6040: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (12 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 13/22] sis900: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:35   ` David Miller
  2008-11-21 23:21 ` [PATCH 15/22] yellowfin: " Stephen Hemminger
                   ` (7 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: r6040.patch --]
[-- Type: text/plain, Size: 1932 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/r6040.c	2008-11-21 14:22:06.000000000 -0800
+++ b/drivers/net/r6040.c	2008-11-21 14:25:01.000000000 -0800
@@ -1029,13 +1029,28 @@ static u32 netdev_get_link(struct net_de
 	return mii_link_ok(&rp->mii_if);
 }
 
-static struct ethtool_ops netdev_ethtool_ops = {
+static const struct ethtool_ops netdev_ethtool_ops = {
 	.get_drvinfo		= netdev_get_drvinfo,
 	.get_settings		= netdev_get_settings,
 	.set_settings		= netdev_set_settings,
 	.get_link		= netdev_get_link,
 };
 
+static const struct net_device_ops r6040_netdev_ops = {
+	.ndo_open		= r6040_open,
+	.ndo_stop		= r6040_close,
+	.ndo_start_xmit		= r6040_start_xmit,
+	.ndo_get_stats		= r6040_get_stats,
+	.ndo_set_multicast_list = r6040_multicast_list,
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_do_ioctl		= r6040_ioctl,
+	.ndo_tx_timeout		= r6040_tx_timeout,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller	= r6040_poll_controller,
+#endif
+};
+
 static int __devinit r6040_init_one(struct pci_dev *pdev,
 					 const struct pci_device_id *ent)
 {
@@ -1127,18 +1142,10 @@ static int __devinit r6040_init_one(stru
 	lp->switch_sig = 0;
 
 	/* The RDC-specific entries in the device structure. */
-	dev->open = &r6040_open;
-	dev->hard_start_xmit = &r6040_start_xmit;
-	dev->stop = &r6040_close;
-	dev->get_stats = r6040_get_stats;
-	dev->set_multicast_list = &r6040_multicast_list;
-	dev->do_ioctl = &r6040_ioctl;
+	dev->netdev_ops = &r6040_netdev_ops;
 	dev->ethtool_ops = &netdev_ethtool_ops;
-	dev->tx_timeout = &r6040_tx_timeout;
 	dev->watchdog_timeo = TX_TIMEOUT;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	dev->poll_controller = r6040_poll_controller;
-#endif
+
 	netif_napi_add(dev, &lp->napi, r6040_poll, 64);
 	lp->mii_if.dev = dev;
 	lp->mii_if.mdio_read = r6040_mdio_read;

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 15/22] yellowfin: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (13 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 14/22] r6040: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:35   ` David Miller
  2008-11-21 23:21 ` [PATCH 16/22] ns83820: " Stephen Hemminger
                   ` (6 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: yellowfin.patch --]
[-- Type: text/plain, Size: 1380 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/yellowfin.c	2008-11-21 14:25:38.000000000 -0800
+++ b/drivers/net/yellowfin.c	2008-11-21 14:27:54.000000000 -0800
@@ -355,6 +355,16 @@ static int yellowfin_close(struct net_de
 static void set_rx_mode(struct net_device *dev);
 static const struct ethtool_ops ethtool_ops;
 
+static const struct net_device_ops netdev_ops = {
+	.ndo_open 		= yellowfin_open,
+	.ndo_stop 		= yellowfin_close,
+	.ndo_start_xmit 	= yellowfin_start_xmit,
+	.ndo_set_multicast_list = set_rx_mode,
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_do_ioctl 		= netdev_ioctl,
+	.ndo_tx_timeout 	= yellowfin_tx_timeout,
+};
 
 static int __devinit yellowfin_init_one(struct pci_dev *pdev,
 					const struct pci_device_id *ent)
@@ -464,13 +474,8 @@ static int __devinit yellowfin_init_one(
 		np->duplex_lock = 1;
 
 	/* The Yellowfin-specific entries in the device structure. */
-	dev->open = &yellowfin_open;
-	dev->hard_start_xmit = &yellowfin_start_xmit;
-	dev->stop = &yellowfin_close;
-	dev->set_multicast_list = &set_rx_mode;
-	dev->do_ioctl = &netdev_ioctl;
+	dev->netdev_ops = &netdev_ops;
 	SET_ETHTOOL_OPS(dev, &ethtool_ops);
-	dev->tx_timeout = yellowfin_tx_timeout;
 	dev->watchdog_timeo = TX_TIMEOUT;
 
 	if (mtu)

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 16/22] ns83820: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (14 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 15/22] yellowfin: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:35   ` David Miller
  2008-11-21 23:21 ` [PATCH 17/22] bnx2x: " Stephen Hemminger
                   ` (5 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: ns83820.patch --]
[-- Type: text/plain, Size: 1554 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/ns83820.c	2008-11-21 14:28:24.000000000 -0800
+++ b/drivers/net/ns83820.c	2008-11-21 14:31:10.000000000 -0800
@@ -1948,7 +1948,19 @@ static void ns83820_probe_phy(struct net
 }
 #endif
 
-static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_device_id *id)
+static const struct net_device_ops netdev_ops = {
+	.ndo_open		= ns83820_open,
+	.ndo_stop		= ns83820_stop,
+	.ndo_start_xmit		= ns83820_hard_start_xmit,
+	.ndo_get_stats		= ns83820_get_stats,
+	.ndo_change_mtu		= ns83820_change_mtu,
+	.ndo_set_multicast_list = ns83820_set_multicast,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_tx_timeout		= ns83820_tx_timeout,
+};
+
+static int __devinit ns83820_init_one(struct pci_dev *pci_dev,
+				      const struct pci_device_id *id)
 {
 	struct net_device *ndev;
 	struct ns83820 *dev;
@@ -2040,14 +2052,8 @@ static int __devinit ns83820_init_one(st
 		ndev->name, le32_to_cpu(readl(dev->base + 0x22c)),
 		pci_dev->subsystem_vendor, pci_dev->subsystem_device);
 
-	ndev->open = ns83820_open;
-	ndev->stop = ns83820_stop;
-	ndev->hard_start_xmit = ns83820_hard_start_xmit;
-	ndev->get_stats = ns83820_get_stats;
-	ndev->change_mtu = ns83820_change_mtu;
-	ndev->set_multicast_list = ns83820_set_multicast;
+	ndev->netdev_ops = &netdev_ops;
 	SET_ETHTOOL_OPS(ndev, &ops);
-	ndev->tx_timeout = ns83820_tx_timeout;
 	ndev->watchdog_timeo = 5 * HZ;
 	pci_set_drvdata(pci_dev, ndev);
 

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 17/22] bnx2x: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (15 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 16/22] ns83820: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:36   ` David Miller
  2008-11-21 23:21 ` [PATCH 18/22] hamachi: " Stephen Hemminger
                   ` (4 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: bnx2x.patch --]
[-- Type: text/plain, Size: 1930 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/bnx2x_main.c	2008-11-21 14:31:35.000000000 -0800
+++ b/drivers/net/bnx2x_main.c	2008-11-21 14:34:01.000000000 -0800
@@ -10002,6 +10002,25 @@ static void poll_bnx2x(struct net_device
 }
 #endif
 
+static const struct net_device_ops bnx2x_netdev_ops = {
+	.ndo_open		= bnx2x_open,
+	.ndo_stop		= bnx2x_close,
+	.ndo_start_xmit		= bnx2x_start_xmit,
+	.ndo_set_multicast_list = bnx2x_set_rx_mode,
+	.ndo_set_mac_address	= bnx2x_change_mac_addr,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_do_ioctl		= bnx2x_ioctl,
+	.ndo_change_mtu		= bnx2x_change_mtu,
+	.ndo_tx_timeout		= bnx2x_tx_timeout,
+#ifdef BCM_VLAN
+	.ndo_vlan_rx_register	= bnx2x_vlan_rx_register,
+#endif
+#if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER)
+	.ndo_poll_controller	= poll_bnx2x,
+#endif
+};
+
+
 static int __devinit bnx2x_init_dev(struct pci_dev *pdev,
 				    struct net_device *dev)
 {
@@ -10112,23 +10131,10 @@ static int __devinit bnx2x_init_dev(stru
 	REG_WR(bp, PXP2_REG_PGL_ADDR_90_F0 + BP_PORT(bp)*16, 0);
 	REG_WR(bp, PXP2_REG_PGL_ADDR_94_F0 + BP_PORT(bp)*16, 0);
 
-	dev->hard_start_xmit = bnx2x_start_xmit;
 	dev->watchdog_timeo = TX_TIMEOUT;
 
+	dev->netdev_ops = &bnx2x_netdev_ops;
 	dev->ethtool_ops = &bnx2x_ethtool_ops;
-	dev->open = bnx2x_open;
-	dev->stop = bnx2x_close;
-	dev->set_multicast_list = bnx2x_set_rx_mode;
-	dev->set_mac_address = bnx2x_change_mac_addr;
-	dev->do_ioctl = bnx2x_ioctl;
-	dev->change_mtu = bnx2x_change_mtu;
-	dev->tx_timeout = bnx2x_tx_timeout;
-#ifdef BCM_VLAN
-	dev->vlan_rx_register = bnx2x_vlan_rx_register;
-#endif
-#if defined(HAVE_POLL_CONTROLLER) || defined(CONFIG_NET_POLL_CONTROLLER)
-	dev->poll_controller = poll_bnx2x;
-#endif
 	dev->features |= NETIF_F_SG;
 	dev->features |= NETIF_F_HW_CSUM;
 	if (bp->flags & USING_DAC_FLAG)

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 18/22] hamachi: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (16 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 17/22] bnx2x: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:36   ` David Miller
  2008-11-21 23:21 ` [PATCH 19/22] qla3xxx: " Stephen Hemminger
                   ` (3 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: hamachi.patch --]
[-- Type: text/plain, Size: 1559 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamachi.c	2008-11-21 14:34:32.000000000 -0800
+++ b/drivers/net/hamachi.c	2008-11-21 14:37:20.000000000 -0800
@@ -568,6 +568,19 @@ static void set_rx_mode(struct net_devic
 static const struct ethtool_ops ethtool_ops;
 static const struct ethtool_ops ethtool_ops_no_mii;
 
+static const struct net_device_ops hamachi_netdev_ops = {
+	.ndo_open		= hamachi_open,
+	.ndo_stop		= hamachi_close,
+	.ndo_start_xmit		= hamachi_start_xmit,
+	.ndo_get_stats		= hamachi_get_stats,
+	.ndo_set_multicast_list	= set_rx_mode,
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_tx_timeout		= hamachi_tx_timeout,
+	.ndo_do_ioctl		= netdev_ioctl,
+};
+
+
 static int __devinit hamachi_init_one (struct pci_dev *pdev,
 				    const struct pci_device_id *ent)
 {
@@ -722,17 +735,11 @@ static int __devinit hamachi_init_one (s
 
 
 	/* The Hamachi-specific entries in the device structure. */
-	dev->open = &hamachi_open;
-	dev->hard_start_xmit = &hamachi_start_xmit;
-	dev->stop = &hamachi_close;
-	dev->get_stats = &hamachi_get_stats;
-	dev->set_multicast_list = &set_rx_mode;
-	dev->do_ioctl = &netdev_ioctl;
+	dev->netdev_ops = &hamachi_netdev_ops;
 	if (chip_tbl[hmp->chip_id].flags & CanHaveMII)
 		SET_ETHTOOL_OPS(dev, &ethtool_ops);
 	else
 		SET_ETHTOOL_OPS(dev, &ethtool_ops_no_mii);
-	dev->tx_timeout = &hamachi_tx_timeout;
 	dev->watchdog_timeo = TX_TIMEOUT;
 	if (mtu)
 		dev->mtu = mtu;

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 19/22] qla3xxx: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (17 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 18/22] hamachi: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:37   ` David Miller
  2008-11-21 23:21 ` [PATCH 20/22] sc92031: " Stephen Hemminger
                   ` (2 subsequent siblings)
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: qla3xxx.patch --]
[-- Type: text/plain, Size: 1559 bytes --]

Convert this driver to net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/qla3xxx.c	2008-11-21 14:37:52.000000000 -0800
+++ b/drivers/net/qla3xxx.c	2008-11-21 14:41:14.000000000 -0800
@@ -3900,6 +3900,17 @@ static void ql3xxx_timer(unsigned long p
 	queue_delayed_work(qdev->workqueue, &qdev->link_state_work, 0);
 }
 
+static const struct net_device_ops ql3xxx_netdev_ops = {
+	.ndo_open		= ql3xxx_open,
+	.ndo_start_xmit		= ql3xxx_send,
+	.ndo_stop		= ql3xxx_close,
+	.ndo_set_multicast_list = NULL, /* not allowed on NIC side */
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_set_mac_address	= ql3xxx_set_mac_address,
+	.ndo_tx_timeout		= ql3xxx_tx_timeout,
+};
+
 static int __devinit ql3xxx_probe(struct pci_dev *pdev,
 				  const struct pci_device_id *pci_entry)
 {
@@ -3978,17 +3989,8 @@ static int __devinit ql3xxx_probe(struct
 	spin_lock_init(&qdev->hw_lock);
 
 	/* Set driver entry points */
-	ndev->open = ql3xxx_open;
-	ndev->hard_start_xmit = ql3xxx_send;
-	ndev->stop = ql3xxx_close;
-	/* ndev->set_multicast_list
-	 * This device is one side of a two-function adapter
-	 * (NIC and iSCSI).  Promiscuous mode setting/clearing is
-	 * not allowed from the NIC side.
-	 */
+	ndev->netdev_ops = &ql3xxx_netdev_ops;
 	SET_ETHTOOL_OPS(ndev, &ql3xxx_ethtool_ops);
-	ndev->set_mac_address = ql3xxx_set_mac_address;
-	ndev->tx_timeout = ql3xxx_tx_timeout;
 	ndev->watchdog_timeo = 5 * HZ;
 
 	netif_napi_add(ndev, &qdev->napi, ql_poll, 64);

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 20/22] sc92031: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (18 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 19/22] qla3xxx: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:37   ` David Miller
  2008-11-21 23:21 ` [PATCH 21/22] eql: " Stephen Hemminger
  2008-11-21 23:22 ` [PATCH 22/22] ne2k: " Stephen Hemminger
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: sc92031.patch --]
[-- Type: text/plain, Size: 2032 bytes --]

Convert this driver to net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/sc92031.c	2008-11-21 14:41:41.000000000 -0800
+++ b/drivers/net/sc92031.c	2008-11-21 14:43:39.000000000 -0800
@@ -1386,7 +1386,7 @@ static void sc92031_ethtool_get_ethtool_
 	spin_unlock_bh(&priv->lock);
 }
 
-static struct ethtool_ops sc92031_ethtool_ops = {
+static const struct ethtool_ops sc92031_ethtool_ops = {
 	.get_settings		= sc92031_ethtool_get_settings,
 	.set_settings		= sc92031_ethtool_set_settings,
 	.get_drvinfo		= sc92031_ethtool_get_drvinfo,
@@ -1399,6 +1399,21 @@ static struct ethtool_ops sc92031_ethtoo
 	.get_ethtool_stats	= sc92031_ethtool_get_ethtool_stats,
 };
 
+
+static const struct net_device_ops sc92031_netdev_ops = {
+	.ndo_get_stats		= sc92031_get_stats,
+	.ndo_start_xmit		= sc92031_start_xmit,
+	.ndo_open		= sc92031_open,
+	.ndo_stop		= sc92031_stop,
+	.ndo_set_multicast_list	= sc92031_set_multicast_list,
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_tx_timeout		= sc92031_tx_timeout,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller	= sc92031_poll_controller,
+#endif
+};
+
 static int __devinit sc92031_probe(struct pci_dev *pdev,
 		const struct pci_device_id *id)
 {
@@ -1452,17 +1467,9 @@ static int __devinit sc92031_probe(struc
 	/* faked with skb_copy_and_csum_dev */
 	dev->features = NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_HIGHDMA;
 
-	dev->get_stats		= sc92031_get_stats;
-	dev->ethtool_ops	= &sc92031_ethtool_ops;
-	dev->hard_start_xmit	= sc92031_start_xmit;
+	dev->netdev_ops		= &sc92031_netdev_ops;
 	dev->watchdog_timeo	= TX_TIMEOUT;
-	dev->open		= sc92031_open;
-	dev->stop		= sc92031_stop;
-	dev->set_multicast_list	= sc92031_set_multicast_list;
-	dev->tx_timeout		= sc92031_tx_timeout;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	dev->poll_controller	= sc92031_poll_controller;
-#endif
+	dev->ethtool_ops	= &sc92031_ethtool_ops;
 
 	priv = netdev_priv(dev);
 	spin_lock_init(&priv->lock);

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 21/22] eql: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (19 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 20/22] sc92031: " Stephen Hemminger
@ 2008-11-21 23:21 ` Stephen Hemminger
  2008-11-22  1:38   ` David Miller
  2008-11-21 23:22 ` [PATCH 22/22] ne2k: " Stephen Hemminger
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:21 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: egl-netdev_ops.patch --]
[-- Type: text/plain, Size: 1064 bytes --]

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/eql.c	2008-11-21 14:57:44.000000000 -0800
+++ b/drivers/net/eql.c	2008-11-21 14:59:55.000000000 -0800
@@ -162,6 +162,13 @@ static void eql_timer(unsigned long para
 static char version[] __initdata =
 	"Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)\n";
 
+static const struct net_device_ops eql_netdev_ops = {
+	.ndo_open	= eql_open,
+	.ndo_stop	= eql_close,
+	.ndo_do_ioctl	= eql_ioctl,
+	.ndo_start_xmit	= eql_slave_xmit,
+};
+
 static void __init eql_setup(struct net_device *dev)
 {
 	equalizer_t *eql = netdev_priv(dev);
@@ -175,10 +182,7 @@ static void __init eql_setup(struct net_
 	INIT_LIST_HEAD(&eql->queue.all_slaves);
 	eql->queue.master_dev	= dev;
 
-	dev->open		= eql_open;
-	dev->stop		= eql_close;
-	dev->do_ioctl		= eql_ioctl;
-	dev->hard_start_xmit	= eql_slave_xmit;
+	dev->netdev_ops		= &eql_netdev_ops;
 
 	/*
 	 *	Now we undo some of the things that eth_setup does

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 22/22] ne2k: convert to net_device_ops
  2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
                   ` (20 preceding siblings ...)
  2008-11-21 23:21 ` [PATCH 21/22] eql: " Stephen Hemminger
@ 2008-11-21 23:22 ` Stephen Hemminger
  2008-11-22  1:39   ` David Miller
  21 siblings, 1 reply; 46+ messages in thread
From: Stephen Hemminger @ 2008-11-21 23:22 UTC (permalink / raw)
  To: David Miller, Jeff Garzik; +Cc: netdev

[-- Attachment #1: ne2k.patch --]
[-- Type: text/plain, Size: 6496 bytes --]

Convert driver to new net_device_ops. Compile tested only.
This required some additional work to export common code ei_XXX.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
 drivers/net/8390.h     |    4 ++++
 drivers/net/lib8390.c  |   15 ++++++++-------
 drivers/net/ne2k-pci.c |   19 ++++++++++++++-----
 3 files changed, 26 insertions(+), 12 deletions(-)

--- a/drivers/net/8390.h	2008-11-21 15:01:21.000000000 -0800
+++ b/drivers/net/8390.h	2008-11-21 15:01:53.000000000 -0800
@@ -33,6 +33,11 @@ extern void ei_poll(struct net_device *d
 extern void eip_poll(struct net_device *dev);
 #endif
 
+extern void ei_tx_timeout(struct net_device *dev);
+extern int ei_start_xmit(struct sk_buff *skb, struct net_device *dev);
+extern void ei_set_multicast_list(struct net_device *dev);
+extern struct net_device_stats *ei_get_stats(struct net_device *dev);
+
 /* Without I/O delay - non ISA or later chips */
 extern void NS8390_init(struct net_device *dev, int startp);
 extern int ei_open(struct net_device *dev);
--- a/drivers/net/lib8390.c	2008-11-21 15:01:21.000000000 -0800
+++ b/drivers/net/lib8390.c	2008-11-21 15:11:11.000000000 -0800
@@ -108,14 +108,13 @@ int ei_debug = 1;
 /* Index to functions. */
 static void ei_tx_intr(struct net_device *dev);
 static void ei_tx_err(struct net_device *dev);
-static void ei_tx_timeout(struct net_device *dev);
+void ei_tx_timeout(struct net_device *dev);
 static void ei_receive(struct net_device *dev);
 static void ei_rx_overrun(struct net_device *dev);
 
 /* Routines generic to NS8390-based boards. */
 static void NS8390_trigger_send(struct net_device *dev, unsigned int length,
 								int start_page);
-static void set_multicast_list(struct net_device *dev);
 static void do_set_multicast_list(struct net_device *dev);
 static void __NS8390_init(struct net_device *dev, int startp);
 
@@ -208,8 +207,10 @@ static int __ei_open(struct net_device *
 
 	/* The card I/O part of the driver (e.g. 3c503) can hook a Tx timeout
 	    wrapper that does e.g. media check & then calls ei_tx_timeout. */
+#ifdef CONFIG_COMPAT_NET_DEV_OPS
 	if (dev->tx_timeout == NULL)
 		 dev->tx_timeout = ei_tx_timeout;
+#endif
 	if (dev->watchdog_timeo <= 0)
 		 dev->watchdog_timeo = TX_TIMEOUT;
 
@@ -258,7 +259,7 @@ static int __ei_close(struct net_device 
  * completed (or failed) - i.e. never posted a Tx related interrupt.
  */
 
-static void ei_tx_timeout(struct net_device *dev)
+void ei_tx_timeout(struct net_device *dev)
 {
 	unsigned long e8390_base = dev->base_addr;
 	struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
@@ -295,6 +296,7 @@ static void ei_tx_timeout(struct net_dev
 	enable_irq_lockdep(dev->irq);
 	netif_wake_queue(dev);
 }
+EXPORT_SYMBOL_GPL(ei_tx_timeout);
 
 /**
  * ei_start_xmit - begin packet transmission
@@ -304,7 +306,7 @@ static void ei_tx_timeout(struct net_dev
  * Sends a packet to an 8390 network device.
  */
 
-static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
+int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
 	unsigned long e8390_base = dev->base_addr;
 	struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
@@ -421,6 +423,7 @@ static int ei_start_xmit(struct sk_buff 
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(ei_start_xmit);
 
 /**
  * ei_interrupt - handle the interrupts from an 8390
@@ -882,7 +885,7 @@ static void ei_rx_overrun(struct net_dev
  *	Collect the stats. This is called unlocked and from several contexts.
  */
 
-static struct net_device_stats *get_stats(struct net_device *dev)
+struct net_device_stats *ei_get_stats(struct net_device *dev)
 {
 	unsigned long ioaddr = dev->base_addr;
 	struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
@@ -901,6 +904,7 @@ static struct net_device_stats *get_stat
 
 	return &dev->stats;
 }
+EXPORT_SYMBOL_GPL(ei_get_stats);
 
 /*
  * Form the 64 bit 8390 multicast table from the linked list of addresses
@@ -991,7 +995,7 @@ static void do_set_multicast_list(struct
  *	not called too often. Must protect against both bh and irq users
  */
 
-static void set_multicast_list(struct net_device *dev)
+void ei_set_multicast_list(struct net_device *dev)
 {
 	unsigned long flags;
 	struct ei_device *ei_local = (struct ei_device*)netdev_priv(dev);
@@ -1000,6 +1004,7 @@ static void set_multicast_list(struct ne
 	do_set_multicast_list(dev);
 	spin_unlock_irqrestore(&ei_local->page_lock, flags);
 }
+EXPORT_SYMBOL_GPL(ei_set_multicast_list);
 
 /**
  * ethdev_setup - init rest of 8390 device struct
@@ -1015,10 +1020,11 @@ static void ethdev_setup(struct net_devi
 	if (ei_debug > 1)
 		printk(version);
 
-	dev->hard_start_xmit = &ei_start_xmit;
-	dev->get_stats	= get_stats;
-	dev->set_multicast_list = &set_multicast_list;
-
+#ifdef CONFIG_COMPAT_NET_DEV_OPS
+	dev->hard_start_xmit = ei_start_xmit;
+	dev->get_stats	= ei_get_stats;
+	dev->set_multicast_list = ei_set_multicast_list;
+#endif
 	ether_setup(dev);
 
 	spin_lock_init(&ei_local->page_lock);
--- a/drivers/net/ne2k-pci.c	2008-11-21 15:01:21.000000000 -0800
+++ b/drivers/net/ne2k-pci.c	2008-11-21 15:01:53.000000000 -0800
@@ -200,6 +200,19 @@ struct ne2k_pci_card {
   in the 'dev' and 'ei_status' structures.
 */
 
+static const struct net_device_ops ne2k_netdev_ops = {
+	.ndo_open		= ne2k_pci_open,
+	.ndo_stop		= ne2k_pci_close,
+	.ndo_start_xmit		= ei_start_xmit,
+	.ndo_tx_timeout		= ei_tx_timeout,
+	.ndo_get_stats		= ei_get_stats,
+	.ndo_set_multicast_list = ei_set_multicast_list,
+	.ndo_validate_addr	= eth_validate_addr,
+	.ndo_change_mtu		= eth_change_mtu,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+	.ndo_poll_controller = ei_poll,
+#endif
+};
 
 static int __devinit ne2k_pci_init_one (struct pci_dev *pdev,
 				     const struct pci_device_id *ent)
@@ -265,6 +278,8 @@ static int __devinit ne2k_pci_init_one (
 		dev_err(&pdev->dev, "cannot allocate ethernet device\n");
 		goto err_out_free_res;
 	}
+	dev->netdev_ops = &ne2k_netdev_ops;
+
 	SET_NETDEV_DEV(dev, &pdev->dev);
 
 	/* Reset card. Who knows what dain-bramaged state it was left in. */
@@ -353,12 +368,8 @@ static int __devinit ne2k_pci_init_one (
 	ei_status.block_output = &ne2k_pci_block_output;
 	ei_status.get_8390_hdr = &ne2k_pci_get_8390_hdr;
 	ei_status.priv = (unsigned long) pdev;
-	dev->open = &ne2k_pci_open;
-	dev->stop = &ne2k_pci_close;
+
 	dev->ethtool_ops = &ne2k_pci_ethtool_ops;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-	dev->poll_controller = ei_poll;
-#endif
 	NS8390_init(dev, 0);
 
 	i = register_netdev(dev);

-- 


^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 11/22] efx: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 11/22] efx: " Stephen Hemminger
@ 2008-11-22  0:45   ` Ben Hutchings
  2008-11-22  1:33     ` David Miller
  0 siblings, 1 reply; 46+ messages in thread
From: Ben Hutchings @ 2008-11-22  0:45 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, Jeff Garzik, netdev

Stephen Hemminger wrote:
> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Acked-by: Ben Hutchings <bhutchings@solarflare.com>

(But the driver name is sfc; "efx" is an historical reference.)

> --- a/drivers/net/sfc/efx.c	2008-11-21 13:57:58.000000000 -0800
> +++ b/drivers/net/sfc/efx.c	2008-11-21 14:09:48.000000000 -0800
> @@ -1433,12 +1433,28 @@ static void efx_set_multicast_list(struc
>  	falcon_set_multicast_hash(efx);
>  }
>  
> +static const struct net_device_ops efx_netdev_ops = {
> +	.ndo_open		= efx_net_open,
> +	.ndo_stop		= efx_net_stop,
> +	.ndo_get_stats		= efx_net_stats,
> +	.ndo_tx_timeout		= efx_watchdog,
> +	.ndo_start_xmit		= efx_hard_start_xmit,
> +	.ndo_validate_addr	= eth_validate_addr,
> +	.ndo_do_ioctl		= efx_ioctl,
> +	.ndo_change_mtu		= efx_change_mtu,
> +	.ndo_set_mac_address	= efx_set_mac_address,
> +	.ndo_set_multicast_list = efx_set_multicast_list,
> +#ifdef CONFIG_NET_POLL_CONTROLLER
> +	.ndo_poll_controller = efx_netpoll,
> +#endif
> +};
> +
>  static int efx_netdev_event(struct notifier_block *this,
>  			    unsigned long event, void *ptr)
>  {
>  	struct net_device *net_dev = ptr;
>  
> -	if (net_dev->open == efx_net_open && event == NETDEV_CHANGENAME) {
> +	if (net_dev->netdev_ops == &efx_netdev_ops && event == NETDEV_CHANGENAME) {

Also, this line should be wrapped now.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 01/22] jme: convert driver to net_device_ops
  2008-11-21 23:21 ` [PATCH 01/22] jme: convert driver to net_device_ops Stephen Hemminger
@ 2008-11-22  1:28   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:28 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:39 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 02/22] s2io: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 02/22] s2io: convert " Stephen Hemminger
@ 2008-11-22  1:29   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:29 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:40 -0800

> Convert this driver to network device ops. Compile teseted only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 03/22] qlge: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 03/22] qlge: " Stephen Hemminger
@ 2008-11-22  1:29   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:29 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:41 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 04/22] Subject qlge: fix sparse warnings
  2008-11-21 23:21 ` [PATCH 04/22] Subject qlge: fix sparse warnings Stephen Hemminger
@ 2008-11-22  1:29   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:29 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:42 -0800

> Fix sparse warnings and one bug:
>     * Several routines can be static
>     * Don't lose __iomem annotation
>     * fix locking on error path (bug)
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 05/22] via-rhine: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 05/22] via-rhine: convert to net_device_ops Stephen Hemminger
@ 2008-11-22  1:30   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:30 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:43 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 06/22] myri10ge: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 06/22] myri10ge: " Stephen Hemminger
@ 2008-11-22  1:30   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:30 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:44 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 07/22] mlx4: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 07/22] mlx4: " Stephen Hemminger
@ 2008-11-22  1:31   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:31 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:45 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 08/22] bnx2: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 08/22] bnx2: " Stephen Hemminger
@ 2008-11-22  1:31   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:31 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:46 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 09/22] dl2k: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 09/22] dl2k: " Stephen Hemminger
@ 2008-11-22  1:31   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:31 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:47 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 10/22] netxen: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 10/22] netxen: " Stephen Hemminger
@ 2008-11-22  1:32   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:32 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:48 -0800

> Convert driver to new net_device_ops. Compile tested only.
> Had to do some refactoring on multicast_list.
> Fix ethtool restart to propogate error code.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 11/22] efx: convert to net_device_ops
  2008-11-22  0:45   ` Ben Hutchings
@ 2008-11-22  1:33     ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:33 UTC (permalink / raw)
  To: bhutchings; +Cc: shemminger, jgarzik, netdev

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Sat, 22 Nov 2008 00:45:14 +0000

> Stephen Hemminger wrote:
> > Convert driver to new net_device_ops. Compile tested only.
> > 
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> 
> Acked-by: Ben Hutchings <bhutchings@solarflare.com>

Applied.

> (But the driver name is sfc; "efx" is an historical reference.)

I fixed this up in the commit message, thanks.

> > -	if (net_dev->open == efx_net_open && event == NETDEV_CHANGENAME) {
> > +	if (net_dev->netdev_ops == &efx_netdev_ops && event == NETDEV_CHANGENAME) {
> 
> Also, this line should be wrapped now.

I think this is being overly picky, and it's OK to elide this in
this type of change I think.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 12/22] tehuti: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 12/22] tehuti: " Stephen Hemminger
@ 2008-11-22  1:34   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:34 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:50 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 13/22] sis900: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 13/22] sis900: " Stephen Hemminger
@ 2008-11-22  1:34   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:34 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:51 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 14/22] r6040: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 14/22] r6040: " Stephen Hemminger
@ 2008-11-22  1:35   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:35 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:52 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 15/22] yellowfin: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 15/22] yellowfin: " Stephen Hemminger
@ 2008-11-22  1:35   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:35 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:53 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 16/22] ns83820: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 16/22] ns83820: " Stephen Hemminger
@ 2008-11-22  1:35   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:35 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:54 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 17/22] bnx2x: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 17/22] bnx2x: " Stephen Hemminger
@ 2008-11-22  1:36   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:36 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:55 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 18/22] hamachi: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 18/22] hamachi: " Stephen Hemminger
@ 2008-11-22  1:36   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:36 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:56 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 19/22] qla3xxx: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 19/22] qla3xxx: " Stephen Hemminger
@ 2008-11-22  1:37   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:37 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:57 -0800

> Convert this driver to net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 20/22] sc92031: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 20/22] sc92031: " Stephen Hemminger
@ 2008-11-22  1:37   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:37 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:58 -0800

> Convert this driver to net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 21/22] eql: convert to net_device_ops
  2008-11-21 23:21 ` [PATCH 21/22] eql: " Stephen Hemminger
@ 2008-11-22  1:38   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:38 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:21:59 -0800

> Convert driver to new net_device_ops. Compile tested only.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 22/22] ne2k: convert to net_device_ops
  2008-11-21 23:22 ` [PATCH 22/22] ne2k: " Stephen Hemminger
@ 2008-11-22  1:39   ` David Miller
  0 siblings, 0 replies; 46+ messages in thread
From: David Miller @ 2008-11-22  1:39 UTC (permalink / raw)
  To: shemminger; +Cc: jgarzik, netdev

From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 21 Nov 2008 15:22:00 -0800

> Convert driver to new net_device_ops. Compile tested only.
> This required some additional work to export common code ei_XXX.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Applied.

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2008-11-22  1:39 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-21 23:21 [PATCH 00/22] Network device ops (phase 3) Stephen Hemminger
2008-11-21 23:21 ` [PATCH 01/22] jme: convert driver to net_device_ops Stephen Hemminger
2008-11-22  1:28   ` David Miller
2008-11-21 23:21 ` [PATCH 02/22] s2io: convert " Stephen Hemminger
2008-11-22  1:29   ` David Miller
2008-11-21 23:21 ` [PATCH 03/22] qlge: " Stephen Hemminger
2008-11-22  1:29   ` David Miller
2008-11-21 23:21 ` [PATCH 04/22] Subject qlge: fix sparse warnings Stephen Hemminger
2008-11-22  1:29   ` David Miller
2008-11-21 23:21 ` [PATCH 05/22] via-rhine: convert to net_device_ops Stephen Hemminger
2008-11-22  1:30   ` David Miller
2008-11-21 23:21 ` [PATCH 06/22] myri10ge: " Stephen Hemminger
2008-11-22  1:30   ` David Miller
2008-11-21 23:21 ` [PATCH 07/22] mlx4: " Stephen Hemminger
2008-11-22  1:31   ` David Miller
2008-11-21 23:21 ` [PATCH 08/22] bnx2: " Stephen Hemminger
2008-11-22  1:31   ` David Miller
2008-11-21 23:21 ` [PATCH 09/22] dl2k: " Stephen Hemminger
2008-11-22  1:31   ` David Miller
2008-11-21 23:21 ` [PATCH 10/22] netxen: " Stephen Hemminger
2008-11-22  1:32   ` David Miller
2008-11-21 23:21 ` [PATCH 11/22] efx: " Stephen Hemminger
2008-11-22  0:45   ` Ben Hutchings
2008-11-22  1:33     ` David Miller
2008-11-21 23:21 ` [PATCH 12/22] tehuti: " Stephen Hemminger
2008-11-22  1:34   ` David Miller
2008-11-21 23:21 ` [PATCH 13/22] sis900: " Stephen Hemminger
2008-11-22  1:34   ` David Miller
2008-11-21 23:21 ` [PATCH 14/22] r6040: " Stephen Hemminger
2008-11-22  1:35   ` David Miller
2008-11-21 23:21 ` [PATCH 15/22] yellowfin: " Stephen Hemminger
2008-11-22  1:35   ` David Miller
2008-11-21 23:21 ` [PATCH 16/22] ns83820: " Stephen Hemminger
2008-11-22  1:35   ` David Miller
2008-11-21 23:21 ` [PATCH 17/22] bnx2x: " Stephen Hemminger
2008-11-22  1:36   ` David Miller
2008-11-21 23:21 ` [PATCH 18/22] hamachi: " Stephen Hemminger
2008-11-22  1:36   ` David Miller
2008-11-21 23:21 ` [PATCH 19/22] qla3xxx: " Stephen Hemminger
2008-11-22  1:37   ` David Miller
2008-11-21 23:21 ` [PATCH 20/22] sc92031: " Stephen Hemminger
2008-11-22  1:37   ` David Miller
2008-11-21 23:21 ` [PATCH 21/22] eql: " Stephen Hemminger
2008-11-22  1:38   ` David Miller
2008-11-21 23:22 ` [PATCH 22/22] ne2k: " Stephen Hemminger
2008-11-22  1:39   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).