Netdev List
 help / color / mirror / Atom feed
* [net-next 08/17] ixgbe: consolidate MRQC and MTQC handling
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

The MRQC and MTQC registers are configured in the main
setup path but are also reconfigured in the DCB setup
path. The DCB path fixes the DCB configuration by configuring
the SECTXMINIFG gap which is required for DCB pause
to operate correctly.

This patch reduces the duplicate code and does all setup
in ixgbe_setup_mtqc() and ixgbe_setup_mrqc().

Additionally, this removes the IXGBE_QDE. This write never
set the WRITE bit in the register so the write was not
actually doing anything. Also this was to clear the register
but, it is never set and defaults to zero. If this is
needed for SRIOV it should be added correctly in a follow
up patch. But it's never been working so removing it here
should be OK.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_dcb_82599.c |   57 -----------------------------------
 drivers/net/ixgbe/ixgbe_main.c      |    7 ++++
 2 files changed, 7 insertions(+), 57 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_dcb_82599.c b/drivers/net/ixgbe/ixgbe_dcb_82599.c
index befe8ad..ade9820 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_82599.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_82599.c
@@ -319,62 +319,6 @@ static s32 ixgbe_dcb_config_tc_stats_82599(struct ixgbe_hw *hw)
 }
 
 /**
- * ixgbe_dcb_config_82599 - Configure general DCB parameters
- * @hw: pointer to hardware structure
- *
- * Configure general DCB parameters.
- */
-static s32 ixgbe_dcb_config_82599(struct ixgbe_hw *hw)
-{
-	u32 reg;
-	u32 q;
-
-	/* Disable the Tx desc arbiter so that MTQC can be changed */
-	reg = IXGBE_READ_REG(hw, IXGBE_RTTDCS);
-	reg |= IXGBE_RTTDCS_ARBDIS;
-	IXGBE_WRITE_REG(hw, IXGBE_RTTDCS, reg);
-
-	/* Enable DCB for Rx with 8 TCs */
-	reg = IXGBE_READ_REG(hw, IXGBE_MRQC);
-	switch (reg & IXGBE_MRQC_MRQE_MASK) {
-	case 0:
-	case IXGBE_MRQC_RT4TCEN:
-		/* RSS disabled cases */
-		reg = (reg & ~IXGBE_MRQC_MRQE_MASK) | IXGBE_MRQC_RT8TCEN;
-		break;
-	case IXGBE_MRQC_RSSEN:
-	case IXGBE_MRQC_RTRSS4TCEN:
-		/* RSS enabled cases */
-		reg = (reg & ~IXGBE_MRQC_MRQE_MASK) | IXGBE_MRQC_RTRSS8TCEN;
-		break;
-	default:
-		/* Unsupported value, assume stale data, overwrite no RSS */
-		reg = (reg & ~IXGBE_MRQC_MRQE_MASK) | IXGBE_MRQC_RT8TCEN;
-	}
-	IXGBE_WRITE_REG(hw, IXGBE_MRQC, reg);
-
-	/* Enable DCB for Tx with 8 TCs */
-	reg = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ;
-	IXGBE_WRITE_REG(hw, IXGBE_MTQC, reg);
-
-	/* Disable drop for all queues */
-	for (q = 0; q < 128; q++)
-		IXGBE_WRITE_REG(hw, IXGBE_QDE, q << IXGBE_QDE_IDX_SHIFT);
-
-	/* Enable the Tx desc arbiter */
-	reg = IXGBE_READ_REG(hw, IXGBE_RTTDCS);
-	reg &= ~IXGBE_RTTDCS_ARBDIS;
-	IXGBE_WRITE_REG(hw, IXGBE_RTTDCS, reg);
-
-	/* Enable Security TX Buffer IFG for DCB */
-	reg = IXGBE_READ_REG(hw, IXGBE_SECTXMINIFG);
-	reg |= IXGBE_SECTX_DCB;
-	IXGBE_WRITE_REG(hw, IXGBE_SECTXMINIFG, reg);
-
-	return 0;
-}
-
-/**
  * ixgbe_dcb_hw_config_82599 - Configure and enable DCB
  * @hw: pointer to hardware structure
  * @refill: refill credits index by traffic class
@@ -388,7 +332,6 @@ static s32 ixgbe_dcb_config_82599(struct ixgbe_hw *hw)
 s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw, u8 pfc_en, u16 *refill,
 			      u16 *max, u8 *bwg_id, u8 *prio_type, u8 *prio_tc)
 {
-	ixgbe_dcb_config_82599(hw);
 	ixgbe_dcb_config_rx_arbiter_82599(hw, refill, max, bwg_id,
 					  prio_type, prio_tc);
 	ixgbe_dcb_config_tx_desc_arbiter_82599(hw, refill, max,
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index fba1e323..20467da 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2816,6 +2816,7 @@ static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
 	struct ixgbe_hw *hw = &adapter->hw;
 	u32 rttdcs;
 	u32 mask;
+	u32 reg;
 
 	if (hw->mac.type == ixgbe_mac_82598EB)
 		return;
@@ -2838,6 +2839,12 @@ static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
 		/* We enable 8 traffic classes, DCB only */
 		IXGBE_WRITE_REG(hw, IXGBE_MTQC,
 			      (IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ));
+
+		/* Enable Security TX Buffer IFG for DCB */
+		reg = IXGBE_READ_REG(hw, IXGBE_SECTXMINIFG);
+		reg |= IXGBE_SECTX_DCB;
+		IXGBE_WRITE_REG(hw, IXGBE_SECTXMINIFG, reg);
+
 		break;
 
 	default:
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 09/17] ixgbe: configure minimal packet buffers to support TC
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

ixgbe devices support different numbers of packet buffers either
8 or 4. Here we only allocate the minimal number of packet
buffers required to implement the net_devices number of traffic
classes.

Fewer traffic classes allows for larger packet buffers in
hardware. Also more Tx/Rx queues can be given to each
traffic class.

This patch is mostly about propagating the number of traffic
classes through the init path. Specifically this adds the 4TC
cases to the MRQC and MTQC setup routines. Also ixgbe_setup_tc()
was sanitized to handle other traffic class value.

Finally changing the number of packet buffers in the hardware
requires the device to reinit. So this moves the reinit work
from DCB into the main ixgbe_setup_tc() routine to consolidate
the reset code. Now dcbnl_xxx ops call ixgbe_setup_tc() to
configure packet buffers if needed.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_dcb_nl.c |   16 +---
 drivers/net/ixgbe/ixgbe_main.c   |  235 ++++++++++++++++++++++----------------
 drivers/net/ixgbe/ixgbe_type.h   |    1 +
 3 files changed, 138 insertions(+), 114 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c
index 293ff06..b229feb 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c
@@ -125,9 +125,7 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
 			goto out;
 		}
 
-		if (netif_running(netdev))
-			netdev->netdev_ops->ndo_stop(netdev);
-		ixgbe_clear_interrupt_scheme(adapter);
+		adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
 
 		switch (adapter->hw.mac.type) {
 		case ixgbe_mac_82598EB:
@@ -143,18 +141,12 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
 			break;
 		}
 
-		adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
-		if (!netdev_get_num_tc(netdev))
-			ixgbe_setup_tc(netdev, MAX_TRAFFIC_CLASS);
+		ixgbe_setup_tc(netdev, MAX_TRAFFIC_CLASS);
 	} else {
 		/* Turn off DCB */
 		if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
 			goto out;
 
-		if (netif_running(netdev))
-			netdev->netdev_ops->ndo_stop(netdev);
-		ixgbe_clear_interrupt_scheme(adapter);
-
 		adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
 		adapter->temp_dcb_cfg.pfc_mode_enable = false;
 		adapter->dcb_cfg.pfc_mode_enable = false;
@@ -167,13 +159,9 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
 		default:
 			break;
 		}
-
 		ixgbe_setup_tc(netdev, 0);
 	}
 
-	ixgbe_init_interrupt_scheme(adapter);
-	if (netif_running(netdev))
-		netdev->netdev_ops->ndo_open(netdev);
 out:
 	return err;
 }
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 20467da..7e3850a 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2815,8 +2815,8 @@ static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
 {
 	struct ixgbe_hw *hw = &adapter->hw;
 	u32 rttdcs;
-	u32 mask;
 	u32 reg;
+	u8 tcs = netdev_get_num_tc(adapter->netdev);
 
 	if (hw->mac.type == ixgbe_mac_82598EB)
 		return;
@@ -2827,28 +2827,27 @@ static void ixgbe_setup_mtqc(struct ixgbe_adapter *adapter)
 	IXGBE_WRITE_REG(hw, IXGBE_RTTDCS, rttdcs);
 
 	/* set transmit pool layout */
-	mask = (IXGBE_FLAG_SRIOV_ENABLED | IXGBE_FLAG_DCB_ENABLED);
-	switch (adapter->flags & mask) {
-
+	switch (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) {
 	case (IXGBE_FLAG_SRIOV_ENABLED):
 		IXGBE_WRITE_REG(hw, IXGBE_MTQC,
 				(IXGBE_MTQC_VT_ENA | IXGBE_MTQC_64VF));
 		break;
+	default:
+		if (!tcs)
+			reg = IXGBE_MTQC_64Q_1PB;
+		else if (tcs <= 4)
+			reg = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_4TC_4TQ;
+		else
+			reg = IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ;
 
-	case (IXGBE_FLAG_DCB_ENABLED):
-		/* We enable 8 traffic classes, DCB only */
-		IXGBE_WRITE_REG(hw, IXGBE_MTQC,
-			      (IXGBE_MTQC_RT_ENA | IXGBE_MTQC_8TC_8TQ));
-
-		/* Enable Security TX Buffer IFG for DCB */
-		reg = IXGBE_READ_REG(hw, IXGBE_SECTXMINIFG);
-		reg |= IXGBE_SECTX_DCB;
-		IXGBE_WRITE_REG(hw, IXGBE_SECTXMINIFG, reg);
-
-		break;
+		IXGBE_WRITE_REG(hw, IXGBE_MTQC, reg);
 
-	default:
-		IXGBE_WRITE_REG(hw, IXGBE_MTQC, IXGBE_MTQC_64Q_1PB);
+		/* Enable Security TX Buffer IFG for multiple pb */
+		if (tcs) {
+			reg = IXGBE_READ_REG(hw, IXGBE_SECTXMINIFG);
+			reg |= IXGBE_SECTX_DCB;
+			IXGBE_WRITE_REG(hw, IXGBE_SECTXMINIFG, reg);
+		}
 		break;
 	}
 
@@ -2939,7 +2938,7 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
 	u32 mrqc = 0, reta = 0;
 	u32 rxcsum;
 	int i, j;
-	int mask;
+	u8 tcs = netdev_get_num_tc(adapter->netdev);
 
 	/* Fill out hash function seeds */
 	for (i = 0; i < 10; i++)
@@ -2961,33 +2960,28 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
 	rxcsum |= IXGBE_RXCSUM_PCSD;
 	IXGBE_WRITE_REG(hw, IXGBE_RXCSUM, rxcsum);
 
-	if (adapter->hw.mac.type == ixgbe_mac_82598EB)
-		mask = adapter->flags & IXGBE_FLAG_RSS_ENABLED;
-	else
-		mask = adapter->flags & (IXGBE_FLAG_RSS_ENABLED
-#ifdef CONFIG_IXGBE_DCB
-					 | IXGBE_FLAG_DCB_ENABLED
-#endif
-					 | IXGBE_FLAG_SRIOV_ENABLED
-					);
-
-	switch (mask) {
-#ifdef CONFIG_IXGBE_DCB
-	case (IXGBE_FLAG_DCB_ENABLED | IXGBE_FLAG_RSS_ENABLED):
-		mrqc = IXGBE_MRQC_RTRSS8TCEN;
-		break;
-	case (IXGBE_FLAG_DCB_ENABLED):
-		mrqc = IXGBE_MRQC_RT8TCEN;
-		break;
-#endif /* CONFIG_IXGBE_DCB */
-	case (IXGBE_FLAG_RSS_ENABLED):
+	if (adapter->hw.mac.type == ixgbe_mac_82598EB &&
+	    (adapter->flags & IXGBE_FLAG_RSS_ENABLED)) {
 		mrqc = IXGBE_MRQC_RSSEN;
-		break;
-	case (IXGBE_FLAG_SRIOV_ENABLED):
-		mrqc = IXGBE_MRQC_VMDQEN;
-		break;
-	default:
-		break;
+	} else {
+		int mask = adapter->flags & (IXGBE_FLAG_RSS_ENABLED
+					     | IXGBE_FLAG_SRIOV_ENABLED);
+
+		switch (mask) {
+		case (IXGBE_FLAG_RSS_ENABLED):
+			if (!tcs)
+				mrqc = IXGBE_MRQC_RSSEN;
+			else if (tcs <= 4)
+				mrqc = IXGBE_MRQC_RTRSS4TCEN;
+			else
+				mrqc = IXGBE_MRQC_RTRSS8TCEN;
+			break;
+		case (IXGBE_FLAG_SRIOV_ENABLED):
+			mrqc = IXGBE_MRQC_VMDQEN;
+			break;
+		default:
+			break;
+		}
 	}
 
 	/* Perform hash on these packet types */
@@ -4461,14 +4455,17 @@ static inline bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter)
 {
 	bool ret = false;
 	struct ixgbe_ring_feature *f = &adapter->ring_feature[RING_F_DCB];
-	int i, q;
+	int tcs = netdev_get_num_tc(adapter->netdev);
+	int max_q, i, q;
 
-	if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
+	if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED) || !tcs)
 		return ret;
 
+	max_q = adapter->netdev->num_tx_queues / tcs;
+
 	f->indices = 0;
-	for (i = 0; i < MAX_TRAFFIC_CLASS; i++) {
-		q = min((int)num_online_cpus(), MAX_TRAFFIC_CLASS);
+	for (i = 0; i < tcs; i++) {
+		q = min((int)num_online_cpus(), max_q);
 		f->indices += q;
 	}
 
@@ -4680,55 +4677,6 @@ static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
 	}
 }
 
-#define IXGBE_MAX_Q_PER_TC	(IXGBE_MAX_DCB_INDICES / MAX_TRAFFIC_CLASS)
-
-/* ixgbe_setup_tc - routine to configure net_device for multiple traffic
- * classes.
- *
- * @netdev: net device to configure
- * @tc: number of traffic classes to enable
- */
-int ixgbe_setup_tc(struct net_device *dev, u8 tc)
-{
-	int i;
-	unsigned int q, offset = 0;
-
-	if (!tc) {
-		netdev_reset_tc(dev);
-	} else {
-		struct ixgbe_adapter *adapter = netdev_priv(dev);
-
-		/* Hardware supports up to 8 traffic classes */
-		if (tc > MAX_TRAFFIC_CLASS || netdev_set_num_tc(dev, tc))
-			return -EINVAL;
-
-		/* Partition Tx queues evenly amongst traffic classes */
-		for (i = 0; i < tc; i++) {
-			q = min((int)num_online_cpus(), IXGBE_MAX_Q_PER_TC);
-			netdev_set_prio_tc_map(dev, i, i);
-			netdev_set_tc_queue(dev, i, q, offset);
-			offset += q;
-		}
-
-		/* This enables multiple traffic class support in the hardware
-		 * which defaults to strict priority transmission by default.
-		 * If traffic classes are already enabled perhaps through DCB
-		 * code path then existing configuration will be used.
-		 */
-		if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
-		    dev->dcbnl_ops && dev->dcbnl_ops->setdcbx) {
-			struct ieee_ets ets = {
-					.prio_tc = {0, 1, 2, 3, 4, 5, 6, 7},
-					      };
-			u8 mode = DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_IEEE;
-
-			dev->dcbnl_ops->setdcbx(dev, mode);
-			dev->dcbnl_ops->ieee_setets(dev, &ets);
-		}
-	}
-	return 0;
-}
-
 /**
  * ixgbe_cache_ring_dcb - Descriptor ring to register mapping for DCB
  * @adapter: board private structure to initialize
@@ -4742,7 +4690,7 @@ static inline bool ixgbe_cache_ring_dcb(struct ixgbe_adapter *adapter)
 	int i, j, k;
 	u8 num_tcs = netdev_get_num_tc(dev);
 
-	if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
+	if (!num_tcs)
 		return false;
 
 	for (i = 0, k = 0; i < num_tcs; i++) {
@@ -7220,6 +7168,95 @@ static struct rtnl_link_stats64 *ixgbe_get_stats64(struct net_device *netdev,
 	return stats;
 }
 
+/* ixgbe_validate_rtr - verify 802.1Qp to Rx packet buffer mapping is valid.
+ * #adapter: pointer to ixgbe_adapter
+ * @tc: number of traffic classes currently enabled
+ *
+ * Configure a valid 802.1Qp to Rx packet buffer mapping ie confirm
+ * 802.1Q priority maps to a packet buffer that exists.
+ */
+static void ixgbe_validate_rtr(struct ixgbe_adapter *adapter, u8 tc)
+{
+	struct ixgbe_hw *hw = &adapter->hw;
+	u32 reg, rsave;
+	int i;
+
+	/* 82598 have a static priority to TC mapping that can not
+	 * be changed so no validation is needed.
+	 */
+	if (hw->mac.type == ixgbe_mac_82598EB)
+		return;
+
+	reg = IXGBE_READ_REG(hw, IXGBE_RTRUP2TC);
+	rsave = reg;
+
+	for (i = 0; i < MAX_TRAFFIC_CLASS; i++) {
+		u8 up2tc = reg >> (i * IXGBE_RTRUP2TC_UP_SHIFT);
+
+		/* If up2tc is out of bounds default to zero */
+		if (up2tc > tc)
+			reg &= ~(0x7 << IXGBE_RTRUP2TC_UP_SHIFT);
+	}
+
+	if (reg != rsave)
+		IXGBE_WRITE_REG(hw, IXGBE_RTRUP2TC, reg);
+
+	return;
+}
+
+
+/* ixgbe_setup_tc - routine to configure net_device for multiple traffic
+ * classes.
+ *
+ * @netdev: net device to configure
+ * @tc: number of traffic classes to enable
+ */
+int ixgbe_setup_tc(struct net_device *dev, u8 tc)
+{
+	unsigned int q, i, offset = 0;
+	struct ixgbe_adapter *adapter = netdev_priv(dev);
+	struct ixgbe_hw *hw = &adapter->hw;
+	int max_q = adapter->netdev->num_tx_queues / tc;
+
+	/* If DCB is anabled do not remove traffic classes, multiple
+	 * traffic classes are required to implement DCB
+	 */
+	if (!tc && (adapter->flags & IXGBE_FLAG_DCB_ENABLED))
+		return 0;
+
+	/* Hardware supports up to 8 traffic classes */
+	if (tc > MAX_TRAFFIC_CLASS ||
+	    (hw->mac.type == ixgbe_mac_82598EB && tc < MAX_TRAFFIC_CLASS))
+		return -EINVAL;
+
+	/* Hardware has to reinitialize queues and interrupts to
+	 * match packet buffer alignment. Unfortunantly, the
+	 * hardware is not flexible enough to do this dynamically.
+	 */
+	if (netif_running(dev))
+		ixgbe_close(dev);
+	ixgbe_clear_interrupt_scheme(adapter);
+
+	if (tc)
+		netdev_set_num_tc(dev, tc);
+	else
+		netdev_reset_tc(dev);
+
+	/* Partition Tx queues evenly amongst traffic classes */
+	for (i = 0; i < tc; i++) {
+		q = min((int)num_online_cpus(), max_q);
+		netdev_set_prio_tc_map(dev, i, i);
+		netdev_set_tc_queue(dev, i, q, offset);
+		offset += q;
+	}
+
+	ixgbe_init_interrupt_scheme(adapter);
+	ixgbe_validate_rtr(adapter, tc);
+	if (netif_running(dev))
+		ixgbe_open(dev);
+
+	return 0;
+}
 
 static const struct net_device_ops ixgbe_netdev_ops = {
 	.ndo_open		= ixgbe_open,
@@ -7240,9 +7277,7 @@ static const struct net_device_ops ixgbe_netdev_ops = {
 	.ndo_set_vf_tx_rate	= ixgbe_ndo_set_vf_bw,
 	.ndo_get_vf_config	= ixgbe_ndo_get_vf_config,
 	.ndo_get_stats64	= ixgbe_get_stats64,
-#ifdef CONFIG_IXGBE_DCB
 	.ndo_setup_tc		= ixgbe_setup_tc,
-#endif
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller	= ixgbe_netpoll,
 #endif
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index c0849a6..5455064 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -1881,6 +1881,7 @@ enum {
 #define IXGBE_MTQC_32VF         0x8 /* 4 TX Queues per pool w/32VF's */
 #define IXGBE_MTQC_64VF         0x4 /* 2 TX Queues per pool w/64VF's */
 #define IXGBE_MTQC_8TC_8TQ      0xC /* 8 TC if RT_ENA or 8 TQ if VT_ENA */
+#define IXGBE_MTQC_4TC_4TQ	0x8 /* 4 TC if RT_ENA or 4 TQ if VT_ENA */
 
 /* Receive Descriptor bit definitions */
 #define IXGBE_RXD_STAT_DD       0x01    /* Descriptor Done */
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 00/17][pull request] Intel Wired LAN Driver Update
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo

The following series contains update for e1000, igb, ixgbevf and ixgbe.

e1000 and igb: conversion to ndo_fix_features from Michal
ixgbevf: cleanup and 64 bit stats from Stephen
ixgbevf: Mainly cleanup of DCB code and the addition of Dell CEM support.

Dropped the problem patch from Vasu that was previously submitted in the last
patch series.

The following are changes since commit fd112f2e15ba85d387de446a81aeb11e46ecc55d:
  r8169: check firmware content sooner
and are available in the git repository at:
  master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 master

Emil Tantilov (1):
  ixgbe: add support for Dell CEM

Greg Rose (1):
  ixgbevf: Fix bungled declaration of ixgbevf_mbx_ops

John Fastabend (10):
  ixgbe: dcbnl reduce duplicated code and indentation
  ixgbe: consolidate packet buffer allocation
  ixgbe: consolidate MRQC and MTQC handling
  ixgbe: configure minimal packet buffers to support TC
  ixgbe: DCB use existing TX and RX queues
  ixgbe: DCB 82598 devices, tx_idx and rx_idx swapped
  ixgbe: setup redirection table for multiple packet buffers
  ixgbe: fix bit mask for DCB version
  ixgbe: DCB and perfect filters can coexist
  ixgbe: DCB, remove unneeded ixgbe_dcb_txq_to_tc() routine

Michał Mirosław (2):
  e1000: convert to ndo_fix_features
  igb: convert to ndo_fix_features

Stephen Hemminger (2):
  ixgbevf: provide 64 bit statistics
  ixgbevf: remove unnecessary ampersands

Vasu Dev (1):
  ixgbe: setup per CPU PCI pool for FCoE DDP

 drivers/net/e1000/e1000_ethtool.c   |   69 ------
 drivers/net/e1000/e1000_main.c      |   30 +++-
 drivers/net/igb/igb_ethtool.c       |   67 ------
 drivers/net/igb/igb_main.c          |   33 +++-
 drivers/net/ixgbe/ixgbe.h           |    2 -
 drivers/net/ixgbe/ixgbe_82598.c     |   43 ++++
 drivers/net/ixgbe/ixgbe_82599.c     |   40 +----
 drivers/net/ixgbe/ixgbe_common.c    |  240 +++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_common.h    |    5 +
 drivers/net/ixgbe/ixgbe_dcb.c       |   10 +-
 drivers/net/ixgbe/ixgbe_dcb.h       |    7 -
 drivers/net/ixgbe/ixgbe_dcb_82598.c |   43 +----
 drivers/net/ixgbe/ixgbe_dcb_82598.h |    3 +-
 drivers/net/ixgbe/ixgbe_dcb_82599.c |  119 +-----------
 drivers/net/ixgbe/ixgbe_dcb_82599.h |   14 +--
 drivers/net/ixgbe/ixgbe_dcb_nl.c    |   52 ++---
 drivers/net/ixgbe/ixgbe_fcoe.c      |  105 +++++++---
 drivers/net/ixgbe/ixgbe_fcoe.h      |   13 +-
 drivers/net/ixgbe/ixgbe_main.c      |  397 +++++++++++++++++------------------
 drivers/net/ixgbe/ixgbe_type.h      |   71 +++++++
 drivers/net/ixgbe/ixgbe_x540.c      |    2 +
 drivers/net/ixgbevf/ixgbevf.h       |    8 +-
 drivers/net/ixgbevf/ixgbevf_main.c  |   57 ++++--
 23 files changed, 761 insertions(+), 669 deletions(-)

-- 
1.7.5.4


^ permalink raw reply

* [net-next 03/17] ixgbevf: Fix bungled declaration of ixgbevf_mbx_ops
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Greg Rose <gregory.v.rose@intel.com>

In two places storage for mbx_ops is misidentified as type
ixgbe_mac_operations.

Reported-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbevf/ixgbevf.h      |    2 +-
 drivers/net/ixgbevf/ixgbevf_main.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbevf/ixgbevf.h b/drivers/net/ixgbevf/ixgbevf.h
index b703f60..a2bbbb3 100644
--- a/drivers/net/ixgbevf/ixgbevf.h
+++ b/drivers/net/ixgbevf/ixgbevf.h
@@ -279,7 +279,7 @@ enum ixgbevf_boards {
 
 extern struct ixgbevf_info ixgbevf_82599_vf_info;
 extern struct ixgbevf_info ixgbevf_X540_vf_info;
-extern struct ixgbe_mac_operations ixgbevf_mbx_ops;
+extern struct ixgbe_mbx_operations ixgbevf_mbx_ops;
 
 /* needed by ethtool.c */
 extern char ixgbevf_driver_name[];
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c
index b2c5ecd..721417e 100644
--- a/drivers/net/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ixgbevf/ixgbevf_main.c
@@ -3364,7 +3364,7 @@ static int __devinit ixgbevf_probe(struct pci_dev *pdev,
 	hw->mac.type  = ii->mac;
 
 	memcpy(&hw->mbx.ops, &ixgbevf_mbx_ops,
-	       sizeof(struct ixgbe_mac_operations));
+	       sizeof(struct ixgbe_mbx_operations));
 
 	adapter->flags &= ~IXGBE_FLAG_RX_PS_CAPABLE;
 	adapter->flags &= ~IXGBE_FLAG_RX_PS_ENABLED;
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 01/17] e1000: convert to ndo_fix_features
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Michał Mirosław, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
Removing this needs deeper surgery.

Things noticed:
 - RX csum disabled by default
 - HW VLAN acceleration probably can be toggled, but it's left as is
 - the resets on RX csum offload change can probably be avoided
 - there is A LOT of copy-and-pasted code here

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Tested-by:  Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/e1000/e1000_ethtool.c |   69 -------------------------------------
 drivers/net/e1000/e1000_main.c    |   30 ++++++++++++++--
 2 files changed, 26 insertions(+), 73 deletions(-)

diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index ec0fa42..c5f0f04 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -290,69 +290,6 @@ static int e1000_set_pauseparam(struct net_device *netdev,
 	return retval;
 }
 
-static u32 e1000_get_rx_csum(struct net_device *netdev)
-{
-	struct e1000_adapter *adapter = netdev_priv(netdev);
-	return adapter->rx_csum;
-}
-
-static int e1000_set_rx_csum(struct net_device *netdev, u32 data)
-{
-	struct e1000_adapter *adapter = netdev_priv(netdev);
-	adapter->rx_csum = data;
-
-	if (netif_running(netdev))
-		e1000_reinit_locked(adapter);
-	else
-		e1000_reset(adapter);
-	return 0;
-}
-
-static u32 e1000_get_tx_csum(struct net_device *netdev)
-{
-	return (netdev->features & NETIF_F_HW_CSUM) != 0;
-}
-
-static int e1000_set_tx_csum(struct net_device *netdev, u32 data)
-{
-	struct e1000_adapter *adapter = netdev_priv(netdev);
-	struct e1000_hw *hw = &adapter->hw;
-
-	if (hw->mac_type < e1000_82543) {
-		if (!data)
-			return -EINVAL;
-		return 0;
-	}
-
-	if (data)
-		netdev->features |= NETIF_F_HW_CSUM;
-	else
-		netdev->features &= ~NETIF_F_HW_CSUM;
-
-	return 0;
-}
-
-static int e1000_set_tso(struct net_device *netdev, u32 data)
-{
-	struct e1000_adapter *adapter = netdev_priv(netdev);
-	struct e1000_hw *hw = &adapter->hw;
-
-	if ((hw->mac_type < e1000_82544) ||
-	    (hw->mac_type == e1000_82547))
-		return data ? -EINVAL : 0;
-
-	if (data)
-		netdev->features |= NETIF_F_TSO;
-	else
-		netdev->features &= ~NETIF_F_TSO;
-
-	netdev->features &= ~NETIF_F_TSO6;
-
-	e_info(probe, "TSO is %s\n", data ? "Enabled" : "Disabled");
-	adapter->tso_force = true;
-	return 0;
-}
-
 static u32 e1000_get_msglevel(struct net_device *netdev)
 {
 	struct e1000_adapter *adapter = netdev_priv(netdev);
@@ -1905,12 +1842,6 @@ static const struct ethtool_ops e1000_ethtool_ops = {
 	.set_ringparam          = e1000_set_ringparam,
 	.get_pauseparam         = e1000_get_pauseparam,
 	.set_pauseparam         = e1000_set_pauseparam,
-	.get_rx_csum            = e1000_get_rx_csum,
-	.set_rx_csum            = e1000_set_rx_csum,
-	.get_tx_csum            = e1000_get_tx_csum,
-	.set_tx_csum            = e1000_set_tx_csum,
-	.set_sg                 = ethtool_op_set_sg,
-	.set_tso                = e1000_set_tso,
 	.self_test              = e1000_diag_test,
 	.get_strings            = e1000_get_strings,
 	.set_phys_id            = e1000_set_phys_id,
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 76e8af0..188d99a 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -797,6 +797,24 @@ static int e1000_is_need_ioport(struct pci_dev *pdev)
 	}
 }
 
+static int e1000_set_features(struct net_device *netdev, u32 features)
+{
+	struct e1000_adapter *adapter = netdev_priv(netdev);
+	u32 changed = features ^ netdev->features;
+
+	if (!(changed & NETIF_F_RXCSUM))
+		return 0;
+
+	adapter->rx_csum = !!(features & NETIF_F_RXCSUM);
+
+	if (netif_running(netdev))
+		e1000_reinit_locked(adapter);
+	else
+		e1000_reset(adapter);
+
+	return 0;
+}
+
 static const struct net_device_ops e1000_netdev_ops = {
 	.ndo_open		= e1000_open,
 	.ndo_stop		= e1000_close,
@@ -815,6 +833,7 @@ static const struct net_device_ops e1000_netdev_ops = {
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller	= e1000_netpoll,
 #endif
+	.ndo_set_features       = e1000_set_features,
 };
 
 /**
@@ -1016,16 +1035,19 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
 	}
 
 	if (hw->mac_type >= e1000_82543) {
-		netdev->features = NETIF_F_SG |
-				   NETIF_F_HW_CSUM |
-				   NETIF_F_HW_VLAN_TX |
+		netdev->hw_features = NETIF_F_SG |
+				   NETIF_F_HW_CSUM;
+		netdev->features = NETIF_F_HW_VLAN_TX |
 				   NETIF_F_HW_VLAN_RX |
 				   NETIF_F_HW_VLAN_FILTER;
 	}
 
 	if ((hw->mac_type >= e1000_82544) &&
 	   (hw->mac_type != e1000_82547))
-		netdev->features |= NETIF_F_TSO;
+		netdev->hw_features |= NETIF_F_TSO;
+
+	netdev->features |= netdev->hw_features;
+	netdev->hw_features |= NETIF_F_RXCSUM;
 
 	if (pci_using_dac) {
 		netdev->features |= NETIF_F_HIGHDMA;
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 04/17] ixgbevf: provide 64 bit statistics
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Stephen Hemminger, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Stephen Hemminger <shemminger@vyatta.com>

Compute statistics per ring using 64 bits, and provide
network device stats in 64 bits.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Greg Rose <Gregory.v.rose@intel.com>
Tested-by: Evan Swanson <evan.swanson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbevf/ixgbevf.h      |    6 +++---
 drivers/net/ixgbevf/ixgbevf_main.c |   33 ++++++++++++++++++++++++---------
 2 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ixgbevf/ixgbevf.h b/drivers/net/ixgbevf/ixgbevf.h
index a2bbbb3..f060840 100644
--- a/drivers/net/ixgbevf/ixgbevf.h
+++ b/drivers/net/ixgbevf/ixgbevf.h
@@ -69,12 +69,12 @@ struct ixgbevf_ring {
 		struct ixgbevf_rx_buffer *rx_buffer_info;
 	};
 
+	u64 total_bytes;
+	u64 total_packets;
+
 	u16 head;
 	u16 tail;
 
-	unsigned int total_bytes;
-	unsigned int total_packets;
-
 	u16 reg_idx; /* holds the special value that gets the hardware register
 		      * offset associated with this ring, which is different
 		      * for DCB and RSS modes */
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c
index 721417e..c1f9fa6 100644
--- a/drivers/net/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ixgbevf/ixgbevf_main.c
@@ -267,9 +267,6 @@ static bool ixgbevf_clean_tx_irq(struct ixgbevf_adapter *adapter,
 	tx_ring->total_bytes += total_bytes;
 	tx_ring->total_packets += total_packets;
 
-	netdev->stats.tx_bytes += total_bytes;
-	netdev->stats.tx_packets += total_packets;
-
 	return count < tx_ring->work_limit;
 }
 
@@ -597,8 +594,6 @@ next_desc:
 
 	rx_ring->total_packets += total_rx_packets;
 	rx_ring->total_bytes += total_rx_bytes;
-	adapter->netdev->stats.rx_bytes += total_rx_bytes;
-	adapter->netdev->stats.rx_packets += total_rx_packets;
 
 	return cleaned;
 }
@@ -2288,10 +2283,6 @@ void ixgbevf_update_stats(struct ixgbevf_adapter *adapter)
 				adapter->stats.vfgotc);
 	UPDATE_VF_COUNTER_32bit(IXGBE_VFMPRC, adapter->stats.last_vfmprc,
 				adapter->stats.vfmprc);
-
-	/* Fill out the OS statistics structure */
-	adapter->netdev->stats.multicast = adapter->stats.vfmprc -
-		adapter->stats.base_vfmprc;
 }
 
 /**
@@ -3248,11 +3239,35 @@ static void ixgbevf_shutdown(struct pci_dev *pdev)
 	pci_disable_device(pdev);
 }
 
+static struct rtnl_link_stats64 *ixgbevf_get_stats(struct net_device *netdev,
+						   struct rtnl_link_stats64 *stats)
+{
+	struct ixgbevf_adapter *adapter = netdev_priv(netdev);
+	int i;
+
+	ixgbevf_update_stats(adapter);
+
+	stats->multicast = adapter->stats.vfmprc - adapter->stats.base_vfmprc;
+
+	for (i = 0; i < adapter->num_rx_queues; i++) {
+		stats->rx_bytes += adapter->rx_ring[i].total_bytes;
+		stats->rx_packets += adapter->rx_ring[i].total_packets;
+	}
+
+	for (i = 0; i < adapter->num_tx_queues; i++) {
+		stats->tx_bytes += adapter->tx_ring[i].total_bytes;
+		stats->tx_packets += adapter->tx_ring[i].total_packets;
+	}
+
+	return stats;
+}
+
 static const struct net_device_ops ixgbe_netdev_ops = {
 	.ndo_open		= &ixgbevf_open,
 	.ndo_stop		= &ixgbevf_close,
 	.ndo_start_xmit		= &ixgbevf_xmit_frame,
 	.ndo_set_rx_mode	= &ixgbevf_set_rx_mode,
+	.ndo_get_stats64	= ixgbevf_get_stats,
 	.ndo_set_multicast_list	= &ixgbevf_set_rx_mode,
 	.ndo_validate_addr	= eth_validate_addr,
 	.ndo_set_mac_address	= &ixgbevf_set_mac,
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 06/17] ixgbe: dcbnl reduce duplicated code and indentation
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

Replace duplicated code in if/else branches with single
check and ixgbe_init_interrupt_scheme().

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_dcb_nl.c |   51 ++++++++++++++++++--------------------
 1 files changed, 24 insertions(+), 27 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c
index 5e7ed22..293ff06 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c
@@ -146,37 +146,34 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
 		adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
 		if (!netdev_get_num_tc(netdev))
 			ixgbe_setup_tc(netdev, MAX_TRAFFIC_CLASS);
-
-		ixgbe_init_interrupt_scheme(adapter);
-		if (netif_running(netdev))
-			netdev->netdev_ops->ndo_open(netdev);
 	} else {
 		/* Turn off DCB */
-		if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
-			if (netif_running(netdev))
-				netdev->netdev_ops->ndo_stop(netdev);
-			ixgbe_clear_interrupt_scheme(adapter);
+		if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
+			goto out;
 
-			adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
-			adapter->temp_dcb_cfg.pfc_mode_enable = false;
-			adapter->dcb_cfg.pfc_mode_enable = false;
-			adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
-			switch (adapter->hw.mac.type) {
-			case ixgbe_mac_82599EB:
-			case ixgbe_mac_X540:
-				adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
-				break;
-			default:
-				break;
-			}
-
-			ixgbe_setup_tc(netdev, 0);
-
-			ixgbe_init_interrupt_scheme(adapter);
-			if (netif_running(netdev))
-				netdev->netdev_ops->ndo_open(netdev);
+		if (netif_running(netdev))
+			netdev->netdev_ops->ndo_stop(netdev);
+		ixgbe_clear_interrupt_scheme(adapter);
+
+		adapter->hw.fc.requested_mode = adapter->last_lfc_mode;
+		adapter->temp_dcb_cfg.pfc_mode_enable = false;
+		adapter->dcb_cfg.pfc_mode_enable = false;
+		adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED;
+		switch (adapter->hw.mac.type) {
+		case ixgbe_mac_82599EB:
+		case ixgbe_mac_X540:
+			adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
+			break;
+		default:
+			break;
 		}
+
+		ixgbe_setup_tc(netdev, 0);
 	}
+
+	ixgbe_init_interrupt_scheme(adapter);
+	if (netif_running(netdev))
+		netdev->netdev_ops->ndo_open(netdev);
 out:
 	return err;
 }
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 02/17] igb: convert to ndo_fix_features
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Michał Mirosław, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
Removing this needs deeper surgery.

Things noticed:
 - HW VLAN acceleration probably can be toggled, but it's left as is
 - the resets on RX csum offload change can probably be avoided
 - there is A LOT of copy-and-pasted code here

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Tested-by:  Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/igb/igb_ethtool.c |   67 -----------------------------------------
 drivers/net/igb/igb_main.c    |   33 ++++++++++++++++----
 2 files changed, 26 insertions(+), 74 deletions(-)

diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c
index fdc895e..1862c97 100644
--- a/drivers/net/igb/igb_ethtool.c
+++ b/drivers/net/igb/igb_ethtool.c
@@ -318,65 +318,6 @@ static int igb_set_pauseparam(struct net_device *netdev,
 	return retval;
 }
 
-static u32 igb_get_rx_csum(struct net_device *netdev)
-{
-	struct igb_adapter *adapter = netdev_priv(netdev);
-	return !!(adapter->rx_ring[0]->flags & IGB_RING_FLAG_RX_CSUM);
-}
-
-static int igb_set_rx_csum(struct net_device *netdev, u32 data)
-{
-	struct igb_adapter *adapter = netdev_priv(netdev);
-	int i;
-
-	for (i = 0; i < adapter->num_rx_queues; i++) {
-		if (data)
-			adapter->rx_ring[i]->flags |= IGB_RING_FLAG_RX_CSUM;
-		else
-			adapter->rx_ring[i]->flags &= ~IGB_RING_FLAG_RX_CSUM;
-	}
-
-	return 0;
-}
-
-static u32 igb_get_tx_csum(struct net_device *netdev)
-{
-	return (netdev->features & NETIF_F_IP_CSUM) != 0;
-}
-
-static int igb_set_tx_csum(struct net_device *netdev, u32 data)
-{
-	struct igb_adapter *adapter = netdev_priv(netdev);
-
-	if (data) {
-		netdev->features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM);
-		if (adapter->hw.mac.type >= e1000_82576)
-			netdev->features |= NETIF_F_SCTP_CSUM;
-	} else {
-		netdev->features &= ~(NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
-		                      NETIF_F_SCTP_CSUM);
-	}
-
-	return 0;
-}
-
-static int igb_set_tso(struct net_device *netdev, u32 data)
-{
-	struct igb_adapter *adapter = netdev_priv(netdev);
-
-	if (data) {
-		netdev->features |= NETIF_F_TSO;
-		netdev->features |= NETIF_F_TSO6;
-	} else {
-		netdev->features &= ~NETIF_F_TSO;
-		netdev->features &= ~NETIF_F_TSO6;
-	}
-
-	dev_info(&adapter->pdev->dev, "TSO is %s\n",
-		 data ? "Enabled" : "Disabled");
-	return 0;
-}
-
 static u32 igb_get_msglevel(struct net_device *netdev)
 {
 	struct igb_adapter *adapter = netdev_priv(netdev);
@@ -2207,14 +2148,6 @@ static const struct ethtool_ops igb_ethtool_ops = {
 	.set_ringparam          = igb_set_ringparam,
 	.get_pauseparam         = igb_get_pauseparam,
 	.set_pauseparam         = igb_set_pauseparam,
-	.get_rx_csum            = igb_get_rx_csum,
-	.set_rx_csum            = igb_set_rx_csum,
-	.get_tx_csum            = igb_get_tx_csum,
-	.set_tx_csum            = igb_set_tx_csum,
-	.get_sg                 = ethtool_op_get_sg,
-	.set_sg                 = ethtool_op_set_sg,
-	.get_tso                = ethtool_op_get_tso,
-	.set_tso                = igb_set_tso,
 	.self_test              = igb_diag_test,
 	.get_strings            = igb_get_strings,
 	.set_phys_id            = igb_set_phys_id,
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index c2e9670..2841f14 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -1748,6 +1748,21 @@ void igb_reset(struct igb_adapter *adapter)
 	igb_get_phy_info(hw);
 }
 
+static int igb_set_features(struct net_device *netdev, u32 features)
+{
+	struct igb_adapter *adapter = netdev_priv(netdev);
+	int i;
+
+	for (i = 0; i < adapter->num_rx_queues; i++) {
+		if (features & NETIF_F_RXCSUM)
+			adapter->rx_ring[i]->flags |= IGB_RING_FLAG_RX_CSUM;
+		else
+			adapter->rx_ring[i]->flags &= ~IGB_RING_FLAG_RX_CSUM;
+	}
+
+	return 0;
+}
+
 static const struct net_device_ops igb_netdev_ops = {
 	.ndo_open		= igb_open,
 	.ndo_stop		= igb_close,
@@ -1770,6 +1785,7 @@ static const struct net_device_ops igb_netdev_ops = {
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller	= igb_netpoll,
 #endif
+	.ndo_set_features       = igb_set_features,
 };
 
 /**
@@ -1909,17 +1925,18 @@ static int __devinit igb_probe(struct pci_dev *pdev,
 		dev_info(&pdev->dev,
 			"PHY reset is blocked due to SOL/IDER session.\n");
 
-	netdev->features = NETIF_F_SG |
+	netdev->hw_features = NETIF_F_SG |
 			   NETIF_F_IP_CSUM |
+			   NETIF_F_IPV6_CSUM |
+			   NETIF_F_TSO |
+			   NETIF_F_TSO6 |
+			   NETIF_F_RXCSUM;
+
+	netdev->features = netdev->hw_features |
 			   NETIF_F_HW_VLAN_TX |
 			   NETIF_F_HW_VLAN_RX |
 			   NETIF_F_HW_VLAN_FILTER;
 
-	netdev->features |= NETIF_F_IPV6_CSUM;
-	netdev->features |= NETIF_F_TSO;
-	netdev->features |= NETIF_F_TSO6;
-	netdev->features |= NETIF_F_GRO;
-
 	netdev->vlan_features |= NETIF_F_TSO;
 	netdev->vlan_features |= NETIF_F_TSO6;
 	netdev->vlan_features |= NETIF_F_IP_CSUM;
@@ -1931,8 +1948,10 @@ static int __devinit igb_probe(struct pci_dev *pdev,
 		netdev->vlan_features |= NETIF_F_HIGHDMA;
 	}
 
-	if (hw->mac.type >= e1000_82576)
+	if (hw->mac.type >= e1000_82576) {
+		netdev->hw_features |= NETIF_F_SCTP_CSUM;
 		netdev->features |= NETIF_F_SCTP_CSUM;
+	}
 
 	adapter->en_mng_pt = igb_enable_mng_pass_thru(hw);
 
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 05/17] ixgbevf: remove unnecessary ampersands
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Stephen Hemminger, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Stephen Hemminger <shemminger@vyatta.com>

Use standard format for net_device_ops (without &)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Greg Rose <Gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbevf/ixgbevf_main.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c
index c1f9fa6..e3e25bd 100644
--- a/drivers/net/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ixgbevf/ixgbevf_main.c
@@ -3263,19 +3263,19 @@ static struct rtnl_link_stats64 *ixgbevf_get_stats(struct net_device *netdev,
 }
 
 static const struct net_device_ops ixgbe_netdev_ops = {
-	.ndo_open		= &ixgbevf_open,
-	.ndo_stop		= &ixgbevf_close,
-	.ndo_start_xmit		= &ixgbevf_xmit_frame,
-	.ndo_set_rx_mode	= &ixgbevf_set_rx_mode,
+	.ndo_open		= ixgbevf_open,
+	.ndo_stop		= ixgbevf_close,
+	.ndo_start_xmit		= ixgbevf_xmit_frame,
+	.ndo_set_rx_mode	= ixgbevf_set_rx_mode,
 	.ndo_get_stats64	= ixgbevf_get_stats,
-	.ndo_set_multicast_list	= &ixgbevf_set_rx_mode,
+	.ndo_set_multicast_list	= ixgbevf_set_rx_mode,
 	.ndo_validate_addr	= eth_validate_addr,
-	.ndo_set_mac_address	= &ixgbevf_set_mac,
-	.ndo_change_mtu		= &ixgbevf_change_mtu,
-	.ndo_tx_timeout		= &ixgbevf_tx_timeout,
-	.ndo_vlan_rx_register	= &ixgbevf_vlan_rx_register,
-	.ndo_vlan_rx_add_vid	= &ixgbevf_vlan_rx_add_vid,
-	.ndo_vlan_rx_kill_vid	= &ixgbevf_vlan_rx_kill_vid,
+	.ndo_set_mac_address	= ixgbevf_set_mac,
+	.ndo_change_mtu		= ixgbevf_change_mtu,
+	.ndo_tx_timeout		= ixgbevf_tx_timeout,
+	.ndo_vlan_rx_register	= ixgbevf_vlan_rx_register,
+	.ndo_vlan_rx_add_vid	= ixgbevf_vlan_rx_add_vid,
+	.ndo_vlan_rx_kill_vid	= ixgbevf_vlan_rx_kill_vid,
 };
 
 static void ixgbevf_assign_netdev_ops(struct net_device *dev)
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 07/17] ixgbe: consolidate packet buffer allocation
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Alexander Duyck, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

Consolidate packet buffer allocation currently being
done in the DCB path and main path. This allows the
feature set and packet buffer requirements to be done
once.

This is prep work to allow DCB to coexist with other
features namely, flow director.

CC: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_82598.c     |   42 ++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_82599.c     |   39 +--------------------
 drivers/net/ixgbe/ixgbe_common.c    |   66 +++++++++++++++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_common.h    |    3 ++
 drivers/net/ixgbe/ixgbe_dcb.c       |   10 ++---
 drivers/net/ixgbe/ixgbe_dcb.h       |    7 ----
 drivers/net/ixgbe/ixgbe_dcb_82598.c |   43 +----------------------
 drivers/net/ixgbe/ixgbe_dcb_82598.h |    3 +-
 drivers/net/ixgbe/ixgbe_dcb_82599.c |   62 +--------------------------------
 drivers/net/ixgbe/ixgbe_dcb_82599.h |   14 +-------
 drivers/net/ixgbe/ixgbe_main.c      |   16 ++++++++-
 drivers/net/ixgbe/ixgbe_type.h      |   24 +++++++++++++
 drivers/net/ixgbe/ixgbe_x540.c      |    1 +
 13 files changed, 160 insertions(+), 170 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_82598.c b/drivers/net/ixgbe/ixgbe_82598.c
index 8179e50..bb417d7 100644
--- a/drivers/net/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ixgbe/ixgbe_82598.c
@@ -1242,6 +1242,47 @@ static void ixgbe_set_lan_id_multi_port_pcie_82598(struct ixgbe_hw *hw)
 	}
 }
 
+/**
+ * ixgbe_set_rxpba_82598 - Configure packet buffers
+ * @hw: pointer to hardware structure
+ * @dcb_config: pointer to ixgbe_dcb_config structure
+ *
+ * Configure packet buffers.
+ */
+static void ixgbe_set_rxpba_82598(struct ixgbe_hw *hw, int num_pb, u32 headroom,
+				  int strategy)
+{
+	u32 rxpktsize = IXGBE_RXPBSIZE_64KB;
+	u8  i = 0;
+
+	if (!num_pb)
+		return;
+
+	/* Setup Rx packet buffer sizes */
+	switch (strategy) {
+	case PBA_STRATEGY_WEIGHTED:
+		/* Setup the first four at 80KB */
+		rxpktsize = IXGBE_RXPBSIZE_80KB;
+		for (; i < 4; i++)
+			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
+		/* Setup the last four at 48KB...don't re-init i */
+		rxpktsize = IXGBE_RXPBSIZE_48KB;
+		/* Fall Through */
+	case PBA_STRATEGY_EQUAL:
+	default:
+		/* Divide the remaining Rx packet buffer evenly among the TCs */
+		for (; i < IXGBE_MAX_PACKET_BUFFERS; i++)
+			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
+		break;
+	}
+
+	/* Setup Tx packet buffer sizes */
+	for (i = 0; i < IXGBE_MAX_PACKET_BUFFERS; i++)
+		IXGBE_WRITE_REG(hw, IXGBE_TXPBSIZE(i), IXGBE_TXPBSIZE_40KB);
+
+	return;
+}
+
 static struct ixgbe_mac_operations mac_ops_82598 = {
 	.init_hw		= &ixgbe_init_hw_generic,
 	.reset_hw		= &ixgbe_reset_hw_82598,
@@ -1257,6 +1298,7 @@ static struct ixgbe_mac_operations mac_ops_82598 = {
 	.read_analog_reg8	= &ixgbe_read_analog_reg8_82598,
 	.write_analog_reg8	= &ixgbe_write_analog_reg8_82598,
 	.setup_link		= &ixgbe_setup_mac_link_82598,
+	.set_rxpba		= &ixgbe_set_rxpba_82598,
 	.check_link		= &ixgbe_check_mac_link_82598,
 	.get_link_capabilities	= &ixgbe_get_link_capabilities_82598,
 	.led_on			= &ixgbe_led_on_generic,
diff --git a/drivers/net/ixgbe/ixgbe_82599.c b/drivers/net/ixgbe/ixgbe_82599.c
index 0d7bc91..324a505 100644
--- a/drivers/net/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ixgbe/ixgbe_82599.c
@@ -1114,27 +1114,8 @@ s32 ixgbe_reinit_fdir_tables_82599(struct ixgbe_hw *hw)
 s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 pballoc)
 {
 	u32 fdirctrl = 0;
-	u32 pbsize;
 	int i;
 
-	/*
-	 * Before enabling Flow Director, the Rx Packet Buffer size
-	 * must be reduced.  The new value is the current size minus
-	 * flow director memory usage size.
-	 */
-	pbsize = (1 << (IXGBE_FDIR_PBALLOC_SIZE_SHIFT + pballoc));
-	IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(0),
-	    (IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(0)) - pbsize));
-
-	/*
-	 * The defaults in the HW for RX PB 1-7 are not zero and so should be
-	 * initialized to zero for non DCB mode otherwise actual total RX PB
-	 * would be bigger than programmed and filter space would run into
-	 * the PB 0 region.
-	 */
-	for (i = 1; i < 8; i++)
-		IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), 0);
-
 	/* Send interrupt when 64 filters are left */
 	fdirctrl |= 4 << IXGBE_FDIRCTRL_FULL_THRESH_SHIFT;
 
@@ -1202,27 +1183,8 @@ s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 pballoc)
 s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 pballoc)
 {
 	u32 fdirctrl = 0;
-	u32 pbsize;
 	int i;
 
-	/*
-	 * Before enabling Flow Director, the Rx Packet Buffer size
-	 * must be reduced.  The new value is the current size minus
-	 * flow director memory usage size.
-	 */
-	pbsize = (1 << (IXGBE_FDIR_PBALLOC_SIZE_SHIFT + pballoc));
-	IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(0),
-	    (IXGBE_READ_REG(hw, IXGBE_RXPBSIZE(0)) - pbsize));
-
-	/*
-	 * The defaults in the HW for RX PB 1-7 are not zero and so should be
-	 * initialized to zero for non DCB mode otherwise actual total RX PB
-	 * would be bigger than programmed and filter space would run into
-	 * the PB 0 region.
-	 */
-	for (i = 1; i < 8; i++)
-		IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), 0);
-
 	/* Send interrupt when 64 filters are left */
 	fdirctrl |= 4 << IXGBE_FDIRCTRL_FULL_THRESH_SHIFT;
 
@@ -2146,6 +2108,7 @@ static struct ixgbe_mac_operations mac_ops_82599 = {
 	.read_analog_reg8       = &ixgbe_read_analog_reg8_82599,
 	.write_analog_reg8      = &ixgbe_write_analog_reg8_82599,
 	.setup_link             = &ixgbe_setup_mac_link_82599,
+	.set_rxpba		= &ixgbe_set_rxpba_generic,
 	.check_link             = &ixgbe_check_mac_link_generic,
 	.get_link_capabilities  = &ixgbe_get_link_capabilities_82599,
 	.led_on                 = &ixgbe_led_on_generic,
diff --git a/drivers/net/ixgbe/ixgbe_common.c b/drivers/net/ixgbe/ixgbe_common.c
index de65643..cc2a4a1 100644
--- a/drivers/net/ixgbe/ixgbe_common.c
+++ b/drivers/net/ixgbe/ixgbe_common.c
@@ -3267,3 +3267,69 @@ s32 ixgbe_get_device_caps_generic(struct ixgbe_hw *hw, u16 *device_caps)
 
 	return 0;
 }
+
+/**
+ * ixgbe_set_rxpba_generic - Initialize RX packet buffer
+ * @hw: pointer to hardware structure
+ * @num_pb: number of packet buffers to allocate
+ * @headroom: reserve n KB of headroom
+ * @strategy: packet buffer allocation strategy
+ **/
+void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw,
+			     int num_pb,
+			     u32 headroom,
+			     int strategy)
+{
+	u32 pbsize = hw->mac.rx_pb_size;
+	int i = 0;
+	u32 rxpktsize, txpktsize, txpbthresh;
+
+	/* Reserve headroom */
+	pbsize -= headroom;
+
+	if (!num_pb)
+		num_pb = 1;
+
+	/* Divide remaining packet buffer space amongst the number
+	 * of packet buffers requested using supplied strategy.
+	 */
+	switch (strategy) {
+	case (PBA_STRATEGY_WEIGHTED):
+		/* pba_80_48 strategy weight first half of packet buffer with
+		 * 5/8 of the packet buffer space.
+		 */
+		rxpktsize = ((pbsize * 5 * 2) / (num_pb * 8));
+		pbsize -= rxpktsize * (num_pb / 2);
+		rxpktsize <<= IXGBE_RXPBSIZE_SHIFT;
+		for (; i < (num_pb / 2); i++)
+			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
+		/* Fall through to configure remaining packet buffers */
+	case (PBA_STRATEGY_EQUAL):
+		/* Divide the remaining Rx packet buffer evenly among the TCs */
+		rxpktsize = (pbsize / (num_pb - i)) << IXGBE_RXPBSIZE_SHIFT;
+		for (; i < num_pb; i++)
+			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
+		break;
+	default:
+		break;
+	}
+
+	/*
+	 * Setup Tx packet buffer and threshold equally for all TCs
+	 * TXPBTHRESH register is set in K so divide by 1024 and subtract
+	 * 10 since the largest packet we support is just over 9K.
+	 */
+	txpktsize = IXGBE_TXPBSIZE_MAX / num_pb;
+	txpbthresh = (txpktsize / 1024) - IXGBE_TXPKT_SIZE_MAX;
+	for (i = 0; i < num_pb; i++) {
+		IXGBE_WRITE_REG(hw, IXGBE_TXPBSIZE(i), txpktsize);
+		IXGBE_WRITE_REG(hw, IXGBE_TXPBTHRESH(i), txpbthresh);
+	}
+
+	/* Clear unused TCs, if any, to zero buffer size*/
+	for (; i < IXGBE_MAX_PB; i++) {
+		IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), 0);
+		IXGBE_WRITE_REG(hw, IXGBE_TXPBSIZE(i), 0);
+		IXGBE_WRITE_REG(hw, IXGBE_TXPBTHRESH(i), 0);
+	}
+}
diff --git a/drivers/net/ixgbe/ixgbe_common.h b/drivers/net/ixgbe/ixgbe_common.h
index 46be83c..32a454f 100644
--- a/drivers/net/ixgbe/ixgbe_common.h
+++ b/drivers/net/ixgbe/ixgbe_common.h
@@ -100,6 +100,9 @@ void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int pf);
 void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf);
 s32 ixgbe_get_device_caps_generic(struct ixgbe_hw *hw, u16 *device_caps);
 
+void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw, int num_pb,
+			     u32 headroom, int strategy);
+
 #define IXGBE_WRITE_REG(a, reg, value) writel((value), ((a)->hw_addr + (reg)))
 
 #ifndef writeq
diff --git a/drivers/net/ixgbe/ixgbe_dcb.c b/drivers/net/ixgbe/ixgbe_dcb.c
index 686a17a..9d88c31 100644
--- a/drivers/net/ixgbe/ixgbe_dcb.c
+++ b/drivers/net/ixgbe/ixgbe_dcb.c
@@ -258,15 +258,13 @@ s32 ixgbe_dcb_hw_config(struct ixgbe_hw *hw,
 
 	switch (hw->mac.type) {
 	case ixgbe_mac_82598EB:
-		ret = ixgbe_dcb_hw_config_82598(hw, dcb_config->rx_pba_cfg,
-						pfc_en, refill, max, bwgid,
-						ptype);
+		ret = ixgbe_dcb_hw_config_82598(hw, pfc_en, refill, max,
+						bwgid, ptype);
 		break;
 	case ixgbe_mac_82599EB:
 	case ixgbe_mac_X540:
-		ret = ixgbe_dcb_hw_config_82599(hw, dcb_config->rx_pba_cfg,
-						pfc_en, refill, max, bwgid,
-						ptype, prio_tc);
+		ret = ixgbe_dcb_hw_config_82599(hw, pfc_en, refill, max,
+						bwgid, ptype, prio_tc);
 		break;
 	default:
 		break;
diff --git a/drivers/net/ixgbe/ixgbe_dcb.h b/drivers/net/ixgbe/ixgbe_dcb.h
index 944838f..e85826a 100644
--- a/drivers/net/ixgbe/ixgbe_dcb.h
+++ b/drivers/net/ixgbe/ixgbe_dcb.h
@@ -123,11 +123,6 @@ struct tc_configuration {
 	u8 tc; /* Traffic class (TC) */
 };
 
-enum dcb_rx_pba_cfg {
-	pba_equal,     /* PBA[0-7] each use 64KB FIFO */
-	pba_80_48      /* PBA[0-3] each use 80KB, PBA[4-7] each use 48KB */
-};
-
 struct dcb_num_tcs {
 	u8 pg_tcs;
 	u8 pfc_tcs;
@@ -140,8 +135,6 @@ struct ixgbe_dcb_config {
 	u8     bw_percentage[2][MAX_BW_GROUP]; /* One each for Tx/Rx */
 	bool   pfc_mode_enable;
 
-	enum dcb_rx_pba_cfg rx_pba_cfg;
-
 	u32  dcb_cfg_version; /* Not used...OS-specific? */
 	u32  link_speed; /* For bandwidth allocation validation purpose */
 };
diff --git a/drivers/net/ixgbe/ixgbe_dcb_82598.c b/drivers/net/ixgbe/ixgbe_dcb_82598.c
index 771d01a..2288c3c 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_82598.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_82598.c
@@ -32,45 +32,6 @@
 #include "ixgbe_dcb_82598.h"
 
 /**
- * ixgbe_dcb_config_packet_buffers_82598 - Configure packet buffers
- * @hw: pointer to hardware structure
- * @dcb_config: pointer to ixgbe_dcb_config structure
- *
- * Configure packet buffers for DCB mode.
- */
-static s32 ixgbe_dcb_config_packet_buffers_82598(struct ixgbe_hw *hw, u8 rx_pba)
-{
-	s32 ret_val = 0;
-	u32 value = IXGBE_RXPBSIZE_64KB;
-	u8  i = 0;
-
-	/* Setup Rx packet buffer sizes */
-	switch (rx_pba) {
-	case pba_80_48:
-		/* Setup the first four at 80KB */
-		value = IXGBE_RXPBSIZE_80KB;
-		for (; i < 4; i++)
-			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), value);
-		/* Setup the last four at 48KB...don't re-init i */
-		value = IXGBE_RXPBSIZE_48KB;
-		/* Fall Through */
-	case pba_equal:
-	default:
-		for (; i < IXGBE_MAX_PACKET_BUFFERS; i++)
-			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), value);
-
-		/* Setup Tx packet buffer sizes */
-		for (i = 0; i < IXGBE_MAX_PACKET_BUFFERS; i++) {
-			IXGBE_WRITE_REG(hw, IXGBE_TXPBSIZE(i),
-					IXGBE_TXPBSIZE_40KB);
-		}
-		break;
-	}
-
-	return ret_val;
-}
-
-/**
  * ixgbe_dcb_config_rx_arbiter_82598 - Config Rx data arbiter
  * @hw: pointer to hardware structure
  * @dcb_config: pointer to ixgbe_dcb_config structure
@@ -321,11 +282,9 @@ static s32 ixgbe_dcb_config_tc_stats_82598(struct ixgbe_hw *hw)
  *
  * Configure dcb settings and enable dcb mode.
  */
-s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *hw,
-			      u8 rx_pba, u8 pfc_en, u16 *refill,
+s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *hw, u8 pfc_en, u16 *refill,
 			      u16 *max, u8 *bwg_id, u8 *prio_type)
 {
-	ixgbe_dcb_config_packet_buffers_82598(hw, rx_pba);
 	ixgbe_dcb_config_rx_arbiter_82598(hw, refill, max, prio_type);
 	ixgbe_dcb_config_tx_desc_arbiter_82598(hw, refill, max,
 					       bwg_id, prio_type);
diff --git a/drivers/net/ixgbe/ixgbe_dcb_82598.h b/drivers/net/ixgbe/ixgbe_dcb_82598.h
index 1e9750c..2f31893 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_82598.h
+++ b/drivers/net/ixgbe/ixgbe_dcb_82598.h
@@ -91,8 +91,7 @@ s32 ixgbe_dcb_config_tx_data_arbiter_82598(struct ixgbe_hw *hw,
 						u8 *bwg_id,
 						u8 *prio_type);
 
-s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *hw,
-			      u8 rx_pba, u8 pfc_en, u16 *refill,
+s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *hw, u8 pfc_en, u16 *refill,
 			      u16 *max, u8 *bwg_id, u8 *prio_type);
 
 #endif /* _DCB_82598_CONFIG_H */
diff --git a/drivers/net/ixgbe/ixgbe_dcb_82599.c b/drivers/net/ixgbe/ixgbe_dcb_82599.c
index d50cf78..befe8ad 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_82599.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_82599.c
@@ -31,63 +31,6 @@
 #include "ixgbe_dcb_82599.h"
 
 /**
- * ixgbe_dcb_config_packet_buffers_82599 - Configure DCB packet buffers
- * @hw: pointer to hardware structure
- * @rx_pba: method to distribute packet buffer
- *
- * Configure packet buffers for DCB mode.
- */
-static s32 ixgbe_dcb_config_packet_buffers_82599(struct ixgbe_hw *hw, u8 rx_pba)
-{
-	int num_tcs = IXGBE_MAX_PACKET_BUFFERS;
-	u32 rx_pb_size = hw->mac.rx_pb_size << IXGBE_RXPBSIZE_SHIFT;
-	u32 rxpktsize;
-	u32 txpktsize;
-	u32 txpbthresh;
-	u8  i = 0;
-
-	/*
-	 * This really means configure the first half of the TCs
-	 * (Traffic Classes) to use 5/8 of the Rx packet buffer
-	 * space.  To determine the size of the buffer for each TC,
-	 * we are multiplying the average size by 5/4 and applying
-	 * it to half of the traffic classes.
-	 */
-	if (rx_pba == pba_80_48) {
-		rxpktsize = (rx_pb_size * 5) / (num_tcs * 4);
-		rx_pb_size -= rxpktsize * (num_tcs / 2);
-		for (; i < (num_tcs / 2); i++)
-			IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
-	}
-
-	/* Divide the remaining Rx packet buffer evenly among the TCs */
-	rxpktsize = rx_pb_size / (num_tcs - i);
-	for (; i < num_tcs; i++)
-		IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
-
-	/*
-	 * Setup Tx packet buffer and threshold equally for all TCs
-	 * TXPBTHRESH register is set in K so divide by 1024 and subtract
-	 * 10 since the largest packet we support is just over 9K.
-	 */
-	txpktsize = IXGBE_TXPBSIZE_MAX / num_tcs;
-	txpbthresh = (txpktsize / 1024) - IXGBE_TXPKT_SIZE_MAX;
-	for (i = 0; i < num_tcs; i++) {
-		IXGBE_WRITE_REG(hw, IXGBE_TXPBSIZE(i), txpktsize);
-		IXGBE_WRITE_REG(hw, IXGBE_TXPBTHRESH(i), txpbthresh);
-	}
-
-	/* Clear unused TCs, if any, to zero buffer size*/
-	for (; i < MAX_TRAFFIC_CLASS; i++) {
-		IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), 0);
-		IXGBE_WRITE_REG(hw, IXGBE_TXPBSIZE(i), 0);
-		IXGBE_WRITE_REG(hw, IXGBE_TXPBTHRESH(i), 0);
-	}
-
-	return 0;
-}
-
-/**
  * ixgbe_dcb_config_rx_arbiter_82599 - Config Rx Data arbiter
  * @hw: pointer to hardware structure
  * @refill: refill credits index by traffic class
@@ -434,7 +377,6 @@ static s32 ixgbe_dcb_config_82599(struct ixgbe_hw *hw)
 /**
  * ixgbe_dcb_hw_config_82599 - Configure and enable DCB
  * @hw: pointer to hardware structure
- * @rx_pba: method to distribute packet buffer
  * @refill: refill credits index by traffic class
  * @max: max credits index by traffic class
  * @bwg_id: bandwidth grouping indexed by traffic class
@@ -443,11 +385,9 @@ static s32 ixgbe_dcb_config_82599(struct ixgbe_hw *hw)
  *
  * Configure dcb settings and enable dcb mode.
  */
-s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw,
-			      u8 rx_pba, u8 pfc_en, u16 *refill,
+s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw, u8 pfc_en, u16 *refill,
 			      u16 *max, u8 *bwg_id, u8 *prio_type, u8 *prio_tc)
 {
-	ixgbe_dcb_config_packet_buffers_82599(hw, rx_pba);
 	ixgbe_dcb_config_82599(hw);
 	ixgbe_dcb_config_rx_arbiter_82599(hw, refill, max, bwg_id,
 					  prio_type, prio_tc);
diff --git a/drivers/net/ixgbe/ixgbe_dcb_82599.h b/drivers/net/ixgbe/ixgbe_dcb_82599.h
index 2de71a5..08d1749 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_82599.h
+++ b/drivers/net/ixgbe/ixgbe_dcb_82599.h
@@ -86,17 +86,6 @@
 #define IXGBE_RTTPCS_ARBD_SHIFT 22
 #define IXGBE_RTTPCS_ARBD_DCB   0x4        /* Arbitration delay in DCB mode */
 
-#define IXGBE_TXPBSIZE_20KB     0x00005000 /* 20KB Packet Buffer */
-#define IXGBE_TXPBSIZE_40KB     0x0000A000 /* 40KB Packet Buffer */
-#define IXGBE_RXPBSIZE_48KB     0x0000C000 /* 48KB Packet Buffer */
-#define IXGBE_RXPBSIZE_64KB     0x00010000 /* 64KB Packet Buffer */
-#define IXGBE_RXPBSIZE_80KB     0x00014000 /* 80KB Packet Buffer */
-#define IXGBE_RXPBSIZE_128KB    0x00020000 /* 128KB Packet Buffer */
-#define IXGBE_TXPBSIZE_MAX	0x00028000 /* 160KB Packet Buffer*/
-
-#define IXGBE_TXPBTHRESH_DCB    0xA        /* THRESH value for DCB mode */
-#define IXGBE_TXPKT_SIZE_MAX    0xA        /* Max Tx Packet size  */
-
 /* SECTXMINIFG DCB */
 #define IXGBE_SECTX_DCB		0x00001F00 /* DCB TX Buffer IFG */
 
@@ -127,8 +116,7 @@ s32 ixgbe_dcb_config_tx_data_arbiter_82599(struct ixgbe_hw *hw,
 						u8 *prio_type,
 						u8 *prio_tc);
 
-s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw,
-			      u8 rx_pba, u8 pfc_en, u16 *refill,
+s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw, u8 pfc_en, u16 *refill,
 			      u16 *max, u8 *bwg_id, u8 *prio_type,
 			      u8 *prio_tc);
 
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 06cfaf3..fba1e323 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -3780,12 +3780,27 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
 }
 
 #endif
+
+static void ixgbe_configure_pb(struct ixgbe_adapter *adapter)
+{
+	int hdrm = 0;
+	int num_tc = netdev_get_num_tc(adapter->netdev);
+	struct ixgbe_hw *hw = &adapter->hw;
+
+	if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE ||
+	    adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)
+		hdrm = 64 << adapter->fdir_pballoc;
+
+	hw->mac.ops.set_rxpba(&adapter->hw, num_tc, hdrm, PBA_STRATEGY_EQUAL);
+}
+
 static void ixgbe_configure(struct ixgbe_adapter *adapter)
 {
 	struct net_device *netdev = adapter->netdev;
 	struct ixgbe_hw *hw = &adapter->hw;
 	int i;
 
+	ixgbe_configure_pb(adapter);
 #ifdef CONFIG_IXGBE_DCB
 	ixgbe_configure_dcb(adapter);
 #endif
@@ -5251,7 +5266,6 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
 	}
 	adapter->dcb_cfg.bw_percentage[DCB_TX_CONFIG][0] = 100;
 	adapter->dcb_cfg.bw_percentage[DCB_RX_CONFIG][0] = 100;
-	adapter->dcb_cfg.rx_pba_cfg = pba_equal;
 	adapter->dcb_cfg.pfc_mode_enable = false;
 	adapter->dcb_set_bitmap = 0x00;
 	adapter->dcbx_cap = DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_CEE;
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index fa43f25..c0849a6 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -1118,6 +1118,27 @@
 #define IXGBE_GPIE_VTMODE_32     0x00008000 /* 32 VFs 4 queues per VF */
 #define IXGBE_GPIE_VTMODE_64     0x0000C000 /* 64 VFs 2 queues per VF */
 
+/* Packet Buffer Initialization */
+#define IXGBE_TXPBSIZE_20KB     0x00005000 /* 20KB Packet Buffer */
+#define IXGBE_TXPBSIZE_40KB     0x0000A000 /* 40KB Packet Buffer */
+#define IXGBE_RXPBSIZE_48KB     0x0000C000 /* 48KB Packet Buffer */
+#define IXGBE_RXPBSIZE_64KB     0x00010000 /* 64KB Packet Buffer */
+#define IXGBE_RXPBSIZE_80KB     0x00014000 /* 80KB Packet Buffer */
+#define IXGBE_RXPBSIZE_128KB    0x00020000 /* 128KB Packet Buffer */
+#define IXGBE_RXPBSIZE_MAX      0x00080000 /* 512KB Packet Buffer*/
+#define IXGBE_TXPBSIZE_MAX      0x00028000 /* 160KB Packet Buffer*/
+
+#define IXGBE_TXPKT_SIZE_MAX    0xA        /* Max Tx Packet size  */
+#define IXGBE_MAX_PB		8
+
+/* Packet buffer allocation strategies */
+enum {
+	PBA_STRATEGY_EQUAL	= 0,	/* Distribute PB space equally */
+#define PBA_STRATEGY_EQUAL	PBA_STRATEGY_EQUAL
+	PBA_STRATEGY_WEIGHTED	= 1,	/* Weight front half of TCs */
+#define PBA_STRATEGY_WEIGHTED	PBA_STRATEGY_WEIGHTED
+};
+
 /* Transmit Flow Control status */
 #define IXGBE_TFCS_TXOFF         0x00000001
 #define IXGBE_TFCS_TXOFF0        0x00000100
@@ -2615,6 +2636,9 @@ struct ixgbe_mac_operations {
 	s32 (*get_link_capabilities)(struct ixgbe_hw *, ixgbe_link_speed *,
 	                             bool *);
 
+	/* Packet Buffer Manipulation */
+	void (*set_rxpba)(struct ixgbe_hw *, int, u32, int);
+
 	/* LED */
 	s32 (*led_on)(struct ixgbe_hw *, u32);
 	s32 (*led_off)(struct ixgbe_hw *, u32);
diff --git a/drivers/net/ixgbe/ixgbe_x540.c b/drivers/net/ixgbe/ixgbe_x540.c
index 4ed687b..fa566ed 100644
--- a/drivers/net/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ixgbe/ixgbe_x540.c
@@ -876,6 +876,7 @@ static struct ixgbe_mac_operations mac_ops_X540 = {
 	.read_analog_reg8       = NULL,
 	.write_analog_reg8      = NULL,
 	.setup_link             = &ixgbe_setup_mac_link_X540,
+	.set_rxpba		= &ixgbe_set_rxpba_generic,
 	.check_link             = &ixgbe_check_mac_link_generic,
 	.get_link_capabilities  = &ixgbe_get_copper_link_capabilities_generic,
 	.led_on                 = &ixgbe_led_on_generic,
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 11/17] ixgbe: DCB 82598 devices, tx_idx and rx_idx swapped
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

The tx_idx and rx_idx values are swapped on 82598 devices
with DCB enabled.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 3a88fb6..f829d36 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -4636,8 +4636,8 @@ static void ixgbe_get_first_reg_idx(struct ixgbe_adapter *adapter, u8 tc,
 
 	switch (hw->mac.type) {
 	case ixgbe_mac_82598EB:
-		*tx = tc << 3;
-		*rx = tc << 2;
+		*tx = tc << 2;
+		*rx = tc << 3;
 		break;
 	case ixgbe_mac_82599EB:
 	case ixgbe_mac_X540:
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 10/17] ixgbe: DCB use existing TX and RX queues
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

The number of TX and RX queues allocated depends on the device
type, the current features set, online CPUs, and various
compile flags.

To enable DCB with multiple queues and allow it to coexist with
all the features currently implemented it has to setup a valid
queue count. This is done at init time using the FDIR and RSS
max queue counts and allowing each TC to allocate a queue per
CPU.

DCB will now use available queues up to (8 x TCs) this is somewhat
arbitrary cap but allows DCB to use up to 64 queues. Its easy to
increase this later if that is needed.

This is prep work to enable Flow Director with DCB. After this
DCB can easily coexist with existing features and no longer
needs its own DCB feature ring.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe.h      |    2 -
 drivers/net/ixgbe/ixgbe_main.c |  107 ++++++++++++++++++---------------------
 2 files changed, 49 insertions(+), 60 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index e467b20..d5674fc 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -244,7 +244,6 @@ struct ixgbe_ring {
 
 enum ixgbe_ring_f_enum {
 	RING_F_NONE = 0,
-	RING_F_DCB,
 	RING_F_VMDQ,  /* SR-IOV uses the same ring feature */
 	RING_F_RSS,
 	RING_F_FDIR,
@@ -255,7 +254,6 @@ enum ixgbe_ring_f_enum {
 	RING_F_ARRAY_SIZE      /* must be last in enum set */
 };
 
-#define IXGBE_MAX_DCB_INDICES  64
 #define IXGBE_MAX_RSS_INDICES  16
 #define IXGBE_MAX_VMDQ_INDICES 64
 #define IXGBE_MAX_FDIR_INDICES 64
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 7e3850a..3a88fb6 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -4417,72 +4417,72 @@ static inline bool ixgbe_set_fcoe_queues(struct ixgbe_adapter *adapter)
 	if (!(adapter->flags & IXGBE_FLAG_FCOE_ENABLED))
 		return false;
 
-	if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
-#ifdef CONFIG_IXGBE_DCB
-		int tc;
-		struct net_device *dev = adapter->netdev;
+	f->indices = min((int)num_online_cpus(), f->indices);
 
-		tc = netdev_get_prio_tc_map(dev, adapter->fcoe.up);
-		f->indices = dev->tc_to_txq[tc].count;
-		f->mask = dev->tc_to_txq[tc].offset;
-#endif
-	} else {
-		f->indices = min((int)num_online_cpus(), f->indices);
-
-		adapter->num_rx_queues = 1;
-		adapter->num_tx_queues = 1;
+	adapter->num_rx_queues = 1;
+	adapter->num_tx_queues = 1;
 
-		if (adapter->flags & IXGBE_FLAG_RSS_ENABLED) {
-			e_info(probe, "FCoE enabled with RSS\n");
-			if ((adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) ||
-			    (adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
-				ixgbe_set_fdir_queues(adapter);
-			else
-				ixgbe_set_rss_queues(adapter);
-		}
-		/* adding FCoE rx rings to the end */
-		f->mask = adapter->num_rx_queues;
-		adapter->num_rx_queues += f->indices;
-		adapter->num_tx_queues += f->indices;
+	if (adapter->flags & IXGBE_FLAG_RSS_ENABLED) {
+		e_info(probe, "FCoE enabled with RSS\n");
+		if ((adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) ||
+		    (adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE))
+			ixgbe_set_fdir_queues(adapter);
+		else
+			ixgbe_set_rss_queues(adapter);
 	}
+	/* adding FCoE rx rings to the end */
+	f->mask = adapter->num_rx_queues;
+	adapter->num_rx_queues += f->indices;
+	adapter->num_tx_queues += f->indices;
 
 	return true;
 }
 #endif /* IXGBE_FCOE */
 
+/* Artificial max queue cap per traffic class in DCB mode */
+#define DCB_QUEUE_CAP 8
+
 #ifdef CONFIG_IXGBE_DCB
 static inline bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter)
 {
-	bool ret = false;
-	struct ixgbe_ring_feature *f = &adapter->ring_feature[RING_F_DCB];
-	int tcs = netdev_get_num_tc(adapter->netdev);
-	int max_q, i, q;
+	int per_tc_q, q, i, offset = 0;
+	struct net_device *dev = adapter->netdev;
+	int tcs = netdev_get_num_tc(dev);
 
-	if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED) || !tcs)
-		return ret;
+	if (!tcs)
+		return false;
 
-	max_q = adapter->netdev->num_tx_queues / tcs;
+	/* Map queue offset and counts onto allocated tx queues */
+	per_tc_q = min(dev->num_tx_queues / tcs, (unsigned int)DCB_QUEUE_CAP);
+	q = min((int)num_online_cpus(), per_tc_q);
 
-	f->indices = 0;
 	for (i = 0; i < tcs; i++) {
-		q = min((int)num_online_cpus(), max_q);
-		f->indices += q;
+		netdev_set_prio_tc_map(dev, i, i);
+		netdev_set_tc_queue(dev, i, q, offset);
+		offset += q;
 	}
 
-	f->mask = 0x7 << 3;
-	adapter->num_rx_queues = f->indices;
-	adapter->num_tx_queues = f->indices;
-	ret = true;
+	adapter->num_tx_queues = q * tcs;
+	adapter->num_rx_queues = q * tcs;
 
 #ifdef IXGBE_FCOE
-	/* FCoE enabled queues require special configuration done through
-	 * configure_fcoe() and others. Here we map FCoE indices onto the
-	 * DCB queue pairs allowing FCoE to own configuration later.
+	/* FCoE enabled queues require special configuration indexed
+	 * by feature specific indices and mask. Here we map FCoE
+	 * indices onto the DCB queue pairs allowing FCoE to own
+	 * configuration later.
 	 */
-	ixgbe_set_fcoe_queues(adapter);
+	if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
+		int tc;
+		struct ixgbe_ring_feature *f =
+					&adapter->ring_feature[RING_F_FCOE];
+
+		tc = netdev_get_prio_tc_map(dev, adapter->fcoe.up);
+		f->indices = dev->tc_to_txq[tc].count;
+		f->mask = dev->tc_to_txq[tc].offset;
+	}
 #endif
 
-	return ret;
+	return true;
 }
 #endif
 
@@ -5172,7 +5172,6 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
 	rss = min(IXGBE_MAX_RSS_INDICES, (int)num_online_cpus());
 	adapter->ring_feature[RING_F_RSS].indices = rss;
 	adapter->flags |= IXGBE_FLAG_RSS_ENABLED;
-	adapter->ring_feature[RING_F_DCB].indices = IXGBE_MAX_DCB_INDICES;
 	switch (hw->mac.type) {
 	case ixgbe_mac_82598EB:
 		if (hw->device_id == IXGBE_DEV_ID_82598AT)
@@ -7213,10 +7212,8 @@ static void ixgbe_validate_rtr(struct ixgbe_adapter *adapter, u8 tc)
  */
 int ixgbe_setup_tc(struct net_device *dev, u8 tc)
 {
-	unsigned int q, i, offset = 0;
 	struct ixgbe_adapter *adapter = netdev_priv(dev);
 	struct ixgbe_hw *hw = &adapter->hw;
-	int max_q = adapter->netdev->num_tx_queues / tc;
 
 	/* If DCB is anabled do not remove traffic classes, multiple
 	 * traffic classes are required to implement DCB
@@ -7242,14 +7239,6 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc)
 	else
 		netdev_reset_tc(dev);
 
-	/* Partition Tx queues evenly amongst traffic classes */
-	for (i = 0; i < tc; i++) {
-		q = min((int)num_online_cpus(), max_q);
-		netdev_set_prio_tc_map(dev, i, i);
-		netdev_set_tc_queue(dev, i, q, offset);
-		offset += q;
-	}
-
 	ixgbe_init_interrupt_scheme(adapter);
 	ixgbe_validate_rtr(adapter, tc);
 	if (netif_running(dev))
@@ -7436,14 +7425,16 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 	pci_set_master(pdev);
 	pci_save_state(pdev);
 
+#ifdef CONFIG_IXGBE_DCB
+	indices *= MAX_TRAFFIC_CLASS;
+#endif
+
 	if (ii->mac == ixgbe_mac_82598EB)
 		indices = min_t(unsigned int, indices, IXGBE_MAX_RSS_INDICES);
 	else
 		indices = min_t(unsigned int, indices, IXGBE_MAX_FDIR_INDICES);
 
-#if defined(CONFIG_DCB)
-	indices = max_t(unsigned int, indices, IXGBE_MAX_DCB_INDICES);
-#elif defined(IXGBE_FCOE)
+#ifdef IXGBE_FCOE
 	indices += min_t(unsigned int, num_possible_cpus(),
 			 IXGBE_MAX_FCOE_INDICES);
 #endif
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 12/17] ixgbe: setup redirection table for multiple packet buffers
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

Setup RSS redirection table to be compatible with multiple packet
buffers. Currently, this works on 82599 devices because the RSS
redirection index is masked by the number of queues per packet
buffer.

This sets the cap on the RSS table to maxq.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_main.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index f829d36..e81dc85 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2939,6 +2939,10 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
 	u32 rxcsum;
 	int i, j;
 	u8 tcs = netdev_get_num_tc(adapter->netdev);
+	int maxq = adapter->ring_feature[RING_F_RSS].indices;
+
+	if (tcs)
+		maxq = min(maxq, adapter->num_tx_queues / tcs);
 
 	/* Fill out hash function seeds */
 	for (i = 0; i < 10; i++)
@@ -2946,7 +2950,7 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
 
 	/* Fill out redirection table */
 	for (i = 0, j = 0; i < 128; i++, j++) {
-		if (j == adapter->ring_feature[RING_F_RSS].indices)
+		if (j == maxq)
 			j = 0;
 		/* reta = 4-byte sliding window of
 		 * 0x00..(indices-1)(indices-1)00..etc. */
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 15/17] ixgbe: DCB, remove unneeded ixgbe_dcb_txq_to_tc() routine
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

The ixgbe_dcb_txq_to_tc() routine was used to map TX rings to
a DCB traffic class. Now that a tx_ring has a DCB traffic class
associated with it this routine is no longer needed.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_main.c |   58 +---------------------------------------
 1 files changed, 1 insertions(+), 57 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 5caf42a..295ab6d 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -665,62 +665,6 @@ void ixgbe_unmap_and_free_tx_resource(struct ixgbe_ring *tx_ring,
 	/* tx_buffer_info must be completely set up in the transmit path */
 }
 
-/**
- * ixgbe_dcb_txq_to_tc - convert a reg index to a traffic class
- * @adapter: driver private struct
- * @index: reg idx of queue to query (0-127)
- *
- * Helper function to determine the traffic index for a particular
- * register index.
- *
- * Returns : a tc index for use in range 0-7, or 0-3
- */
-static u8 ixgbe_dcb_txq_to_tc(struct ixgbe_adapter *adapter, u8 reg_idx)
-{
-	int tc = -1;
-	int dcb_i = netdev_get_num_tc(adapter->netdev);
-
-	/* if DCB is not enabled the queues have no TC */
-	if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
-		return tc;
-
-	/* check valid range */
-	if (reg_idx >= adapter->hw.mac.max_tx_queues)
-		return tc;
-
-	switch (adapter->hw.mac.type) {
-	case ixgbe_mac_82598EB:
-		tc = reg_idx >> 2;
-		break;
-	default:
-		if (dcb_i != 4 && dcb_i != 8)
-			break;
-
-		/* if VMDq is enabled the lowest order bits determine TC */
-		if (adapter->flags & (IXGBE_FLAG_SRIOV_ENABLED |
-				      IXGBE_FLAG_VMDQ_ENABLED)) {
-			tc = reg_idx & (dcb_i - 1);
-			break;
-		}
-
-		/*
-		 * Convert the reg_idx into the correct TC. This bitmask
-		 * targets the last full 32 ring traffic class and assigns
-		 * it a value of 1. From there the rest of the rings are
-		 * based on shifting the mask further up to include the
-		 * reg_idx / 16 and then reg_idx / 8. It assumes dcB_i
-		 * will only ever be 8 or 4 and that reg_idx will never
-		 * be greater then 128. The code without the power of 2
-		 * optimizations would be:
-		 * (((reg_idx % 32) + 32) * dcb_i) >> (9 - reg_idx / 32)
-		 */
-		tc = ((reg_idx & 0X1F) + 0x20) * dcb_i;
-		tc >>= 9 - (reg_idx >> 5);
-	}
-
-	return tc;
-}
-
 static void ixgbe_update_xoff_received(struct ixgbe_adapter *adapter)
 {
 	struct ixgbe_hw *hw = &adapter->hw;
@@ -766,7 +710,7 @@ static void ixgbe_update_xoff_received(struct ixgbe_adapter *adapter)
 	/* disarm tx queues that have received xoff frames */
 	for (i = 0; i < adapter->num_tx_queues; i++) {
 		struct ixgbe_ring *tx_ring = adapter->tx_ring[i];
-		u32 tc = ixgbe_dcb_txq_to_tc(adapter, tx_ring->reg_idx);
+		u8 tc = tx_ring->dcb_tc;
 
 		if (xoff[tc])
 			clear_bit(__IXGBE_HANG_CHECK_ARMED, &tx_ring->state);
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 14/17] ixgbe: DCB and perfect filters can coexist
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

Now flow directors perfect filters features can coexist with DCB.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_dcb_nl.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c
index b229feb..08c7aeb 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c
@@ -135,7 +135,6 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
 		case ixgbe_mac_82599EB:
 		case ixgbe_mac_X540:
 			adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
-			adapter->flags &= ~IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
 			break;
 		default:
 			break;
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 13/17] ixgbe: fix bit mask for DCB version
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: John Fastabend, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>

This bit mask is wrong DCBX_HOST is always set. It was missed up
until now because lldpad reprograms the device on a link
event. However this is still wrong and it is best not to be
mis-configured for some time immediately following ixgbe_up().

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index e81dc85..5caf42a 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -3745,7 +3745,7 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
 	hw->mac.ops.set_vfta(&adapter->hw, 0, 0, true);
 
 	/* reconfigure the hardware */
-	if (adapter->dcbx_cap & (DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_CEE)) {
+	if (adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE) {
 #ifdef CONFIG_FCOE
 		if (adapter->netdev->features & NETIF_F_FCOE_MTU)
 			max_frame = max(max_frame, IXGBE_FCOE_JUMBO_FRAME_SIZE);
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 17/17] ixgbe: setup per CPU PCI pool for FCoE DDP
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Vasu Dev, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Vasu Dev <vasu.dev@intel.com>

Currently single PCI pool used across all CPUs and that
doesn't scales up as number of CPU increases, so this
patch adds per CPU PCI pool to setup udl and that aligns
well from FCoE stack as that already has per CPU exch locking.

Adds per CPU PCI alloc setup and free in
ixgbe_fcoe_ddp_pools_alloc and ixgbe_fcoe_ddp_pools_free,
use CPU specific pool during DDP setup.

Re-arranged ixgbe_fcoe struct to have fewer holes
along with adding pools ptr using pahole.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_fcoe.c |  105 ++++++++++++++++++++++++++++-----------
 drivers/net/ixgbe/ixgbe_fcoe.h |   13 +++--
 2 files changed, 82 insertions(+), 36 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fcoe.c b/drivers/net/ixgbe/ixgbe_fcoe.c
index 0592072..f5f39ed 100644
--- a/drivers/net/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ixgbe/ixgbe_fcoe.c
@@ -128,7 +128,11 @@ int ixgbe_fcoe_ddp_put(struct net_device *netdev, u16 xid)
 	if (ddp->sgl)
 		pci_unmap_sg(adapter->pdev, ddp->sgl, ddp->sgc,
 			     DMA_FROM_DEVICE);
-	pci_pool_free(fcoe->pool, ddp->udl, ddp->udp);
+	if (ddp->pool) {
+		pci_pool_free(ddp->pool, ddp->udl, ddp->udp);
+		ddp->pool = NULL;
+	}
+
 	ixgbe_fcoe_clear_ddp(ddp);
 
 out_ddp_put:
@@ -163,6 +167,7 @@ static int ixgbe_fcoe_ddp_setup(struct net_device *netdev, u16 xid,
 	unsigned int thislen = 0;
 	u32 fcbuff, fcdmarw, fcfltrw, fcrxctl;
 	dma_addr_t addr = 0;
+	struct pci_pool *pool;
 
 	if (!netdev || !sgl)
 		return 0;
@@ -199,12 +204,14 @@ static int ixgbe_fcoe_ddp_setup(struct net_device *netdev, u16 xid,
 		return 0;
 	}
 
-	/* alloc the udl from our ddp pool */
-	ddp->udl = pci_pool_alloc(fcoe->pool, GFP_ATOMIC, &ddp->udp);
+	/* alloc the udl from per cpu ddp pool */
+	pool = *per_cpu_ptr(fcoe->pool, get_cpu());
+	ddp->udl = pci_pool_alloc(pool, GFP_ATOMIC, &ddp->udp);
 	if (!ddp->udl) {
 		e_err(drv, "failed allocated ddp context\n");
 		goto out_noddp_unmap;
 	}
+	ddp->pool = pool;
 	ddp->sgl = sgl;
 	ddp->sgc = sgc;
 
@@ -268,6 +275,7 @@ static int ixgbe_fcoe_ddp_setup(struct net_device *netdev, u16 xid,
 		j++;
 		lastsize = 1;
 	}
+	put_cpu();
 
 	fcbuff = (IXGBE_FCBUFF_4KB << IXGBE_FCBUFF_BUFFSIZE_SHIFT);
 	fcbuff |= ((j & 0xff) << IXGBE_FCBUFF_BUFFCNT_SHIFT);
@@ -311,11 +319,12 @@ static int ixgbe_fcoe_ddp_setup(struct net_device *netdev, u16 xid,
 	return 1;
 
 out_noddp_free:
-	pci_pool_free(fcoe->pool, ddp->udl, ddp->udp);
+	pci_pool_free(pool, ddp->udl, ddp->udp);
 	ixgbe_fcoe_clear_ddp(ddp);
 
 out_noddp_unmap:
 	pci_unmap_sg(adapter->pdev, sgl, sgc, DMA_FROM_DEVICE);
+	put_cpu();
 	return 0;
 }
 
@@ -585,6 +594,46 @@ int ixgbe_fso(struct ixgbe_adapter *adapter,
 	return skb_is_gso(skb);
 }
 
+static void ixgbe_fcoe_ddp_pools_free(struct ixgbe_fcoe *fcoe)
+{
+	unsigned int cpu;
+	struct pci_pool **pool;
+
+	for_each_possible_cpu(cpu) {
+		pool = per_cpu_ptr(fcoe->pool, cpu);
+		if (*pool)
+			pci_pool_destroy(*pool);
+	}
+	free_percpu(fcoe->pool);
+	fcoe->pool = NULL;
+}
+
+static void ixgbe_fcoe_ddp_pools_alloc(struct ixgbe_adapter *adapter)
+{
+	struct ixgbe_fcoe *fcoe = &adapter->fcoe;
+	unsigned int cpu;
+	struct pci_pool **pool;
+	char pool_name[32];
+
+	fcoe->pool = alloc_percpu(struct pci_pool *);
+	if (!fcoe->pool)
+		return;
+
+	/* allocate pci pool for each cpu */
+	for_each_possible_cpu(cpu) {
+		snprintf(pool_name, 32, "ixgbe_fcoe_ddp_%d", cpu);
+		pool = per_cpu_ptr(fcoe->pool, cpu);
+		*pool = pci_pool_create(pool_name,
+					adapter->pdev, IXGBE_FCPTR_MAX,
+					IXGBE_FCPTR_ALIGN, PAGE_SIZE);
+		if (!*pool) {
+			e_err(drv, "failed to alloc DDP pool on cpu:%d\n", cpu);
+			ixgbe_fcoe_ddp_pools_free(fcoe);
+			return;
+		}
+	}
+}
+
 /**
  * ixgbe_configure_fcoe - configures registers for fcoe at start
  * @adapter: ptr to ixgbe adapter
@@ -604,22 +653,20 @@ void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter)
 	u32 up2tc;
 #endif
 
-	/* create the pool for ddp if not created yet */
 	if (!fcoe->pool) {
-		/* allocate ddp pool */
-		fcoe->pool = pci_pool_create("ixgbe_fcoe_ddp",
-					     adapter->pdev, IXGBE_FCPTR_MAX,
-					     IXGBE_FCPTR_ALIGN, PAGE_SIZE);
-		if (!fcoe->pool)
-			e_err(drv, "failed to allocated FCoE DDP pool\n");
-
 		spin_lock_init(&fcoe->lock);
 
+		ixgbe_fcoe_ddp_pools_alloc(adapter);
+		if (!fcoe->pool) {
+			e_err(drv, "failed to alloc percpu fcoe DDP pools\n");
+			return;
+		}
+
 		/* Extra buffer to be shared by all DDPs for HW work around */
 		fcoe->extra_ddp_buffer = kmalloc(IXGBE_FCBUFF_MIN, GFP_ATOMIC);
 		if (fcoe->extra_ddp_buffer == NULL) {
 			e_err(drv, "failed to allocated extra DDP buffer\n");
-			goto out_extra_ddp_buffer_alloc;
+			goto out_ddp_pools;
 		}
 
 		fcoe->extra_ddp_buffer_dma =
@@ -630,7 +677,7 @@ void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter)
 		if (dma_mapping_error(&adapter->pdev->dev,
 				      fcoe->extra_ddp_buffer_dma)) {
 			e_err(drv, "failed to map extra DDP buffer\n");
-			goto out_extra_ddp_buffer_dma;
+			goto out_extra_ddp_buffer;
 		}
 	}
 
@@ -684,11 +731,10 @@ void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter)
 
 	return;
 
-out_extra_ddp_buffer_dma:
+out_extra_ddp_buffer:
 	kfree(fcoe->extra_ddp_buffer);
-out_extra_ddp_buffer_alloc:
-	pci_pool_destroy(fcoe->pool);
-	fcoe->pool = NULL;
+out_ddp_pools:
+	ixgbe_fcoe_ddp_pools_free(fcoe);
 }
 
 /**
@@ -704,18 +750,17 @@ void ixgbe_cleanup_fcoe(struct ixgbe_adapter *adapter)
 	int i;
 	struct ixgbe_fcoe *fcoe = &adapter->fcoe;
 
-	/* release ddp resource */
-	if (fcoe->pool) {
-		for (i = 0; i < IXGBE_FCOE_DDP_MAX; i++)
-			ixgbe_fcoe_ddp_put(adapter->netdev, i);
-		dma_unmap_single(&adapter->pdev->dev,
-				 fcoe->extra_ddp_buffer_dma,
-				 IXGBE_FCBUFF_MIN,
-				 DMA_FROM_DEVICE);
-		kfree(fcoe->extra_ddp_buffer);
-		pci_pool_destroy(fcoe->pool);
-		fcoe->pool = NULL;
-	}
+	if (!fcoe->pool)
+		return;
+
+	for (i = 0; i < IXGBE_FCOE_DDP_MAX; i++)
+		ixgbe_fcoe_ddp_put(adapter->netdev, i);
+	dma_unmap_single(&adapter->pdev->dev,
+			 fcoe->extra_ddp_buffer_dma,
+			 IXGBE_FCBUFF_MIN,
+			 DMA_FROM_DEVICE);
+	kfree(fcoe->extra_ddp_buffer);
+	ixgbe_fcoe_ddp_pools_free(fcoe);
 }
 
 /**
diff --git a/drivers/net/ixgbe/ixgbe_fcoe.h b/drivers/net/ixgbe/ixgbe_fcoe.h
index 5a650a4..d876e7a 100644
--- a/drivers/net/ixgbe/ixgbe_fcoe.h
+++ b/drivers/net/ixgbe/ixgbe_fcoe.h
@@ -62,20 +62,21 @@ struct ixgbe_fcoe_ddp {
 	struct scatterlist *sgl;
 	dma_addr_t udp;
 	u64 *udl;
+	struct pci_pool *pool;
 };
 
 struct ixgbe_fcoe {
-#ifdef CONFIG_IXGBE_DCB
-	u8 tc;
-	u8 up;
-#endif
-	unsigned long mode;
+	struct pci_pool **pool;
 	atomic_t refcnt;
 	spinlock_t lock;
-	struct pci_pool *pool;
 	struct ixgbe_fcoe_ddp ddp[IXGBE_FCOE_DDP_MAX];
 	unsigned char *extra_ddp_buffer;
 	dma_addr_t extra_ddp_buffer_dma;
+	unsigned long mode;
+#ifdef CONFIG_IXGBE_DCB
+	u8 tc;
+	u8 up;
+#endif
 };
 
 #endif /* _IXGBE_FCOE_H */
-- 
1.7.5.4


^ permalink raw reply related

* [net-next 16/17] ixgbe: add support for Dell CEM
From: Jeff Kirsher @ 2011-06-20  0:58 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, Jeff Kirsher
In-Reply-To: <1308531518-17298-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Emil Tantilov <emil.s.tantilov@intel.com>

This patch adds support for Dell CEM (Comprehensive Embedded Management)).
This consists of informing the management firmware of the driver version
during probe on 82599 and X540 HW.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Evan Swanson <evan.swanson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe_82598.c  |    1 +
 drivers/net/ixgbe/ixgbe_82599.c  |    1 +
 drivers/net/ixgbe/ixgbe_common.c |  174 ++++++++++++++++++++++++++++++++++++++
 drivers/net/ixgbe/ixgbe_common.h |    2 +
 drivers/net/ixgbe/ixgbe_main.c   |    4 +
 drivers/net/ixgbe/ixgbe_type.h   |   46 ++++++++++
 drivers/net/ixgbe/ixgbe_x540.c   |    1 +
 7 files changed, 229 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_82598.c b/drivers/net/ixgbe/ixgbe_82598.c
index bb417d7..0d4e382 100644
--- a/drivers/net/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ixgbe/ixgbe_82598.c
@@ -1316,6 +1316,7 @@ static struct ixgbe_mac_operations mac_ops_82598 = {
 	.clear_vfta		= &ixgbe_clear_vfta_82598,
 	.set_vfta		= &ixgbe_set_vfta_82598,
 	.fc_enable		= &ixgbe_fc_enable_82598,
+	.set_fw_drv_ver         = NULL,
 	.acquire_swfw_sync      = &ixgbe_acquire_swfw_sync,
 	.release_swfw_sync      = &ixgbe_release_swfw_sync,
 };
diff --git a/drivers/net/ixgbe/ixgbe_82599.c b/drivers/net/ixgbe/ixgbe_82599.c
index 324a505..4a6826b 100644
--- a/drivers/net/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ixgbe/ixgbe_82599.c
@@ -2126,6 +2126,7 @@ static struct ixgbe_mac_operations mac_ops_82599 = {
 	.clear_vfta             = &ixgbe_clear_vfta_generic,
 	.set_vfta               = &ixgbe_set_vfta_generic,
 	.fc_enable              = &ixgbe_fc_enable_generic,
+	.set_fw_drv_ver         = &ixgbe_set_fw_drv_ver_generic,
 	.init_uta_tables        = &ixgbe_init_uta_tables_generic,
 	.setup_sfp              = &ixgbe_setup_sfp_modules_82599,
 	.set_mac_anti_spoofing  = &ixgbe_set_mac_anti_spoofing,
diff --git a/drivers/net/ixgbe/ixgbe_common.c b/drivers/net/ixgbe/ixgbe_common.c
index cc2a4a1..777051f 100644
--- a/drivers/net/ixgbe/ixgbe_common.c
+++ b/drivers/net/ixgbe/ixgbe_common.c
@@ -3333,3 +3333,177 @@ void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw,
 		IXGBE_WRITE_REG(hw, IXGBE_TXPBTHRESH(i), 0);
 	}
 }
+
+/**
+ *  ixgbe_calculate_checksum - Calculate checksum for buffer
+ *  @buffer: pointer to EEPROM
+ *  @length: size of EEPROM to calculate a checksum for
+ *  Calculates the checksum for some buffer on a specified length.  The
+ *  checksum calculated is returned.
+ **/
+static u8 ixgbe_calculate_checksum(u8 *buffer, u32 length)
+{
+	u32 i;
+	u8 sum = 0;
+
+	if (!buffer)
+		return 0;
+
+	for (i = 0; i < length; i++)
+		sum += buffer[i];
+
+	return (u8) (0 - sum);
+}
+
+/**
+ *  ixgbe_host_interface_command - Issue command to manageability block
+ *  @hw: pointer to the HW structure
+ *  @buffer: contains the command to write and where the return status will
+ *           be placed
+ *  @lenght: lenght of buffer, must be multiple of 4 bytes
+ *
+ *  Communicates with the manageability block.  On success return 0
+ *  else return IXGBE_ERR_HOST_INTERFACE_COMMAND.
+ **/
+static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u8 *buffer,
+					u32 length)
+{
+	u32 hicr, i;
+	u32 hdr_size = sizeof(struct ixgbe_hic_hdr);
+	u8 buf_len, dword_len;
+
+	s32 ret_val = 0;
+
+	if (length == 0 || length & 0x3 ||
+	    length > IXGBE_HI_MAX_BLOCK_BYTE_LENGTH) {
+		hw_dbg(hw, "Buffer length failure.\n");
+		ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+		goto out;
+	}
+
+	/* Check that the host interface is enabled. */
+	hicr = IXGBE_READ_REG(hw, IXGBE_HICR);
+	if ((hicr & IXGBE_HICR_EN) == 0) {
+		hw_dbg(hw, "IXGBE_HOST_EN bit disabled.\n");
+		ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+		goto out;
+	}
+
+	/* Calculate length in DWORDs */
+	dword_len = length >> 2;
+
+	/*
+	 * The device driver writes the relevant command block
+	 * into the ram area.
+	 */
+	for (i = 0; i < dword_len; i++)
+		IXGBE_WRITE_REG_ARRAY(hw, IXGBE_FLEX_MNG,
+				      i, *((u32 *)buffer + i));
+
+	/* Setting this bit tells the ARC that a new command is pending. */
+	IXGBE_WRITE_REG(hw, IXGBE_HICR, hicr | IXGBE_HICR_C);
+
+	for (i = 0; i < IXGBE_HI_COMMAND_TIMEOUT; i++) {
+		hicr = IXGBE_READ_REG(hw, IXGBE_HICR);
+		if (!(hicr & IXGBE_HICR_C))
+			break;
+		usleep_range(1000, 2000);
+	}
+
+	/* Check command successful completion. */
+	if (i == IXGBE_HI_COMMAND_TIMEOUT ||
+	    (!(IXGBE_READ_REG(hw, IXGBE_HICR) & IXGBE_HICR_SV))) {
+		hw_dbg(hw, "Command has failed with no status valid.\n");
+		ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+		goto out;
+	}
+
+	/* Calculate length in DWORDs */
+	dword_len = hdr_size >> 2;
+
+	/* first pull in the header so we know the buffer length */
+	for (i = 0; i < dword_len; i++)
+		*((u32 *)buffer + i) =
+			IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG, i);
+
+	/* If there is any thing in data position pull it in */
+	buf_len = ((struct ixgbe_hic_hdr *)buffer)->buf_len;
+	if (buf_len == 0)
+		goto out;
+
+	if (length < (buf_len + hdr_size)) {
+		hw_dbg(hw, "Buffer not large enough for reply message.\n");
+		ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+		goto out;
+	}
+
+	/* Calculate length in DWORDs, add one for odd lengths */
+	dword_len = (buf_len + 1) >> 2;
+
+	/* Pull in the rest of the buffer (i is where we left off)*/
+	for (; i < buf_len; i++)
+		*((u32 *)buffer + i) =
+			IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG, i);
+
+out:
+	return ret_val;
+}
+
+/**
+ *  ixgbe_set_fw_drv_ver_generic - Sends driver version to firmware
+ *  @hw: pointer to the HW structure
+ *  @maj: driver version major number
+ *  @min: driver version minor number
+ *  @build: driver version build number
+ *  @sub: driver version sub build number
+ *
+ *  Sends driver version number to firmware through the manageability
+ *  block.  On success return 0
+ *  else returns IXGBE_ERR_SWFW_SYNC when encountering an error acquiring
+ *  semaphore or IXGBE_ERR_HOST_INTERFACE_COMMAND when command fails.
+ **/
+s32 ixgbe_set_fw_drv_ver_generic(struct ixgbe_hw *hw, u8 maj, u8 min,
+				 u8 build, u8 sub)
+{
+	struct ixgbe_hic_drv_info fw_cmd;
+	int i;
+	s32 ret_val = 0;
+
+	if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_SW_MNG_SM) != 0) {
+		ret_val = IXGBE_ERR_SWFW_SYNC;
+		goto out;
+	}
+
+	fw_cmd.hdr.cmd = FW_CEM_CMD_DRIVER_INFO;
+	fw_cmd.hdr.buf_len = FW_CEM_CMD_DRIVER_INFO_LEN;
+	fw_cmd.hdr.cmd_or_resp.cmd_resv = FW_CEM_CMD_RESERVED;
+	fw_cmd.port_num = (u8)hw->bus.func;
+	fw_cmd.ver_maj = maj;
+	fw_cmd.ver_min = min;
+	fw_cmd.ver_build = build;
+	fw_cmd.ver_sub = sub;
+	fw_cmd.hdr.checksum = 0;
+	fw_cmd.hdr.checksum = ixgbe_calculate_checksum((u8 *)&fw_cmd,
+				(FW_CEM_HDR_LEN + fw_cmd.hdr.buf_len));
+	fw_cmd.pad = 0;
+	fw_cmd.pad2 = 0;
+
+	for (i = 0; i <= FW_CEM_MAX_RETRIES; i++) {
+		ret_val = ixgbe_host_interface_command(hw, (u8 *)&fw_cmd,
+						       sizeof(fw_cmd));
+		if (ret_val != 0)
+			continue;
+
+		if (fw_cmd.hdr.cmd_or_resp.ret_status ==
+		    FW_CEM_RESP_STATUS_SUCCESS)
+			ret_val = 0;
+		else
+			ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
+
+		break;
+	}
+
+	hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_SW_MNG_SM);
+out:
+	return ret_val;
+}
diff --git a/drivers/net/ixgbe/ixgbe_common.h b/drivers/net/ixgbe/ixgbe_common.h
index 32a454f..f24fd64 100644
--- a/drivers/net/ixgbe/ixgbe_common.h
+++ b/drivers/net/ixgbe/ixgbe_common.h
@@ -99,6 +99,8 @@ s32 ixgbe_blink_led_stop_generic(struct ixgbe_hw *hw, u32 index);
 void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int pf);
 void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf);
 s32 ixgbe_get_device_caps_generic(struct ixgbe_hw *hw, u16 *device_caps);
+s32 ixgbe_set_fw_drv_ver_generic(struct ixgbe_hw *hw, u8 maj, u8 min,
+				 u8 build, u8 ver);
 
 void ixgbe_set_rxpba_generic(struct ixgbe_hw *hw, int num_pb,
 			     u32 headroom, int strategy);
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 295ab6d..4cd66ae 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -7674,6 +7674,10 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 			ixgbe_vf_configuration(pdev, (i | 0x10000000));
 	}
 
+	/* Inform firmware of driver version */
+	if (hw->mac.ops.set_fw_drv_ver)
+		hw->mac.ops.set_fw_drv_ver(hw, MAJ, MIN, BUILD, KFIX);
+
 	/* add san mac addr to netdev */
 	ixgbe_add_sanmac_netdev(netdev);
 
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index 5455064..9a499a6 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -707,6 +707,13 @@
 #define IXGBE_HFDR      0x15FE8
 #define IXGBE_FLEX_MNG  0x15800 /* 0x15800 - 0x15EFC */
 
+#define IXGBE_HICR_EN              0x01  /* Enable bit - RO */
+/* Driver sets this bit when done to put command in RAM */
+#define IXGBE_HICR_C               0x02
+#define IXGBE_HICR_SV              0x04  /* Status Validity */
+#define IXGBE_HICR_FW_RESET_ENABLE 0x40
+#define IXGBE_HICR_FW_RESET        0x80
+
 /* PCI-E registers */
 #define IXGBE_GCR       0x11000
 #define IXGBE_GTV       0x11004
@@ -2124,6 +2131,41 @@ enum ixgbe_fdir_pballoc_type {
 #define IXGBE_FDIR_INIT_DONE_POLL               10
 #define IXGBE_FDIRCMD_CMD_POLL                  10
 
+/* Manageablility Host Interface defines */
+#define IXGBE_HI_MAX_BLOCK_BYTE_LENGTH       1792 /* Num of bytes in range */
+#define IXGBE_HI_MAX_BLOCK_DWORD_LENGTH      448 /* Num of dwords in range */
+#define IXGBE_HI_COMMAND_TIMEOUT             500 /* Process HI command limit */
+
+/* CEM Support */
+#define FW_CEM_HDR_LEN                0x4
+#define FW_CEM_CMD_DRIVER_INFO        0xDD
+#define FW_CEM_CMD_DRIVER_INFO_LEN    0x5
+#define FW_CEM_CMD_RESERVED           0X0
+#define FW_CEM_MAX_RETRIES            3
+#define FW_CEM_RESP_STATUS_SUCCESS    0x1
+
+/* Host Interface Command Structures */
+struct ixgbe_hic_hdr {
+	u8 cmd;
+	u8 buf_len;
+	union {
+		u8 cmd_resv;
+		u8 ret_status;
+	} cmd_or_resp;
+	u8 checksum;
+};
+
+struct ixgbe_hic_drv_info {
+	struct ixgbe_hic_hdr hdr;
+	u8 port_num;
+	u8 ver_sub;
+	u8 ver_build;
+	u8 ver_min;
+	u8 ver_maj;
+	u8 pad; /* end spacing to ensure length is mult. of dword */
+	u16 pad2; /* end spacing to ensure length is mult. of dword2 */
+};
+
 /* Transmit Descriptor - Advanced */
 union ixgbe_adv_tx_desc {
 	struct {
@@ -2663,6 +2705,9 @@ struct ixgbe_mac_operations {
 
 	/* Flow Control */
 	s32 (*fc_enable)(struct ixgbe_hw *, s32);
+
+	/* Manageability interface */
+	s32 (*set_fw_drv_ver)(struct ixgbe_hw *, u8, u8, u8, u8);
 };
 
 struct ixgbe_phy_operations {
@@ -2832,6 +2877,7 @@ struct ixgbe_info {
 #define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE        -30
 #define IXGBE_ERR_PBA_SECTION                   -31
 #define IXGBE_ERR_INVALID_ARGUMENT              -32
+#define IXGBE_ERR_HOST_INTERFACE_COMMAND        -33
 #define IXGBE_NOT_IMPLEMENTED                   0x7FFFFFFF
 
 #endif /* _IXGBE_TYPE_H_ */
diff --git a/drivers/net/ixgbe/ixgbe_x540.c b/drivers/net/ixgbe/ixgbe_x540.c
index fa566ed..bec30ed 100644
--- a/drivers/net/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ixgbe/ixgbe_x540.c
@@ -894,6 +894,7 @@ static struct ixgbe_mac_operations mac_ops_X540 = {
 	.clear_vfta             = &ixgbe_clear_vfta_generic,
 	.set_vfta               = &ixgbe_set_vfta_generic,
 	.fc_enable              = &ixgbe_fc_enable_generic,
+	.set_fw_drv_ver         = &ixgbe_set_fw_drv_ver_generic,
 	.init_uta_tables        = &ixgbe_init_uta_tables_generic,
 	.setup_sfp              = NULL,
 	.set_mac_anti_spoofing  = &ixgbe_set_mac_anti_spoofing,
-- 
1.7.5.4


^ permalink raw reply related

* Re: [PATCH 1/2] sctp: HEARTBEAT negotiation after ASCONF
From: Michio Honda @ 2011-06-20  1:17 UTC (permalink / raw)
  To: David Miller; +Cc: yjwei, netdev
In-Reply-To: <20110619.161034.893667223164209739.davem@davemloft.net>

Yes, this code covers such case and ensures chunks never transmitted to UNCONFIRMED destination.  

Thanks,
- Michio 

On Jun 20, 2011, at 8:10 , David Miller wrote:

> From: Michio Honda <micchie@sfc.wide.ad.jp>
> Date: Thu, 16 Jun 2011 17:56:42 +0900
> 
>> @@ -989,6 +991,8 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
>> 			    ((new_transport->state == SCTP_INACTIVE) ||
>> 			     (new_transport->state == SCTP_UNCONFIRMED)))
>> 				new_transport = asoc->peer.active_path;
>> +			if (new_transport->state == SCTP_UNCONFIRMED) 
>> +				continue;
>> 
>> 			/* Change packets if necessary.  */
>> 			if (new_transport != transport) {
> 
> This code path uses the asoc->peer.active_path is the new_transport
> is in the SCTP_UNCONFIRMED state.  Are you sure your new check is
> correct in that case?
> 
> Shouldn't you be testing the variable "new_transport" instead?
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply

* Re: [RFC] Moving files around in drivers/net
From: Jeff Kirsher @ 2011-06-20  1:42 UTC (permalink / raw)
  To: Po-Yu Chuang
  Cc: Joe Perches, netdev, David Miller, Paul Gortmaker, Jan Engelhardt
In-Reply-To: <BANLkTinb0U+=rbK65Xs+E+GBwqvVSV_a9A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 6299 bytes --]

On Wed, 2011-06-15 at 20:34 -0700, Po-Yu Chuang wrote:
> Dear Joe,
> 
> On Thu, Jun 16, 2011 at 9:10 AM, Joe Perches <joe@perches.com> wrote:
> > On Wed, 2011-06-15 at 11:38 -0700, Jeff Kirsher wrote:
> >> On Wed, Jun 1, 2011 at 13:01, Joe Perches <joe@perches.com> wrote:
> >> > On Wed, 2011-06-01 at 12:53 -0700, Jeff Kirsher wrote:
> >> >> On Wed, 2011-06-01 at 12:30 -0700, Joe Perches wrote:
> >> >> > Does anyone still think moving files around in drivers/net
> >> >> > would be sensible and a suitable candidate for inclusion
> >> >> > in 3.1?
> >> >> > Here's what Jeffrey proposed:
> >> >> > http://vger.kernel.org/netconf2010_slides/netconf-jtk.pdf
> >> >> > Here's what I proposed before that.
> >> >> > http://www.spinics.net/lists/netdev/msg149717.html
> >> >> I am over 90% done with the work and have been trying to finish up the
> >> >> patches so that I could get them out as an RFC here in the next week.
> >> > Excellent, thanks.
> >> I thought for sure I would have finished what I have left by last
> >> weekend, but I keep getting interrupted.  (Blame it on the NHL stanley
> >> cup playoffs) :)
> >> I have created a git tree on kernel.org with all the work that I have
> >> completed so far (see below).  This first stage of the move is only
> >> taking care of the drivers.  The next stage will move the networking
> >> core drivers (bridging, bonding, vlan, etc.) into drivers/net/sw.
> >> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize
> >> I will send out all the patches as an RFC by the end of the week (for sure)
> >
> > I've put the body of the git log below my comments
> > to make it easier to discuss.
> >
> > Comments:
> >
> > pktgen in hamachi/yellowfin should be pkteng
> >
> > I think it might be better if:
> >
> > Things were more spelled out:
> >        pkteng should be packetengines
> > And things maybe not spelled out
> >        ixp2000 might just be ixp (what not intel?:)
> >
> > And maybe drivers/net/ethernet/ should be as
> > unpopulated as possible.  Maybe create a misc
> > directory and throw old unclassifiable junk there.
> >
> > Lance should be its own directory like 8390.
> > I think a2065 and ariadne are lance drivers.
> >
> > Some manufacturer directories are directly populated
> > with multiple drivers, some have subdirectories.
> > Should one style be consistently used?
> >
> > pch_gbe should probably be oki.
> >
> > Isn't syskonnect now marvell?
> >
> > stmmac may not be a good name.  Maybe stmicro.
> >
> > enic may not be a good name.  Maybe cisco.
> >
> > mlx4 may be mellanox
> >
> > sfc may be solarflare
> >
> > bna may be brocade
> >
> > cheers, Joe
> >
> 
> [snip...]
> 
> > commit 5fe875b9e93af6b5a099b37471bebb541f1ba0c6
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 22:06:03 2011 -0700
> >
> >    arm: Move the ARM/ACORN drivers
> >
> >    Move the ARM/ACORN drivers into drivers/net/ethernet/arm/ and make the
> >    necessary Kconfig and Makefile changes.
> >    There were 4 drivers (TI Davinci & ftmac100) not in the
> >    drivers/net/arm/ which should have been since they are only supported
> >    under ARM, so they were added to the new directory structure.
> >
> >    NOTE: There are no "maintainers" for the TI Davinci drivers, so I am
> >    CC'ing the last 3 major contributors from TI.
> >
> >    CC: Sriram <srk@ti.com>
> >    CC: Vinay Hegde <vinay.hegde@ti.com>
> >    CC: Cyril Chemparathy <cyril@ti.com>
> >    CC: Russell King <linux@arm.linux.org.uk>
> >    CC: Wan ZongShun <mcuos.com@gmail.com>
> >    CC: Lennert Buytenhek <kernel@wantstofly.org>
> >    CC: Krzysztof Halasa <khc@pm.waw.pl>
> >    CC: Po-Yu Chuang <ratbert@faraday-tech.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |   10 +-
> >  drivers/net/Kconfig                            |   51 ---------
> >  drivers/net/Makefile                           |    7 --
> >  drivers/net/arm/Kconfig                        |   74 -------------
> >  drivers/net/ethernet/Kconfig                   |    1 +
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/arm/Kconfig               |  138 ++++++++++++++++++++++++
> >  drivers/net/{ => ethernet}/arm/Makefile        |    6 +-
> >  drivers/net/{ => ethernet}/arm/am79c961a.c     |    0
> >  drivers/net/{ => ethernet}/arm/am79c961a.h     |    0
> >  drivers/net/{ => ethernet}/arm/at91_ether.c    |    0
> >  drivers/net/{ => ethernet}/arm/at91_ether.h    |    0
> >  drivers/net/{ => ethernet/arm}/davinci_cpdma.c |    0
> >  drivers/net/{ => ethernet/arm}/davinci_cpdma.h |    0
> >  drivers/net/{ => ethernet/arm}/davinci_emac.c  |    0
> >  drivers/net/{ => ethernet/arm}/davinci_mdio.c  |    0
> >  drivers/net/{ => ethernet}/arm/ep93xx_eth.c    |    0
> >  drivers/net/{ => ethernet}/arm/ether1.c        |    0
> >  drivers/net/{ => ethernet}/arm/ether1.h        |    0
> >  drivers/net/{ => ethernet}/arm/ether3.c        |    0
> >  drivers/net/{ => ethernet}/arm/ether3.h        |    0
> >  drivers/net/{ => ethernet}/arm/etherh.c        |    0
> >  drivers/net/{ => ethernet/arm}/ftgmac100.c     |    0
> >  drivers/net/{ => ethernet/arm}/ftgmac100.h     |    0
> >  drivers/net/{ => ethernet/arm}/ftmac100.c      |    0
> >  drivers/net/{ => ethernet/arm}/ftmac100.h      |    0
> >  drivers/net/{ => ethernet}/arm/ixp4xx_eth.c    |    0
> >  drivers/net/{ => ethernet}/arm/ks8695net.c     |    0
> >  drivers/net/{ => ethernet}/arm/ks8695net.h     |    0
> >  drivers/net/{ => ethernet}/arm/w90p910_ether.c |    0
> >  30 files changed, 150 insertions(+), 138 deletions(-)
> >
> 
> [snip...]
> 
> Faraday ftmac100 and ftgmac100 are used by not only ARM SoCs.
> There are SoCs of NDS32 architecture use these controllers, but
> NDS32 architecture is not in Linux mainline (yet).
> If these drivers were moved to arm directory, they maybe need to be
> moved out of it someday.
> 
> So, how about:
> driver/net{ => ethernet/faraday}/ftmac100.c
> driver/net{ => ethernet/faraday}/ftgmac100.c
> 
> Best regards,
> Po-Yu Chuang

That sounds fine, I will make the change.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* RE: [RFC] Moving files around in drivers/net
From: Jeff Kirsher @ 2011-06-20  1:48 UTC (permalink / raw)
  To: Sathya.Perla@Emulex.Com
  Cc: joe@perches.com, netdev@vger.kernel.org, davem@davemloft.net,
	paul.gortmaker@windriver.com, jengelh@medozas.de
In-Reply-To: <3367B80B08154D42A3B2BC708B5D41F63F1859422D@EXMAIL.ad.emulex.com>

[-- Attachment #1: Type: text/plain, Size: 2301 bytes --]

On Wed, 2011-06-15 at 22:05 -0700, Sathya.Perla@Emulex.Com wrote:
> >-----Original Message-----
> >From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On
> >Behalf Of Joe Perches
> >Sent: Thursday, June 16, 2011 6:40 AM
> >To: Jeff Kirsher
> >Cc: netdev; David Miller; Paul Gortmaker; Jan Engelhardt
> >Subject: Re: [RFC] Moving files around in drivers/net
> >
> >
> >commit 931da59411e60574a1235d0ad2d63ebd1638a859
> >Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >Date:   Fri May 13 00:37:27 2011 -0700
> >
> >    be2net: Move the BladeEngine 2 driver
> >
> >    Moves the Server Engine driver into drivers/net/ethernet/benet/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Sathya Perla <sathya.perla@emulex.com>
> >    CC: Subbu Seetharaman <subbu.seetharaman@emulex.com>
> >    CC: Ajit Khaparde <ajit.khaparde@emulex.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> > MAINTAINERS                                   |    2 +-
> > drivers/net/Kconfig                           |    2 --
> > drivers/net/Makefile                          |    1 -
> > drivers/net/ethernet/Kconfig                  |    1 +
> > drivers/net/ethernet/Makefile                 |    1 +
> > drivers/net/{ => ethernet}/benet/Kconfig      |    0
> > drivers/net/{ => ethernet}/benet/Makefile     |    0
> > drivers/net/{ => ethernet}/benet/be.h         |    0
> > drivers/net/{ => ethernet}/benet/be_cmds.c    |    0
> > drivers/net/{ => ethernet}/benet/be_cmds.h    |    0
> > drivers/net/{ => ethernet}/benet/be_ethtool.c |    0
> > drivers/net/{ => ethernet}/benet/be_hw.h      |    0
> > drivers/net/{ => ethernet}/benet/be_main.c    |    0
> > 13 files changed, 3 insertions(+), 4 deletions(-)
> >
> 
> If you are going to consistently have the path as drivers/net/ethernet/<company-name>/<driver-name>, then
> be2net driver must be under drivers/net/ethernet/emulex/be2net/
> 
> thanks,
> -Sathya

That sound fine.  I was not consistent about using
driver/net/ethernet/<company name>/ because companies have been
bought/sold and a driver may change hands one or more times.  So I tried
to avoid using company names unless I was confident about it.

I will make the requested change.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: [RFC] Moving files around in drivers/net
From: Jeff Kirsher @ 2011-06-20  1:51 UTC (permalink / raw)
  To: Jon Mason
  Cc: Joe Perches, netdev, David Miller, Paul Gortmaker, Jan Engelhardt
In-Reply-To: <BANLkTinWOc14oNEon_UctVMB3fEDzDQa=Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 50889 bytes --]

On Thu, 2011-06-16 at 07:14 -0700, Jon Mason wrote:
> 
> On Wed, Jun 15, 2011 at 8:10 PM, Joe Perches <joe@perches.com> wrote:
> > On Wed, 2011-06-15 at 11:38 -0700, Jeff Kirsher wrote:
> >> On Wed, Jun 1, 2011 at 13:01, Joe Perches <joe@perches.com> wrote:
> >> > On Wed, 2011-06-01 at 12:53 -0700, Jeff Kirsher wrote:
> >> >> On Wed, 2011-06-01 at 12:30 -0700, Joe Perches wrote:
> >> >> > Does anyone still think moving files around in drivers/net
> >> >> > would be sensible and a suitable candidate for inclusion
> >> >> > in 3.1?
> >> >> > Here's what Jeffrey proposed:
> >> >> > http://vger.kernel.org/netconf2010_slides/netconf-jtk.pdf
> >> >> > Here's what I proposed before that.
> >> >> > http://www.spinics.net/lists/netdev/msg149717.html
> >> >> I am over 90% done with the work and have been trying to finish
> up the
> >> >> patches so that I could get them out as an RFC here in the next
> week.
> >> > Excellent, thanks.
> >> I thought for sure I would have finished what I have left by last
> >> weekend, but I keep getting interrupted.  (Blame it on the NHL
> stanley
> >> cup playoffs) :)
> >> I have created a git tree on kernel.org with all the work that I
> have
> >> completed so far (see below).  This first stage of the move is only
> >> taking care of the drivers.  The next stage will move the
> networking
> >> core drivers (bridging, bonding, vlan, etc.) into drivers/net/sw.
> >>
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize
> >> I will send out all the patches as an RFC by the end of the week
> (for sure)
> >
> > I've put the body of the git log below my comments
> > to make it easier to discuss.
> >
> > Comments:
> >
> > pktgen in hamachi/yellowfin should be pkteng
> >
> > I think it might be better if:
> >
> > Things were more spelled out:
> >        pkteng should be packetengines
> > And things maybe not spelled out
> >        ixp2000 might just be ixp (what not intel?:)
> >
> > And maybe drivers/net/ethernet/ should be as
> > unpopulated as possible.  Maybe create a misc
> > directory and throw old unclassifiable junk there.
> >
> > Lance should be its own directory like 8390.
> > I think a2065 and ariadne are lance drivers.
> >
> > Some manufacturer directories are directly populated
> > with multiple drivers, some have subdirectories.
> > Should one style be consistently used?
> >
> > pch_gbe should probably be oki.
> >
> > Isn't syskonnect now marvell?
> >
> > stmmac may not be a good name.  Maybe stmicro.
> >
> > enic may not be a good name.  Maybe cisco.
> >
> > mlx4 may be mellanox
> >
> > sfc may be solarflare
> >
> > bna may be brocade
> >
> > cheers, Joe
> >
> > $ git log --stat -M b7c7deeb4c77538577f0b6a724f10ce8693eb648..
> > commit 743b1f134daef72805cb10e74d82dcbb95cd2568
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Tue Jun 14 14:02:57 2011 -0700
> >
> >    hamachi/yellowfin: Move the packet engine drivers
> >
> >    Move the packet engine drivers to drivers/net/ethernet/pktgen/
> and
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Donald Becker <becker@scyld.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                           |   26
> ---------------
> >  drivers/net/Makefile                          |    2 -
> >  drivers/net/ethernet/Kconfig                  |    1 +
> >  drivers/net/ethernet/Makefile                 |    1 +
> >  drivers/net/ethernet/pkteng/Kconfig           |   42
> +++++++++++++++++++++++++
> >  drivers/net/ethernet/pkteng/Makefile          |    6 +++
> >  drivers/net/{ => ethernet/pkteng}/hamachi.c   |    0
> >  drivers/net/{ => ethernet/pkteng}/yellowfin.c |    0
> >  8 files changed, 50 insertions(+), 28 deletions(-)
> >
> > commit a7ce0b86340574f90bd24c460c3495ae3e06f5fb
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Tue Jun 14 13:35:31 2011 -0700
> >
> >    ixp2000: Move the Radisys driver
> >
> >    Move the Radisys driver into drivers/net/ethernet/ixp2000/ and
> >    make the necessary Kconfig and Makefile changes
> >
> >    CC: Lennert Buytenhek <kernel@wantstofly.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |    2 --
> >  drivers/net/Makefile                               |    1 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/{ => ethernet}/ixp2000/Kconfig         |    0
> >  drivers/net/{ => ethernet}/ixp2000/Makefile        |    0
> >  drivers/net/{ => ethernet}/ixp2000/caleb.c         |    0
> >  drivers/net/{ => ethernet}/ixp2000/caleb.h         |    0
> >  drivers/net/{ => ethernet}/ixp2000/enp2611.c       |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400-msf.c   |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400-msf.h   |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400_rx.uc   |    0
> >  .../net/{ => ethernet}/ixp2000/ixp2400_rx.ucode    |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400_tx.uc   |    0
> >  .../net/{ => ethernet}/ixp2000/ixp2400_tx.ucode    |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixpdev.c        |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixpdev.h        |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixpdev_priv.h   |    0
> >  drivers/net/{ => ethernet}/ixp2000/pm3386.c        |    0
> >  drivers/net/{ => ethernet}/ixp2000/pm3386.h        |    0
> >  21 files changed, 3 insertions(+), 4 deletions(-)
> >
> > commit 73091715bc0690f82ef9489f3589ad9b2d747cc0
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Tue Jun 14 12:56:50 2011 -0700
> >
> >    tlan/cpmac: Move the TI drivers
> >
> >    Move the TI drivers to drivers/net/ethernet/ti/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Samuel Chessman <chessman@tux.org>
> >    CC: <torben.mathiasen@compaq.com>
> >    CC: Eugene Konev <ejka@imfi.kspu.ru>
> >    CC: Florian Fainelli <florian@openwrt.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                           |    4 +-
> >  drivers/net/Kconfig                   |   25 --------------------
> >  drivers/net/Makefile                  |    2 -
> >  drivers/net/ethernet/Kconfig          |    1 +
> >  drivers/net/ethernet/Makefile         |    1 +
> >  drivers/net/ethernet/ti/Kconfig       |   41
> +++++++++++++++++++++++++++++++++
> >  drivers/net/ethernet/ti/Makefile      |    6 +++++
> >  drivers/net/{ => ethernet/ti}/cpmac.c |    0
> >  drivers/net/{ => ethernet/ti}/tlan.c  |    0
> >  drivers/net/{ => ethernet/ti}/tlan.h  |    0
> >  10 files changed, 51 insertions(+), 29 deletions(-)
> >
> > commit 035a452c66dbc0aa7873a12cfe057c74eaf89111
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 10:51:34 2011 -0700
> >
> >    s6gmac/tsi108_eth: Move the s6gmac/tsi108_eth drivers
> >
> >    Move the s6gmac/tsi108_eth drivers to drivers/net/ethernet/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Oskar Schirmer <os@emlix.com>
> >    CC: Kong Lai <kong.lai@tundra.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                     |   19 -------------------
> >  drivers/net/Makefile                    |    2 --
> >  drivers/net/ethernet/Kconfig            |   21
> +++++++++++++++++++++
> >  drivers/net/ethernet/Makefile           |    2 ++
> >  drivers/net/{ => ethernet}/s6gmac.c     |    0
> >  drivers/net/{ => ethernet}/tsi108_eth.c |    0
> >  drivers/net/{ => ethernet}/tsi108_eth.h |    0
> >  7 files changed, 23 insertions(+), 21 deletions(-)
> >
> > commit 4f9d3b9af95ced49b9ad9d5fb222f5216bf0adbb
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 10:03:01 2011 -0700
> >
> >    a2065/ariadne: Move the a2065/ariadne drivers
> >
> >    Move the a2065/ariadne drivers to drivers/net/ethernet/ and make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Geert Uytterhoeven <geert@linux-m68k.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                  |   21 ---------------------
> >  drivers/net/Makefile                 |    2 --
> >  drivers/net/ethernet/Kconfig         |   23 +++++++++++++++++++++++
> >  drivers/net/ethernet/Makefile        |    2 ++
> >  drivers/net/{ => ethernet}/a2065.c   |    0
> >  drivers/net/{ => ethernet}/a2065.h   |    0
> >  drivers/net/{ => ethernet}/ariadne.c |    0
> >  drivers/net/{ => ethernet}/ariadne.h |    0
> >  8 files changed, 25 insertions(+), 23 deletions(-)
> >
> > commit aead66521a701f08e3ae91aec7c9c8863a07a511
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 09:43:17 2011 -0700
> >
> >    82586.c/fec*: Move the Motorola drivers
> >
> >    Move the Motorola drivers into drivers/net/ethernet/motorola/ and
> >    make the necessary Kconfig and Makefile changes
> >
> >    CC: Dan Malek <dmalek@jlc.net>
> >    CC: Sylvain Munaut <tnt@246tNt.com>
> >    CC: Richard Hirst <richard@sleepie.demon.co.uk>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                                |   49
> --------------
> >  drivers/net/Makefile                               |    7 --
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/{ => ethernet/motorola}/82596.c        |    0
> >  drivers/net/ethernet/motorola/Kconfig              |   68
> ++++++++++++++++++++
> >  drivers/net/ethernet/motorola/Makefile             |   11 +++
> >  drivers/net/{ => ethernet/motorola}/fec.c          |    0
> >  drivers/net/{ => ethernet/motorola}/fec.h          |    0
> >  drivers/net/{ => ethernet/motorola}/fec_mpc52xx.c  |    0
> >  drivers/net/{ => ethernet/motorola}/fec_mpc52xx.h  |    0
> >  .../net/{ => ethernet/motorola}/fec_mpc52xx_phy.c  |    0
> >  12 files changed, 81 insertions(+), 56 deletions(-)
> >
> > commit aebcb70982c66b54605fbd242f6ac035b2e205b3
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 08:43:49 2011 -0700
> >
> >    sis*: Move the Silicon Integrated Systems (SiS) drivers
> >
> >    Move the SiS drivers into drivers/net/ethernet/sis/ and make the
> >    necessary Kconfig and Makefile changes
> >
> >    CC: Daniele Venzano <venza@brownhat.org>
> >    CC: Francois Romieu <romieu@fr.zoreil.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                             |    4 +-
> >  drivers/net/Kconfig                     |   30 --------------------
> >  drivers/net/Makefile                    |    2 -
> >  drivers/net/ethernet/Kconfig            |    1 +
> >  drivers/net/ethernet/Makefile           |    1 +
> >  drivers/net/ethernet/sis/Kconfig        |   46
> +++++++++++++++++++++++++++++++
> >  drivers/net/ethernet/sis/Makefile       |    6 ++++
> >  drivers/net/{ => ethernet/sis}/sis190.c |    0
> >  drivers/net/{ => ethernet/sis}/sis900.c |    0
> >  drivers/net/{ => ethernet/sis}/sis900.h |    0
> >  10 files changed, 56 insertions(+), 34 deletions(-)
> >
> > commit 826bef22759e1f78b284c9dc53ea442d348dbc88
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 08:23:31 2011 -0700
> >
> >    spider_net: Move the spider_net (IBM) driver
> >
> >    Move the spider_net (IBM) driver into drivers/net/ethernet/ibm/
> and
> >    make the necessary Kconfig and Makefile changes
> >
> >    CC: Utz Bacher <utz.bacher@de.ibm.com>
> >    CC: Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
> >    CC: Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |    8 --------
> >  drivers/net/Makefile                               |    2 --
> >  drivers/net/ethernet/ibm/Kconfig                   |   11
> ++++++++++-
> >  drivers/net/ethernet/ibm/Makefile                  |    2 ++
> >  drivers/net/{ => ethernet/ibm}/spider_net.c        |    0
> >  drivers/net/{ => ethernet/ibm}/spider_net.h        |    2 +-
> >  .../net/{ => ethernet/ibm}/spider_net_ethtool.c    |    0
> >  8 files changed, 14 insertions(+), 13 deletions(-)
> >
> > commit 776fae874e79c3bf3b6fd81eceb23993fef76c01
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 07:56:34 2011 -0700
> >
> >    mv643xx/pxa168: Move the Marvell drivers
> >
> >    Move the Marvell drivers into driver/net/ethernet/marvell and
> make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Sachin Sanap <ssanap@marvell.com>
> >    CC: Zhangfei Gao <zgao6@marvell.com>
> >    CC: Philip Rakity <prakity@marvell.com>
> >    CC: Mark Brown <markb@marvell.com>
> >    CC: Lennert Buytenhek <buytenh@marvell.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                      |    2 +-
> >  drivers/net/Kconfig                              |   23
> ------------
> >  drivers/net/Makefile                             |    2 -
> >  drivers/net/ethernet/Kconfig                     |    1 +
> >  drivers/net/ethernet/Makefile                    |    1 +
> >  drivers/net/ethernet/marvell/Kconfig             |   40
> ++++++++++++++++++++++
> >  drivers/net/ethernet/marvell/Makefile            |    6 +++
> >  drivers/net/{ => ethernet/marvell}/mv643xx_eth.c |    0
> >  drivers/net/{ => ethernet/marvell}/pxa168_eth.c  |    0
> >  9 files changed, 49 insertions(+), 26 deletions(-)
> >
> > commit 4153aed9e3020693985219d471f8eb230a8eaefa
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sat Jun 11 03:26:31 2011 -0700
> >
> >    ks8*/ksz8*: Move the Micrel drivers
> >
> >    Move the Micrel drivers into drivers/net/ethernet/micrel/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Ben Dooks <ben@simtec.co.uk>
> >    CC: Tristram Ha <Tristram.Ha@micrel.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                            |   35
> ----------------
> >  drivers/net/Makefile                           |    4 --
> >  drivers/net/ethernet/Kconfig                   |    1 +
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/micrel/Kconfig            |   51
> ++++++++++++++++++++++++
> >  drivers/net/ethernet/micrel/Makefile           |    8 ++++
> >  drivers/net/{ => ethernet/micrel}/ks8842.c     |    0
> >  drivers/net/{ => ethernet/micrel}/ks8851.c     |    0
> >  drivers/net/{ => ethernet/micrel}/ks8851.h     |    0
> >  drivers/net/{ => ethernet/micrel}/ks8851_mll.c |    0
> >  drivers/net/{ => ethernet/micrel}/ksz884x.c    |    0
> >  11 files changed, 61 insertions(+), 39 deletions(-)
> >
> > commit 518f5abc833cb0c30b79161c071b7c93ed458c6d
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sat Jun 11 02:29:36 2011 -0700
> >
> >    fsl_*/gianfar*/ucc_*: Move the Freescale drivers
> >
> >    Move the Freescale driver into drivers/net/ethernet/freescale/
> and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Sandeep Gopalpet <sandeep.kumar@freescale.com>
> >    CC: Andy Fleming <afleming@freescale.com>
> >    CC: Shlomi Gridish <gridish@freescale.com>
> >    CC: Li Yang <leoli@freescale.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |   33
> -------------
> >  drivers/net/Makefile                               |   14 ------
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/freescale/Kconfig             |   48
> ++++++++++++++++++++
> >  drivers/net/ethernet/freescale/Makefile            |   13 +++++
> >  .../net/{ => ethernet/freescale}/fs_enet/Kconfig   |    2 +-
> >  .../net/{ => ethernet/freescale}/fs_enet/Makefile  |    0
> >  drivers/net/{ => ethernet/freescale}/fs_enet/fec.h |    0
> >  .../freescale}/fs_enet/fs_enet-main.c              |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/fs_enet.h |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mac-fcc.c |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mac-fec.c |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mac-scc.c |    0
> >  .../{ => ethernet/freescale}/fs_enet/mii-bitbang.c |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mii-fec.c |    0
> >  drivers/net/{ => ethernet/freescale}/fsl_pq_mdio.c |    0
> >  drivers/net/{ => ethernet/freescale}/fsl_pq_mdio.h |    0
> >  drivers/net/{ => ethernet/freescale}/gianfar.c     |    0
> >  drivers/net/{ => ethernet/freescale}/gianfar.h     |    0
> >  .../net/{ => ethernet/freescale}/gianfar_ethtool.c |    0
> >  drivers/net/{ => ethernet/freescale}/gianfar_ptp.c |    0
> >  .../net/{ => ethernet/freescale}/gianfar_sysfs.c   |    0
> >  drivers/net/{ => ethernet/freescale}/ucc_geth.c    |    0
> >  drivers/net/{ => ethernet/freescale}/ucc_geth.h    |    0
> >  .../{ => ethernet/freescale}/ucc_geth_ethtool.c    |    0
> >  27 files changed, 65 insertions(+), 49 deletions(-)
> >
> > commit dbf507c912fcc804a20d86d2194fc4a4298f39df
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sat Jun 11 01:13:22 2011 -0700
> >
> >    eepro/eexpress/eth16i/ewrk3/lp486e/seeq8005/znet: Move the ISA
> drivers
> >
> >    Move the ISA drivers into drivers/net/ethernet/isa/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Philip Blundell <philb@gnu.org>
> >    CC: Mika Kuoppala <miku@iki.fi>
> >    CC: <bao.ha@srs.gov>
> >    CC: <aris@cathedrallabs.org>
> >    CC: David Davies <davies@maniac.ultranet.com>
> >    CC: <aeb@cwi.nl>
> >    CC: Hamish Coleman <hamish@zot.apana.org.au>
> >    CC: Donald Becker <becker@scyld.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                               |    4 +-
> >  drivers/net/Kconfig                       |   98
> ----------------------------
> >  drivers/net/Makefile                      |   10 ---
> >  drivers/net/ethernet/Kconfig              |    1 +
> >  drivers/net/ethernet/Makefile             |    1 +
> >  drivers/net/ethernet/isa/Kconfig          |  101
> +++++++++++++++++++++++++++++
> >  drivers/net/ethernet/isa/Makefile         |   11 +++
> >  drivers/net/{ => ethernet/isa}/eepro.c    |    0
> >  drivers/net/{ => ethernet/isa}/eexpress.c |    0
> >  drivers/net/{ => ethernet/isa}/eexpress.h |    0
> >  drivers/net/{ => ethernet/isa}/eth16i.c   |    0
> >  drivers/net/{ => ethernet/isa}/ewrk3.c    |    0
> >  drivers/net/{ => ethernet/isa}/ewrk3.h    |    0
> >  drivers/net/{ => ethernet/isa}/lp486e.c   |    0
> >  drivers/net/{ => ethernet/isa}/seeq8005.c |    0
> >  drivers/net/{ => ethernet/isa}/seeq8005.h |    0
> >  drivers/net/{ => ethernet/isa}/znet.c     |    0
> >  17 files changed, 116 insertions(+), 110 deletions(-)
> >
> > commit b8a6199b8d692ae17932b8c8cc709898255a51ad
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 20:43:09 2011 -0700
> >
> >    via-*: Move the VIA drivers
> >
> >    Move the VIA drivers into drivers/net/ethernet/via/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Roger Luethi <rl@hellgate.ch>
> >    CC: Francois Romieu <romieu@fr.zoreil.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                   |    4 +-
> >  drivers/net/Kconfig                           |   36
> -----------------
> >  drivers/net/Makefile                          |    2 -
> >  drivers/net/ethernet/Kconfig                  |    1 +
> >  drivers/net/ethernet/Makefile                 |    1 +
> >  drivers/net/ethernet/via/Kconfig              |   52
> +++++++++++++++++++++++++
> >  drivers/net/ethernet/via/Makefile             |    6 +++
> >  drivers/net/{ => ethernet/via}/via-rhine.c    |    0
> >  drivers/net/{ => ethernet/via}/via-velocity.c |    0
> >  drivers/net/{ => ethernet/via}/via-velocity.h |    0
> >  10 files changed, 62 insertions(+), 40 deletions(-)
> >
> > commit 0cc82a49e423bc0b2ee19c49ad24376d1ffccdc5
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 20:18:55 2011 -0700
> >
> >    skge/sky2: Move the SysKonnect Ethernet drivers
> >
> >    Move the SysKonnect (Ethernet only) drivers into
> drivers/net/ethernet/syskonnect/
> >    and make the necessary Kconfig and Makefile changes.
> >
> >    CC: Stephen Hemminger <shemminger@linux-foundation.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                  |    3 +-
> >  drivers/net/Kconfig                          |   58
> --------------------
> >  drivers/net/Makefile                         |    2 -
> >  drivers/net/ethernet/Kconfig                 |    1 +
> >  drivers/net/ethernet/Makefile                |    1 +
> >  drivers/net/ethernet/syskonnect/Kconfig      |   74
> ++++++++++++++++++++++++++
> >  drivers/net/ethernet/syskonnect/Makefile     |    6 ++
> >  drivers/net/{ => ethernet/syskonnect}/skge.c |    0
> >  drivers/net/{ => ethernet/syskonnect}/skge.h |    0
> >  drivers/net/{ => ethernet/syskonnect}/sky2.c |    0
> >  drivers/net/{ => ethernet/syskonnect}/sky2.h |    0
> >  11 files changed, 83 insertions(+), 62 deletions(-)
> >
> > commit c9e8faa7214a8911a22281e6e688e0cc69bb54b8
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 19:48:55 2011 -0700
> >
> >    pch_gbe: Move the OKI driver
> >
> >    Move the OKI driver into driver/net/ethernet/pch_gbe/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    Note: there is no documented maintainer for this driver, so I
> CC'd
> >    the last 2 major contributors.
> >
> >    CC: Tomoya <tomoya-linux@dsn.okisemi.com>
> >    CC: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                                |   19
> -------------------
> >  drivers/net/Makefile                               |    1 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/pch_gbe/Kconfig               |   20
> ++++++++++++++++++++
> >  drivers/net/{ => ethernet}/pch_gbe/Makefile        |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe.h       |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_api.c   |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_api.h   |    0
> >  .../net/{ => ethernet}/pch_gbe/pch_gbe_ethtool.c   |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_main.c  |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_param.c |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_phy.c   |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_phy.h   |    0
> >  14 files changed, 22 insertions(+), 20 deletions(-)
> >
> > commit 63e70fbc3837e36fbcc3e5b3d12eed74919e3beb
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 07:50:27 2011 -0700
> >
> >    ioc3-eth/meth/sgiseeq: Move the SGI drivers
> >
> >    Move the SGI drivers into drivers/net/ethernet/sgi/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Ralf Baechle <ralf@linux-mips.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                               |    2 +-
> >  drivers/net/Kconfig                       |   21 ----------------
> >  drivers/net/Makefile                      |    3 --
> >  drivers/net/ethernet/Kconfig              |    1 +
> >  drivers/net/ethernet/Makefile             |    1 +
> >  drivers/net/ethernet/sgi/Kconfig          |   37
> +++++++++++++++++++++++++++++
> >  drivers/net/ethernet/sgi/Makefile         |    7 +++++
> >  drivers/net/{ => ethernet/sgi}/ioc3-eth.c |    0
> >  drivers/net/{ => ethernet/sgi}/meth.c     |    0
> >  drivers/net/{ => ethernet/sgi}/meth.h     |    0
> >  drivers/net/{ => ethernet/sgi}/sgiseeq.c  |    0
> >  drivers/net/{ => ethernet/sgi}/sgiseeq.h  |    0
> >  12 files changed, 47 insertions(+), 25 deletions(-)
> >
> > commit 33bb1962fa6983fb17a7c95a5b44be697878783b
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 07:15:19 2011 -0700
> >
> >    tulip: Move the tulip drivers
> >
> >    Move the tulip driver into drivers/net/ethernet/tulip/ and make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Tobias Ringstrom <tori@unhappy.mine.nu>
> >    CC: Grant Grundler <grundler@parisc-linux.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |    4 ++--
> >  drivers/net/Kconfig                            |    2 --
> >  drivers/net/Makefile                           |    1 -
> >  drivers/net/ethernet/Kconfig                   |    2 ++
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/{ => ethernet}/tulip/21142.c       |    0
> >  drivers/net/{ => ethernet}/tulip/Kconfig       |    0
> >  drivers/net/{ => ethernet}/tulip/Makefile      |    0
> >  drivers/net/{ => ethernet}/tulip/de2104x.c     |    0
> >  drivers/net/{ => ethernet}/tulip/de4x5.c       |    0
> >  drivers/net/{ => ethernet}/tulip/de4x5.h       |    0
> >  drivers/net/{ => ethernet}/tulip/dmfe.c        |    0
> >  drivers/net/{ => ethernet}/tulip/eeprom.c      |    0
> >  drivers/net/{ => ethernet}/tulip/interrupt.c   |    0
> >  drivers/net/{ => ethernet}/tulip/media.c       |    0
> >  drivers/net/{ => ethernet}/tulip/pnic.c        |    0
> >  drivers/net/{ => ethernet}/tulip/pnic2.c       |    0
> >  drivers/net/{ => ethernet}/tulip/timer.c       |    0
> >  drivers/net/{ => ethernet}/tulip/tulip.h       |    0
> >  drivers/net/{ => ethernet}/tulip/tulip_core.c  |    0
> >  drivers/net/{ => ethernet}/tulip/uli526x.c     |    0
> >  drivers/net/{ => ethernet}/tulip/winbond-840.c |    0
> >  drivers/net/{ => ethernet}/tulip/xircom_cb.c   |    0
> >  23 files changed, 5 insertions(+), 5 deletions(-)
> >
> > commit 9091cea3242dcc16138cef784c4880a819b28c1e
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 06:55:16 2011 -0700
> >
> >    atl*: Move the Atheros drivers
> >
> >    Move the Atheros drivers into drivers/net/ethernet/atheros/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Jay Cliburn <jcliburn@gmail.com>
> >    CC: Chris Snook <chris.snook@gmail.com>
> >    CC: Jie Yang <jie.yang@atheros.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |   45
> --------------
> >  drivers/net/Makefile                               |    4 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/atheros/Kconfig               |   61
> ++++++++++++++++++++
> >  drivers/net/ethernet/atheros/Makefile              |    8 +++
> >  drivers/net/{ => ethernet/atheros}/atl1c/Makefile  |    0
> >  drivers/net/{ => ethernet/atheros}/atl1c/atl1c.h   |    0
> >  .../{ => ethernet/atheros}/atl1c/atl1c_ethtool.c   |    0
> >  .../net/{ => ethernet/atheros}/atl1c/atl1c_hw.c    |    0
> >  .../net/{ => ethernet/atheros}/atl1c/atl1c_hw.h    |    0
> >  .../net/{ => ethernet/atheros}/atl1c/atl1c_main.c  |    0
> >  drivers/net/{ => ethernet/atheros}/atl1e/Makefile  |    0
> >  drivers/net/{ => ethernet/atheros}/atl1e/atl1e.h   |    0
> >  .../{ => ethernet/atheros}/atl1e/atl1e_ethtool.c   |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_hw.c    |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_hw.h    |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_main.c  |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_param.c |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/Makefile   |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl1.c     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl1.h     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl2.c     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl2.h     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atlx.c     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atlx.h     |    0
> >  27 files changed, 72 insertions(+), 50 deletions(-)
> >
> > commit c97cb6d3434e3a3fa4d415f436e04475df39e443
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 00:04:35 2011 -0700
> >
> >    de6*/dl2k: Move the D-Link drivers
> >
> >    Move the D-Link drivers into drivers/net/ethernet/dlink/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Bjorn Ekwall <bj0rn@blox.se>
> >    CC: Donald Becker <becker@scyld.com>
> >    CC: Edward Peng <edward_peng@dlink.com.tw>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                      |   44
> ----------------------
> >  drivers/net/Makefile                     |    3 -
> >  drivers/net/ethernet/Kconfig             |    1 +
> >  drivers/net/ethernet/Makefile            |    1 +
> >  drivers/net/ethernet/dlink/Kconfig       |   60
> ++++++++++++++++++++++++++++++
> >  drivers/net/ethernet/dlink/Makefile      |    7 +++
> >  drivers/net/{ => ethernet/dlink}/de600.c |    0
> >  drivers/net/{ => ethernet/dlink}/de600.h |    0
> >  drivers/net/{ => ethernet/dlink}/de620.c |    0
> >  drivers/net/{ => ethernet/dlink}/de620.h |    0
> >  drivers/net/{ => ethernet/dlink}/dl2k.c  |    0
> >  drivers/net/{ => ethernet/dlink}/dl2k.h  |    0
> >  12 files changed, 69 insertions(+), 47 deletions(-)
> >
> > commit 268a0fa7d7159b37d1123d68343c555f44221510
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 23:27:55 2011 -0700
> >
> >    8139*/atp/r8169: Move the Realtek drivers
> >
> >    Move the Realtek drivers into drivers/net/ethernet/realtek/ and
> make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Realtek linux nic maintainers <nic_swsd@realtek.com>
> >    CC: Francois Romieu <romieu@fr.zoreil.com>
> >    CC: Jeff Garzik <jgarzik@pobox.com>
> >    CC: Donald Becker <becker@scyld.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                  |    2 +-
> >  drivers/net/Kconfig                          |   94
> ----------------------
> >  drivers/net/Makefile                         |    4 -
> >  drivers/net/ethernet/Kconfig                 |    1 +
> >  drivers/net/ethernet/Makefile                |    1 +
> >  drivers/net/{ => ethernet/realtek}/8139cp.c  |    0
> >  drivers/net/{ => ethernet/realtek}/8139too.c |    0
> >  drivers/net/ethernet/realtek/Kconfig         |  110
> ++++++++++++++++++++++++++
> >  drivers/net/ethernet/realtek/Makefile        |    8 ++
> >  drivers/net/{ => ethernet/realtek}/atp.c     |    0
> >  drivers/net/{ => ethernet/realtek}/atp.h     |    0
> >  drivers/net/{ => ethernet/realtek}/r8169.c   |    0
> >  12 files changed, 121 insertions(+), 99 deletions(-)
> >
> > commit 5fe875b9e93af6b5a099b37471bebb541f1ba0c6
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 22:06:03 2011 -0700
> >
> >    arm: Move the ARM/ACORN drivers
> >
> >    Move the ARM/ACORN drivers into drivers/net/ethernet/arm/ and
> make the
> >    necessary Kconfig and Makefile changes.
> >    There were 4 drivers (TI Davinci & ftmac100) not in the
> >    drivers/net/arm/ which should have been since they are only
> supported
> >    under ARM, so they were added to the new directory structure.
> >
> >    NOTE: There are no "maintainers" for the TI Davinci drivers, so I
> am
> >    CC'ing the last 3 major contributors from TI.
> >
> >    CC: Sriram <srk@ti.com>
> >    CC: Vinay Hegde <vinay.hegde@ti.com>
> >    CC: Cyril Chemparathy <cyril@ti.com>
> >    CC: Russell King <linux@arm.linux.org.uk>
> >    CC: Wan ZongShun <mcuos.com@gmail.com>
> >    CC: Lennert Buytenhek <kernel@wantstofly.org>
> >    CC: Krzysztof Halasa <khc@pm.waw.pl>
> >    CC: Po-Yu Chuang <ratbert@faraday-tech.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |   10 +-
> >  drivers/net/Kconfig                            |   51 ---------
> >  drivers/net/Makefile                           |    7 --
> >  drivers/net/arm/Kconfig                        |   74 -------------
> >  drivers/net/ethernet/Kconfig                   |    1 +
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/arm/Kconfig               |  138
> ++++++++++++++++++++++++
> >  drivers/net/{ => ethernet}/arm/Makefile        |    6 +-
> >  drivers/net/{ => ethernet}/arm/am79c961a.c     |    0
> >  drivers/net/{ => ethernet}/arm/am79c961a.h     |    0
> >  drivers/net/{ => ethernet}/arm/at91_ether.c    |    0
> >  drivers/net/{ => ethernet}/arm/at91_ether.h    |    0
> >  drivers/net/{ => ethernet/arm}/davinci_cpdma.c |    0
> >  drivers/net/{ => ethernet/arm}/davinci_cpdma.h |    0
> >  drivers/net/{ => ethernet/arm}/davinci_emac.c  |    0
> >  drivers/net/{ => ethernet/arm}/davinci_mdio.c  |    0
> >  drivers/net/{ => ethernet}/arm/ep93xx_eth.c    |    0
> >  drivers/net/{ => ethernet}/arm/ether1.c        |    0
> >  drivers/net/{ => ethernet}/arm/ether1.h        |    0
> >  drivers/net/{ => ethernet}/arm/ether3.c        |    0
> >  drivers/net/{ => ethernet}/arm/ether3.h        |    0
> >  drivers/net/{ => ethernet}/arm/etherh.c        |    0
> >  drivers/net/{ => ethernet/arm}/ftgmac100.c     |    0
> >  drivers/net/{ => ethernet/arm}/ftgmac100.h     |    0
> >  drivers/net/{ => ethernet/arm}/ftmac100.c      |    0
> >  drivers/net/{ => ethernet/arm}/ftmac100.h      |    0
> >  drivers/net/{ => ethernet}/arm/ixp4xx_eth.c    |    0
> >  drivers/net/{ => ethernet}/arm/ks8695net.c     |    0
> >  drivers/net/{ => ethernet}/arm/ks8695net.h     |    0
> >  drivers/net/{ => ethernet}/arm/w90p910_ether.c |    0
> >  30 files changed, 150 insertions(+), 138 deletions(-)
> >
> > commit 17c347d9648541503aef09b95b207737b151ddea
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 20:18:50 2011 -0700
> >
> >    smsc*/smc911x: Move the SMSC drivers
> >
> >    Move the SMSC drivers into drivers/net/ethernet/smsc/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Dustin McIntire <dustin@sensoria.com>
> >    CC: Steve Glendinning <steve.glendinning@smsc.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                |    4 +-
> >  drivers/net/Kconfig                        |   54
> ---------------------
> >  drivers/net/Makefile                       |    3 -
> >  drivers/net/ethernet/Kconfig               |    1 +
> >  drivers/net/ethernet/Makefile              |    1 +
> >  drivers/net/ethernet/smsc/Kconfig          |   71
> ++++++++++++++++++++++++++++
> >  drivers/net/ethernet/smsc/Makefile         |    7 +++
> >  drivers/net/{ => ethernet/smsc}/smc911x.c  |    0
> >  drivers/net/{ => ethernet/smsc}/smc911x.h  |    0
> >  drivers/net/{ => ethernet/smsc}/smsc911x.c |    0
> >  drivers/net/{ => ethernet/smsc}/smsc911x.h |    0
> >  drivers/net/{ => ethernet/smsc}/smsc9420.c |    0
> >  drivers/net/{ => ethernet/smsc}/smsc9420.h |    0
> >  13 files changed, 82 insertions(+), 59 deletions(-)
> >
> > commit f93707a2948f67da9fbe12ff93f6c5a95d6fb23d
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Wed May 18 05:14:22 2011 -0700
> >
> >    *sonic/natsemi/ns83829: Move the National Semi-conductor drivers
> >
> >    Move the National Semi-conductor drivers into
> drivers/net/ethernet/natsemi/
> >    and make the necessary Kconfig and Makefile changes.  Also moved
> the 8390
> >    (National Semi-conductor) devices as a sub-menu of National
> Semi-conductor
> >    devices.
> >
> >    CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> >    CC: Harald Welte <laforge@gnumonks.org>
> >    CC: Tim Hockin <thockin@hockin.org>
> >    CC: <linux-ns83820@kvack.org>
> >    CC: Kevin Chea <kchea@yahoo.com>
> >    CC: Marc Gauthier <marc@linux-xtensa.org>
> >    CC: Chris Zankel <chris@zankel.net>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |    4 +-
> >  drivers/net/Kconfig                            |   47
> ------------------
> >  drivers/net/Makefile                           |    6 --
> >  drivers/net/ethernet/8390/Kconfig              |    6 +-
> >  drivers/net/ethernet/Kconfig                   |    3 +-
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/natsemi/Kconfig           |   63
> ++++++++++++++++++++++++
> >  drivers/net/ethernet/natsemi/Makefile          |    9 +++
> >  drivers/net/{ => ethernet/natsemi}/jazzsonic.c |    0
> >  drivers/net/{ => ethernet/natsemi}/macsonic.c  |    0
> >  drivers/net/{ => ethernet/natsemi}/natsemi.c   |    0
> >  drivers/net/{ => ethernet/natsemi}/ns83820.c   |    0
> >  drivers/net/{ => ethernet/natsemi}/sonic.c     |    0
> >  drivers/net/{ => ethernet/natsemi}/sonic.h     |    0
> >  drivers/net/{ => ethernet/natsemi}/xtsonic.c   |    0
> >  15 files changed, 80 insertions(+), 59 deletions(-)
> >
> > commit 8a352394d237f49f4d142874057d4179a1169607
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon May 16 01:39:01 2011 -0700
> >
> >    bmac/mace/macmace/mac89x0/cs89x0: Move the Macintosh (Apple)
> drivers
> >
> >    Move the Apple drivers into driver/net/ethernet/apple/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Paul Mackerras <paulus@samba.org>
> >    CC: Paul Mackerras <paulus@au.ibm.com>
> >    CC: Russell Nelson <nelson@crynwr.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                        |   75
> ----------------------
> >  drivers/net/Makefile                       |    6 --
> >  drivers/net/ethernet/Kconfig               |    1 +
> >  drivers/net/ethernet/Makefile              |    1 +
> >  drivers/net/ethernet/apple/Kconfig         |   92
> ++++++++++++++++++++++++++++
> >  drivers/net/ethernet/apple/Makefile        |    9 +++
> >  drivers/net/{ => ethernet/apple}/bmac.c    |    0
> >  drivers/net/{ => ethernet/apple}/bmac.h    |    0
> >  drivers/net/{ => ethernet/apple}/cs89x0.c  |    0
> >  drivers/net/{ => ethernet/apple}/cs89x0.h  |    0
> >  drivers/net/{ => ethernet/apple}/mac89x0.c |    0
> >  drivers/net/{ => ethernet/apple}/mace.c    |    0
> >  drivers/net/{ => ethernet/apple}/mace.h    |    0
> >  drivers/net/{ => ethernet/apple}/macmace.c |    0
> >  14 files changed, 103 insertions(+), 81 deletions(-)
> >
> > commit 0222c318a10195f618d82f9f7c4e0d61564bcc5d
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon May 16 00:05:19 2011 -0700
> >
> >    stmmac: Move the STMicroelectronics driver
> >
> >    Move the STMicroelectronics driver into
> driver/net/ethernet/stmmac/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |    2 --
> >  drivers/net/Makefile                               |    1 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/{ => ethernet}/stmmac/Kconfig          |    0
> >  drivers/net/{ => ethernet}/stmmac/Makefile         |    0
> >  drivers/net/{ => ethernet}/stmmac/common.h         |    0
> >  drivers/net/{ => ethernet}/stmmac/descs.h          |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac100.h       |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac1000.h      |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac1000_core.c |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac1000_dma.c  |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac100_core.c  |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac100_dma.c   |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac_dma.h      |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac_lib.c      |    0
> >  drivers/net/{ => ethernet}/stmmac/enh_desc.c       |    0
> >  drivers/net/{ => ethernet}/stmmac/norm_desc.c      |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac.h         |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_ethtool.c |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_main.c    |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_mdio.c    |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_timer.c   |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_timer.h   |    0
> >  25 files changed, 3 insertions(+), 4 deletions(-)
> >
> > commit c9979075eda1f39b3cf73b51b4da05e2bc1a7a3f
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sun May 15 21:46:41 2011 -0700
> >
> >    tehuti: Move the Tehuti driver
> >
> >    Move the Tehuti driver into drivers/net/ethernet/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Alexander Indenbaum <baum@tehutinetworks.net>
> >    CC: Andy Gospodarek <andy@greyhouse.net>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                         |    2 +-
> >  drivers/net/Kconfig                 |    6 ------
> >  drivers/net/Makefile                |    1 -
> >  drivers/net/ethernet/Kconfig        |    6 ++++++
> >  drivers/net/ethernet/Makefile       |    1 +
> >  drivers/net/{ => ethernet}/tehuti.c |    0
> >  drivers/net/{ => ethernet}/tehuti.h |    0
> >  7 files changed, 8 insertions(+), 8 deletions(-)
> >
> > commit 9b8448aa63ea26e8cbe23df6064146b2bcf1429c
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sun May 15 20:56:37 2011 -0700
> >
> >    pasemic_mac*: Move the PA Semi driver
> >
> >    Move the PA Semi driver into drivers/net/ethernet/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Olof Johansson <olof@lixom.net>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                     |    2 +-
> >  drivers/net/Kconfig                             |    9 ---------
> >  drivers/net/Makefile                            |    2 --
> >  drivers/net/ethernet/Kconfig                    |   10 ++++++++++
> >  drivers/net/ethernet/Makefile                   |    1 +
> >  drivers/net/{ => ethernet}/pasemi_mac.c         |    0
> >  drivers/net/{ => ethernet}/pasemi_mac.h         |    0
> >  drivers/net/{ => ethernet}/pasemi_mac_ethtool.c |    0
> >  8 files changed, 12 insertions(+), 12 deletions(-)
> >
> > commit 8f45b84e5a50e13e530ccd7277e87e21bf9d3824
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 22:20:35 2011 -0700
> >
> >    enic: Move the Cisco driver
> >
> >    Move the Cisco driver into drivers/net/ethernet/enic/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Scott Feldman <scofeldm@cisco.com>
> >    CC: Christian Benvenuti <benve@cisco.com>
> >    CC: Vasanthy Kolluri <vkolluri@cisco.com>
> >    CC: Roopa Prabhu <roprabhu@cisco.com>
> >    CC: David Wang <dwang2@cisco.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                     |    2 +-
> >  drivers/net/Kconfig                             |    6 ------
> >  drivers/net/Makefile                            |    1 -
> >  drivers/net/ethernet/Kconfig                    |    1 +
> >  drivers/net/ethernet/Makefile                   |    1 +
> >  drivers/net/ethernet/enic/Kconfig               |    9 +++++++++
> >  drivers/net/{ => ethernet}/enic/Makefile        |    0
> >  drivers/net/{ => ethernet}/enic/cq_desc.h       |    0
> >  drivers/net/{ => ethernet}/enic/cq_enet_desc.h  |    0
> >  drivers/net/{ => ethernet}/enic/enic.h          |    0
> >  drivers/net/{ => ethernet}/enic/enic_dev.c      |    0
> >  drivers/net/{ => ethernet}/enic/enic_dev.h      |    0
> >  drivers/net/{ => ethernet}/enic/enic_main.c     |    0
> >  drivers/net/{ => ethernet}/enic/enic_pp.c       |    0
> >  drivers/net/{ => ethernet}/enic/enic_pp.h       |    0
> >  drivers/net/{ => ethernet}/enic/enic_res.c      |    0
> >  drivers/net/{ => ethernet}/enic/enic_res.h      |    0
> >  drivers/net/{ => ethernet}/enic/rq_enet_desc.h  |    0
> >  drivers/net/{ => ethernet}/enic/vnic_cq.c       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_cq.h       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_dev.c      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_dev.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_devcmd.h   |    0
> >  drivers/net/{ => ethernet}/enic/vnic_enet.h     |    0
> >  drivers/net/{ => ethernet}/enic/vnic_intr.c     |    0
> >  drivers/net/{ => ethernet}/enic/vnic_intr.h     |    0
> >  drivers/net/{ => ethernet}/enic/vnic_nic.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_resource.h |    0
> >  drivers/net/{ => ethernet}/enic/vnic_rq.c       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_rq.h       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_rss.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_stats.h    |    0
> >  drivers/net/{ => ethernet}/enic/vnic_vic.c      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_vic.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_wq.c       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_wq.h       |    0
> >  drivers/net/{ => ethernet}/enic/wq_enet_desc.h  |    0
> >  37 files changed, 12 insertions(+), 8 deletions(-)
> >
> > commit 21b49617eef3976ebbd73cb4bf1a1f2f6902dbbf
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 14:29:12 2011 -0700
> >
> >    ehea/ibm*: Move the IBM drivers
> >
> >    Move the IBM drivers into drivers/net/ethernet/ibm/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Christoph Raisch <raisch@de.ibm.com>
> >    CC: Alfred Arnold <alfred.arnold@lancom.de>
> >    CC: Santiago Leon <santil@linux.vnet.ibm.com>
> >    CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    4 +-
> >  drivers/net/Kconfig                                |   37
> --------------
> >  drivers/net/Makefile                               |    4 --
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/ibm/Kconfig                   |   53
> ++++++++++++++++++++
> >  drivers/net/ethernet/ibm/Makefile                  |    8 +++
> >  drivers/net/{ => ethernet/ibm}/ehea/Makefile       |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea.h         |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_ethtool.c |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_hw.h      |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_main.c    |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_phyp.c    |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_phyp.h    |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_qmr.c     |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_qmr.h     |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/Kconfig |    2 +-
> >  .../net/{ => ethernet/ibm}/ibm_newemac/Makefile    |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/core.c  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/core.h  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/debug.c |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/debug.h |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/emac.h  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/mal.c   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/mal.h   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/phy.c   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/phy.h   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/rgmii.c |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/rgmii.h |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/tah.c   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/tah.h   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/zmii.c  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/zmii.h  |    0
> >  drivers/net/{ => ethernet/ibm}/ibmlana.c           |    0
> >  drivers/net/{ => ethernet/ibm}/ibmlana.h           |    0
> >  drivers/net/{ => ethernet/ibm}/ibmveth.c           |    0
> >  drivers/net/{ => ethernet/ibm}/ibmveth.h           |    0
> >  37 files changed, 66 insertions(+), 44 deletions(-)
> >
> > commit a5c1daab860bc137dafadc061e48f4153ce89a31
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 02:51:01 2011 -0700
> >
> >    s2io/vxge: Move the Exar drivers
> >
> >    Move the Exar drivers into drivers/net/ethernet/exar/ and make
> the
> >    necessary Kconfig and Makefile changes.
> 
> I think it makes more since to have the folder named neterion, as that
> was the name the adapters were sold under.
> 
> Aside from that, it looks good to me.
> 
> Thanks,
> Jon 

That sounds fine, I will make the change.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: [RFC] Moving files around in drivers/net
From: Jeff Kirsher @ 2011-06-20  1:59 UTC (permalink / raw)
  To: Jon Mason
  Cc: Joe Perches, netdev, David Miller, Paul Gortmaker, Jan Engelhardt,
	Andrew Gallatin
In-Reply-To: <BANLkTin0QzAscKcN0Yw6rc7fUh5d5q143w@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 54363 bytes --]

On Thu, 2011-06-16 at 08:03 -0700, Jon Mason wrote:
> On Wed, Jun 15, 2011 at 8:10 PM, Joe Perches <joe@perches.com> wrote:
> > On Wed, 2011-06-15 at 11:38 -0700, Jeff Kirsher wrote:
> >> On Wed, Jun 1, 2011 at 13:01, Joe Perches <joe@perches.com> wrote:
> >> > On Wed, 2011-06-01 at 12:53 -0700, Jeff Kirsher wrote:
> >> >> On Wed, 2011-06-01 at 12:30 -0700, Joe Perches wrote:
> >> >> > Does anyone still think moving files around in drivers/net
> >> >> > would be sensible and a suitable candidate for inclusion
> >> >> > in 3.1?
> >> >> > Here's what Jeffrey proposed:
> >> >> > http://vger.kernel.org/netconf2010_slides/netconf-jtk.pdf
> >> >> > Here's what I proposed before that.
> >> >> > http://www.spinics.net/lists/netdev/msg149717.html
> >> >> I am over 90% done with the work and have been trying to finish
> up the
> >> >> patches so that I could get them out as an RFC here in the next
> week.
> >> > Excellent, thanks.
> >> I thought for sure I would have finished what I have left by last
> >> weekend, but I keep getting interrupted.  (Blame it on the NHL
> stanley
> >> cup playoffs) :)
> >> I have created a git tree on kernel.org with all the work that I
> have
> >> completed so far (see below).  This first stage of the move is only
> >> taking care of the drivers.  The next stage will move the
> networking
> >> core drivers (bridging, bonding, vlan, etc.) into drivers/net/sw.
> >>
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize
> >> I will send out all the patches as an RFC by the end of the week
> (for sure)
> >
> > I've put the body of the git log below my comments
> > to make it easier to discuss.
> >
> > Comments:
> >
> > pktgen in hamachi/yellowfin should be pkteng
> >
> > I think it might be better if:
> >
> > Things were more spelled out:
> >        pkteng should be packetengines
> > And things maybe not spelled out
> >        ixp2000 might just be ixp (what not intel?:)
> >
> > And maybe drivers/net/ethernet/ should be as
> > unpopulated as possible.  Maybe create a misc
> > directory and throw old unclassifiable junk there.
> >
> > Lance should be its own directory like 8390.
> > I think a2065 and ariadne are lance drivers.
> >
> > Some manufacturer directories are directly populated
> > with multiple drivers, some have subdirectories.
> > Should one style be consistently used?
> >
> > pch_gbe should probably be oki.
> >
> > Isn't syskonnect now marvell?
> >
> > stmmac may not be a good name.  Maybe stmicro.
> >
> > enic may not be a good name.  Maybe cisco.
> >
> > mlx4 may be mellanox
> >
> > sfc may be solarflare
> >
> > bna may be brocade
> >
> > cheers, Joe
> >
> > $ git log --stat -M b7c7deeb4c77538577f0b6a724f10ce8693eb648..
> > commit 743b1f134daef72805cb10e74d82dcbb95cd2568
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Tue Jun 14 14:02:57 2011 -0700
> >
> >    hamachi/yellowfin: Move the packet engine drivers
> >
> >    Move the packet engine drivers to drivers/net/ethernet/pktgen/
> and
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Donald Becker <becker@scyld.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                           |   26
> ---------------
> >  drivers/net/Makefile                          |    2 -
> >  drivers/net/ethernet/Kconfig                  |    1 +
> >  drivers/net/ethernet/Makefile                 |    1 +
> >  drivers/net/ethernet/pkteng/Kconfig           |   42
> +++++++++++++++++++++++++
> >  drivers/net/ethernet/pkteng/Makefile          |    6 +++
> >  drivers/net/{ => ethernet/pkteng}/hamachi.c   |    0
> >  drivers/net/{ => ethernet/pkteng}/yellowfin.c |    0
> >  8 files changed, 50 insertions(+), 28 deletions(-)
> >
> > commit a7ce0b86340574f90bd24c460c3495ae3e06f5fb
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Tue Jun 14 13:35:31 2011 -0700
> >
> >    ixp2000: Move the Radisys driver
> >
> >    Move the Radisys driver into drivers/net/ethernet/ixp2000/ and
> >    make the necessary Kconfig and Makefile changes
> >
> >    CC: Lennert Buytenhek <kernel@wantstofly.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |    2 --
> >  drivers/net/Makefile                               |    1 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/{ => ethernet}/ixp2000/Kconfig         |    0
> >  drivers/net/{ => ethernet}/ixp2000/Makefile        |    0
> >  drivers/net/{ => ethernet}/ixp2000/caleb.c         |    0
> >  drivers/net/{ => ethernet}/ixp2000/caleb.h         |    0
> >  drivers/net/{ => ethernet}/ixp2000/enp2611.c       |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400-msf.c   |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400-msf.h   |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400_rx.uc   |    0
> >  .../net/{ => ethernet}/ixp2000/ixp2400_rx.ucode    |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixp2400_tx.uc   |    0
> >  .../net/{ => ethernet}/ixp2000/ixp2400_tx.ucode    |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixpdev.c        |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixpdev.h        |    0
> >  drivers/net/{ => ethernet}/ixp2000/ixpdev_priv.h   |    0
> >  drivers/net/{ => ethernet}/ixp2000/pm3386.c        |    0
> >  drivers/net/{ => ethernet}/ixp2000/pm3386.h        |    0
> >  21 files changed, 3 insertions(+), 4 deletions(-)
> >
> > commit 73091715bc0690f82ef9489f3589ad9b2d747cc0
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Tue Jun 14 12:56:50 2011 -0700
> >
> >    tlan/cpmac: Move the TI drivers
> >
> >    Move the TI drivers to drivers/net/ethernet/ti/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Samuel Chessman <chessman@tux.org>
> >    CC: <torben.mathiasen@compaq.com>
> >    CC: Eugene Konev <ejka@imfi.kspu.ru>
> >    CC: Florian Fainelli <florian@openwrt.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                           |    4 +-
> >  drivers/net/Kconfig                   |   25 --------------------
> >  drivers/net/Makefile                  |    2 -
> >  drivers/net/ethernet/Kconfig          |    1 +
> >  drivers/net/ethernet/Makefile         |    1 +
> >  drivers/net/ethernet/ti/Kconfig       |   41
> +++++++++++++++++++++++++++++++++
> >  drivers/net/ethernet/ti/Makefile      |    6 +++++
> >  drivers/net/{ => ethernet/ti}/cpmac.c |    0
> >  drivers/net/{ => ethernet/ti}/tlan.c  |    0
> >  drivers/net/{ => ethernet/ti}/tlan.h  |    0
> >  10 files changed, 51 insertions(+), 29 deletions(-)
> >
> > commit 035a452c66dbc0aa7873a12cfe057c74eaf89111
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 10:51:34 2011 -0700
> >
> >    s6gmac/tsi108_eth: Move the s6gmac/tsi108_eth drivers
> >
> >    Move the s6gmac/tsi108_eth drivers to drivers/net/ethernet/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Oskar Schirmer <os@emlix.com>
> >    CC: Kong Lai <kong.lai@tundra.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                     |   19 -------------------
> >  drivers/net/Makefile                    |    2 --
> >  drivers/net/ethernet/Kconfig            |   21
> +++++++++++++++++++++
> >  drivers/net/ethernet/Makefile           |    2 ++
> >  drivers/net/{ => ethernet}/s6gmac.c     |    0
> >  drivers/net/{ => ethernet}/tsi108_eth.c |    0
> >  drivers/net/{ => ethernet}/tsi108_eth.h |    0
> >  7 files changed, 23 insertions(+), 21 deletions(-)
> >
> > commit 4f9d3b9af95ced49b9ad9d5fb222f5216bf0adbb
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 10:03:01 2011 -0700
> >
> >    a2065/ariadne: Move the a2065/ariadne drivers
> >
> >    Move the a2065/ariadne drivers to drivers/net/ethernet/ and make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Geert Uytterhoeven <geert@linux-m68k.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                  |   21 ---------------------
> >  drivers/net/Makefile                 |    2 --
> >  drivers/net/ethernet/Kconfig         |   23 +++++++++++++++++++++++
> >  drivers/net/ethernet/Makefile        |    2 ++
> >  drivers/net/{ => ethernet}/a2065.c   |    0
> >  drivers/net/{ => ethernet}/a2065.h   |    0
> >  drivers/net/{ => ethernet}/ariadne.c |    0
> >  drivers/net/{ => ethernet}/ariadne.h |    0
> >  8 files changed, 25 insertions(+), 23 deletions(-)
> >
> > commit aead66521a701f08e3ae91aec7c9c8863a07a511
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 09:43:17 2011 -0700
> >
> >    82586.c/fec*: Move the Motorola drivers
> >
> >    Move the Motorola drivers into drivers/net/ethernet/motorola/ and
> >    make the necessary Kconfig and Makefile changes
> >
> >    CC: Dan Malek <dmalek@jlc.net>
> >    CC: Sylvain Munaut <tnt@246tNt.com>
> >    CC: Richard Hirst <richard@sleepie.demon.co.uk>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                                |   49
> --------------
> >  drivers/net/Makefile                               |    7 --
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/{ => ethernet/motorola}/82596.c        |    0
> >  drivers/net/ethernet/motorola/Kconfig              |   68
> ++++++++++++++++++++
> >  drivers/net/ethernet/motorola/Makefile             |   11 +++
> >  drivers/net/{ => ethernet/motorola}/fec.c          |    0
> >  drivers/net/{ => ethernet/motorola}/fec.h          |    0
> >  drivers/net/{ => ethernet/motorola}/fec_mpc52xx.c  |    0
> >  drivers/net/{ => ethernet/motorola}/fec_mpc52xx.h  |    0
> >  .../net/{ => ethernet/motorola}/fec_mpc52xx_phy.c  |    0
> >  12 files changed, 81 insertions(+), 56 deletions(-)
> >
> > commit aebcb70982c66b54605fbd242f6ac035b2e205b3
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 08:43:49 2011 -0700
> >
> >    sis*: Move the Silicon Integrated Systems (SiS) drivers
> >
> >    Move the SiS drivers into drivers/net/ethernet/sis/ and make the
> >    necessary Kconfig and Makefile changes
> >
> >    CC: Daniele Venzano <venza@brownhat.org>
> >    CC: Francois Romieu <romieu@fr.zoreil.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                             |    4 +-
> >  drivers/net/Kconfig                     |   30 --------------------
> >  drivers/net/Makefile                    |    2 -
> >  drivers/net/ethernet/Kconfig            |    1 +
> >  drivers/net/ethernet/Makefile           |    1 +
> >  drivers/net/ethernet/sis/Kconfig        |   46
> +++++++++++++++++++++++++++++++
> >  drivers/net/ethernet/sis/Makefile       |    6 ++++
> >  drivers/net/{ => ethernet/sis}/sis190.c |    0
> >  drivers/net/{ => ethernet/sis}/sis900.c |    0
> >  drivers/net/{ => ethernet/sis}/sis900.h |    0
> >  10 files changed, 56 insertions(+), 34 deletions(-)
> >
> > commit 826bef22759e1f78b284c9dc53ea442d348dbc88
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 08:23:31 2011 -0700
> >
> >    spider_net: Move the spider_net (IBM) driver
> >
> >    Move the spider_net (IBM) driver into drivers/net/ethernet/ibm/
> and
> >    make the necessary Kconfig and Makefile changes
> >
> >    CC: Utz Bacher <utz.bacher@de.ibm.com>
> >    CC: Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
> >    CC: Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |    8 --------
> >  drivers/net/Makefile                               |    2 --
> >  drivers/net/ethernet/ibm/Kconfig                   |   11
> ++++++++++-
> >  drivers/net/ethernet/ibm/Makefile                  |    2 ++
> >  drivers/net/{ => ethernet/ibm}/spider_net.c        |    0
> >  drivers/net/{ => ethernet/ibm}/spider_net.h        |    2 +-
> >  .../net/{ => ethernet/ibm}/spider_net_ethtool.c    |    0
> >  8 files changed, 14 insertions(+), 13 deletions(-)
> >
> > commit 776fae874e79c3bf3b6fd81eceb23993fef76c01
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon Jun 13 07:56:34 2011 -0700
> >
> >    mv643xx/pxa168: Move the Marvell drivers
> >
> >    Move the Marvell drivers into driver/net/ethernet/marvell and
> make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Sachin Sanap <ssanap@marvell.com>
> >    CC: Zhangfei Gao <zgao6@marvell.com>
> >    CC: Philip Rakity <prakity@marvell.com>
> >    CC: Mark Brown <markb@marvell.com>
> >    CC: Lennert Buytenhek <buytenh@marvell.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                      |    2 +-
> >  drivers/net/Kconfig                              |   23
> ------------
> >  drivers/net/Makefile                             |    2 -
> >  drivers/net/ethernet/Kconfig                     |    1 +
> >  drivers/net/ethernet/Makefile                    |    1 +
> >  drivers/net/ethernet/marvell/Kconfig             |   40
> ++++++++++++++++++++++
> >  drivers/net/ethernet/marvell/Makefile            |    6 +++
> >  drivers/net/{ => ethernet/marvell}/mv643xx_eth.c |    0
> >  drivers/net/{ => ethernet/marvell}/pxa168_eth.c  |    0
> >  9 files changed, 49 insertions(+), 26 deletions(-)
> >
> > commit 4153aed9e3020693985219d471f8eb230a8eaefa
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sat Jun 11 03:26:31 2011 -0700
> >
> >    ks8*/ksz8*: Move the Micrel drivers
> >
> >    Move the Micrel drivers into drivers/net/ethernet/micrel/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Ben Dooks <ben@simtec.co.uk>
> >    CC: Tristram Ha <Tristram.Ha@micrel.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                            |   35
> ----------------
> >  drivers/net/Makefile                           |    4 --
> >  drivers/net/ethernet/Kconfig                   |    1 +
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/micrel/Kconfig            |   51
> ++++++++++++++++++++++++
> >  drivers/net/ethernet/micrel/Makefile           |    8 ++++
> >  drivers/net/{ => ethernet/micrel}/ks8842.c     |    0
> >  drivers/net/{ => ethernet/micrel}/ks8851.c     |    0
> >  drivers/net/{ => ethernet/micrel}/ks8851.h     |    0
> >  drivers/net/{ => ethernet/micrel}/ks8851_mll.c |    0
> >  drivers/net/{ => ethernet/micrel}/ksz884x.c    |    0
> >  11 files changed, 61 insertions(+), 39 deletions(-)
> >
> > commit 518f5abc833cb0c30b79161c071b7c93ed458c6d
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sat Jun 11 02:29:36 2011 -0700
> >
> >    fsl_*/gianfar*/ucc_*: Move the Freescale drivers
> >
> >    Move the Freescale driver into drivers/net/ethernet/freescale/
> and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Sandeep Gopalpet <sandeep.kumar@freescale.com>
> >    CC: Andy Fleming <afleming@freescale.com>
> >    CC: Shlomi Gridish <gridish@freescale.com>
> >    CC: Li Yang <leoli@freescale.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |   33
> -------------
> >  drivers/net/Makefile                               |   14 ------
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/freescale/Kconfig             |   48
> ++++++++++++++++++++
> >  drivers/net/ethernet/freescale/Makefile            |   13 +++++
> >  .../net/{ => ethernet/freescale}/fs_enet/Kconfig   |    2 +-
> >  .../net/{ => ethernet/freescale}/fs_enet/Makefile  |    0
> >  drivers/net/{ => ethernet/freescale}/fs_enet/fec.h |    0
> >  .../freescale}/fs_enet/fs_enet-main.c              |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/fs_enet.h |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mac-fcc.c |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mac-fec.c |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mac-scc.c |    0
> >  .../{ => ethernet/freescale}/fs_enet/mii-bitbang.c |    0
> >  .../net/{ => ethernet/freescale}/fs_enet/mii-fec.c |    0
> >  drivers/net/{ => ethernet/freescale}/fsl_pq_mdio.c |    0
> >  drivers/net/{ => ethernet/freescale}/fsl_pq_mdio.h |    0
> >  drivers/net/{ => ethernet/freescale}/gianfar.c     |    0
> >  drivers/net/{ => ethernet/freescale}/gianfar.h     |    0
> >  .../net/{ => ethernet/freescale}/gianfar_ethtool.c |    0
> >  drivers/net/{ => ethernet/freescale}/gianfar_ptp.c |    0
> >  .../net/{ => ethernet/freescale}/gianfar_sysfs.c   |    0
> >  drivers/net/{ => ethernet/freescale}/ucc_geth.c    |    0
> >  drivers/net/{ => ethernet/freescale}/ucc_geth.h    |    0
> >  .../{ => ethernet/freescale}/ucc_geth_ethtool.c    |    0
> >  27 files changed, 65 insertions(+), 49 deletions(-)
> >
> > commit dbf507c912fcc804a20d86d2194fc4a4298f39df
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sat Jun 11 01:13:22 2011 -0700
> >
> >    eepro/eexpress/eth16i/ewrk3/lp486e/seeq8005/znet: Move the ISA
> drivers
> >
> >    Move the ISA drivers into drivers/net/ethernet/isa/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Philip Blundell <philb@gnu.org>
> >    CC: Mika Kuoppala <miku@iki.fi>
> >    CC: <bao.ha@srs.gov>
> >    CC: <aris@cathedrallabs.org>
> >    CC: David Davies <davies@maniac.ultranet.com>
> >    CC: <aeb@cwi.nl>
> >    CC: Hamish Coleman <hamish@zot.apana.org.au>
> >    CC: Donald Becker <becker@scyld.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                               |    4 +-
> >  drivers/net/Kconfig                       |   98
> ----------------------------
> >  drivers/net/Makefile                      |   10 ---
> >  drivers/net/ethernet/Kconfig              |    1 +
> >  drivers/net/ethernet/Makefile             |    1 +
> >  drivers/net/ethernet/isa/Kconfig          |  101
> +++++++++++++++++++++++++++++
> >  drivers/net/ethernet/isa/Makefile         |   11 +++
> >  drivers/net/{ => ethernet/isa}/eepro.c    |    0
> >  drivers/net/{ => ethernet/isa}/eexpress.c |    0
> >  drivers/net/{ => ethernet/isa}/eexpress.h |    0
> >  drivers/net/{ => ethernet/isa}/eth16i.c   |    0
> >  drivers/net/{ => ethernet/isa}/ewrk3.c    |    0
> >  drivers/net/{ => ethernet/isa}/ewrk3.h    |    0
> >  drivers/net/{ => ethernet/isa}/lp486e.c   |    0
> >  drivers/net/{ => ethernet/isa}/seeq8005.c |    0
> >  drivers/net/{ => ethernet/isa}/seeq8005.h |    0
> >  drivers/net/{ => ethernet/isa}/znet.c     |    0
> >  17 files changed, 116 insertions(+), 110 deletions(-)
> >
> > commit b8a6199b8d692ae17932b8c8cc709898255a51ad
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 20:43:09 2011 -0700
> >
> >    via-*: Move the VIA drivers
> >
> >    Move the VIA drivers into drivers/net/ethernet/via/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Roger Luethi <rl@hellgate.ch>
> >    CC: Francois Romieu <romieu@fr.zoreil.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                   |    4 +-
> >  drivers/net/Kconfig                           |   36
> -----------------
> >  drivers/net/Makefile                          |    2 -
> >  drivers/net/ethernet/Kconfig                  |    1 +
> >  drivers/net/ethernet/Makefile                 |    1 +
> >  drivers/net/ethernet/via/Kconfig              |   52
> +++++++++++++++++++++++++
> >  drivers/net/ethernet/via/Makefile             |    6 +++
> >  drivers/net/{ => ethernet/via}/via-rhine.c    |    0
> >  drivers/net/{ => ethernet/via}/via-velocity.c |    0
> >  drivers/net/{ => ethernet/via}/via-velocity.h |    0
> >  10 files changed, 62 insertions(+), 40 deletions(-)
> >
> > commit 0cc82a49e423bc0b2ee19c49ad24376d1ffccdc5
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 20:18:55 2011 -0700
> >
> >    skge/sky2: Move the SysKonnect Ethernet drivers
> >
> >    Move the SysKonnect (Ethernet only) drivers into
> drivers/net/ethernet/syskonnect/
> >    and make the necessary Kconfig and Makefile changes.
> >
> >    CC: Stephen Hemminger <shemminger@linux-foundation.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                  |    3 +-
> >  drivers/net/Kconfig                          |   58
> --------------------
> >  drivers/net/Makefile                         |    2 -
> >  drivers/net/ethernet/Kconfig                 |    1 +
> >  drivers/net/ethernet/Makefile                |    1 +
> >  drivers/net/ethernet/syskonnect/Kconfig      |   74
> ++++++++++++++++++++++++++
> >  drivers/net/ethernet/syskonnect/Makefile     |    6 ++
> >  drivers/net/{ => ethernet/syskonnect}/skge.c |    0
> >  drivers/net/{ => ethernet/syskonnect}/skge.h |    0
> >  drivers/net/{ => ethernet/syskonnect}/sky2.c |    0
> >  drivers/net/{ => ethernet/syskonnect}/sky2.h |    0
> >  11 files changed, 83 insertions(+), 62 deletions(-)
> >
> > commit c9e8faa7214a8911a22281e6e688e0cc69bb54b8
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 19:48:55 2011 -0700
> >
> >    pch_gbe: Move the OKI driver
> >
> >    Move the OKI driver into driver/net/ethernet/pch_gbe/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    Note: there is no documented maintainer for this driver, so I
> CC'd
> >    the last 2 major contributors.
> >
> >    CC: Tomoya <tomoya-linux@dsn.okisemi.com>
> >    CC: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                                |   19
> -------------------
> >  drivers/net/Makefile                               |    1 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/pch_gbe/Kconfig               |   20
> ++++++++++++++++++++
> >  drivers/net/{ => ethernet}/pch_gbe/Makefile        |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe.h       |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_api.c   |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_api.h   |    0
> >  .../net/{ => ethernet}/pch_gbe/pch_gbe_ethtool.c   |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_main.c  |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_param.c |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_phy.c   |    0
> >  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_phy.h   |    0
> >  14 files changed, 22 insertions(+), 20 deletions(-)
> >
> > commit 63e70fbc3837e36fbcc3e5b3d12eed74919e3beb
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 07:50:27 2011 -0700
> >
> >    ioc3-eth/meth/sgiseeq: Move the SGI drivers
> >
> >    Move the SGI drivers into drivers/net/ethernet/sgi/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Ralf Baechle <ralf@linux-mips.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                               |    2 +-
> >  drivers/net/Kconfig                       |   21 ----------------
> >  drivers/net/Makefile                      |    3 --
> >  drivers/net/ethernet/Kconfig              |    1 +
> >  drivers/net/ethernet/Makefile             |    1 +
> >  drivers/net/ethernet/sgi/Kconfig          |   37
> +++++++++++++++++++++++++++++
> >  drivers/net/ethernet/sgi/Makefile         |    7 +++++
> >  drivers/net/{ => ethernet/sgi}/ioc3-eth.c |    0
> >  drivers/net/{ => ethernet/sgi}/meth.c     |    0
> >  drivers/net/{ => ethernet/sgi}/meth.h     |    0
> >  drivers/net/{ => ethernet/sgi}/sgiseeq.c  |    0
> >  drivers/net/{ => ethernet/sgi}/sgiseeq.h  |    0
> >  12 files changed, 47 insertions(+), 25 deletions(-)
> >
> > commit 33bb1962fa6983fb17a7c95a5b44be697878783b
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 07:15:19 2011 -0700
> >
> >    tulip: Move the tulip drivers
> >
> >    Move the tulip driver into drivers/net/ethernet/tulip/ and make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Tobias Ringstrom <tori@unhappy.mine.nu>
> >    CC: Grant Grundler <grundler@parisc-linux.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |    4 ++--
> >  drivers/net/Kconfig                            |    2 --
> >  drivers/net/Makefile                           |    1 -
> >  drivers/net/ethernet/Kconfig                   |    2 ++
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/{ => ethernet}/tulip/21142.c       |    0
> >  drivers/net/{ => ethernet}/tulip/Kconfig       |    0
> >  drivers/net/{ => ethernet}/tulip/Makefile      |    0
> >  drivers/net/{ => ethernet}/tulip/de2104x.c     |    0
> >  drivers/net/{ => ethernet}/tulip/de4x5.c       |    0
> >  drivers/net/{ => ethernet}/tulip/de4x5.h       |    0
> >  drivers/net/{ => ethernet}/tulip/dmfe.c        |    0
> >  drivers/net/{ => ethernet}/tulip/eeprom.c      |    0
> >  drivers/net/{ => ethernet}/tulip/interrupt.c   |    0
> >  drivers/net/{ => ethernet}/tulip/media.c       |    0
> >  drivers/net/{ => ethernet}/tulip/pnic.c        |    0
> >  drivers/net/{ => ethernet}/tulip/pnic2.c       |    0
> >  drivers/net/{ => ethernet}/tulip/timer.c       |    0
> >  drivers/net/{ => ethernet}/tulip/tulip.h       |    0
> >  drivers/net/{ => ethernet}/tulip/tulip_core.c  |    0
> >  drivers/net/{ => ethernet}/tulip/uli526x.c     |    0
> >  drivers/net/{ => ethernet}/tulip/winbond-840.c |    0
> >  drivers/net/{ => ethernet}/tulip/xircom_cb.c   |    0
> >  23 files changed, 5 insertions(+), 5 deletions(-)
> >
> > commit 9091cea3242dcc16138cef784c4880a819b28c1e
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 06:55:16 2011 -0700
> >
> >    atl*: Move the Atheros drivers
> >
> >    Move the Atheros drivers into drivers/net/ethernet/atheros/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Jay Cliburn <jcliburn@gmail.com>
> >    CC: Chris Snook <chris.snook@gmail.com>
> >    CC: Jie Yang <jie.yang@atheros.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |   45
> --------------
> >  drivers/net/Makefile                               |    4 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/atheros/Kconfig               |   61
> ++++++++++++++++++++
> >  drivers/net/ethernet/atheros/Makefile              |    8 +++
> >  drivers/net/{ => ethernet/atheros}/atl1c/Makefile  |    0
> >  drivers/net/{ => ethernet/atheros}/atl1c/atl1c.h   |    0
> >  .../{ => ethernet/atheros}/atl1c/atl1c_ethtool.c   |    0
> >  .../net/{ => ethernet/atheros}/atl1c/atl1c_hw.c    |    0
> >  .../net/{ => ethernet/atheros}/atl1c/atl1c_hw.h    |    0
> >  .../net/{ => ethernet/atheros}/atl1c/atl1c_main.c  |    0
> >  drivers/net/{ => ethernet/atheros}/atl1e/Makefile  |    0
> >  drivers/net/{ => ethernet/atheros}/atl1e/atl1e.h   |    0
> >  .../{ => ethernet/atheros}/atl1e/atl1e_ethtool.c   |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_hw.c    |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_hw.h    |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_main.c  |    0
> >  .../net/{ => ethernet/atheros}/atl1e/atl1e_param.c |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/Makefile   |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl1.c     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl1.h     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl2.c     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atl2.h     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atlx.c     |    0
> >  drivers/net/{ => ethernet/atheros}/atlx/atlx.h     |    0
> >  27 files changed, 72 insertions(+), 50 deletions(-)
> >
> > commit c97cb6d3434e3a3fa4d415f436e04475df39e443
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 20 00:04:35 2011 -0700
> >
> >    de6*/dl2k: Move the D-Link drivers
> >
> >    Move the D-Link drivers into drivers/net/ethernet/dlink/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Bjorn Ekwall <bj0rn@blox.se>
> >    CC: Donald Becker <becker@scyld.com>
> >    CC: Edward Peng <edward_peng@dlink.com.tw>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                      |   44
> ----------------------
> >  drivers/net/Makefile                     |    3 -
> >  drivers/net/ethernet/Kconfig             |    1 +
> >  drivers/net/ethernet/Makefile            |    1 +
> >  drivers/net/ethernet/dlink/Kconfig       |   60
> ++++++++++++++++++++++++++++++
> >  drivers/net/ethernet/dlink/Makefile      |    7 +++
> >  drivers/net/{ => ethernet/dlink}/de600.c |    0
> >  drivers/net/{ => ethernet/dlink}/de600.h |    0
> >  drivers/net/{ => ethernet/dlink}/de620.c |    0
> >  drivers/net/{ => ethernet/dlink}/de620.h |    0
> >  drivers/net/{ => ethernet/dlink}/dl2k.c  |    0
> >  drivers/net/{ => ethernet/dlink}/dl2k.h  |    0
> >  12 files changed, 69 insertions(+), 47 deletions(-)
> >
> > commit 268a0fa7d7159b37d1123d68343c555f44221510
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 23:27:55 2011 -0700
> >
> >    8139*/atp/r8169: Move the Realtek drivers
> >
> >    Move the Realtek drivers into drivers/net/ethernet/realtek/ and
> make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Realtek linux nic maintainers <nic_swsd@realtek.com>
> >    CC: Francois Romieu <romieu@fr.zoreil.com>
> >    CC: Jeff Garzik <jgarzik@pobox.com>
> >    CC: Donald Becker <becker@scyld.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                  |    2 +-
> >  drivers/net/Kconfig                          |   94
> ----------------------
> >  drivers/net/Makefile                         |    4 -
> >  drivers/net/ethernet/Kconfig                 |    1 +
> >  drivers/net/ethernet/Makefile                |    1 +
> >  drivers/net/{ => ethernet/realtek}/8139cp.c  |    0
> >  drivers/net/{ => ethernet/realtek}/8139too.c |    0
> >  drivers/net/ethernet/realtek/Kconfig         |  110
> ++++++++++++++++++++++++++
> >  drivers/net/ethernet/realtek/Makefile        |    8 ++
> >  drivers/net/{ => ethernet/realtek}/atp.c     |    0
> >  drivers/net/{ => ethernet/realtek}/atp.h     |    0
> >  drivers/net/{ => ethernet/realtek}/r8169.c   |    0
> >  12 files changed, 121 insertions(+), 99 deletions(-)
> >
> > commit 5fe875b9e93af6b5a099b37471bebb541f1ba0c6
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 22:06:03 2011 -0700
> >
> >    arm: Move the ARM/ACORN drivers
> >
> >    Move the ARM/ACORN drivers into drivers/net/ethernet/arm/ and
> make the
> >    necessary Kconfig and Makefile changes.
> >    There were 4 drivers (TI Davinci & ftmac100) not in the
> >    drivers/net/arm/ which should have been since they are only
> supported
> >    under ARM, so they were added to the new directory structure.
> >
> >    NOTE: There are no "maintainers" for the TI Davinci drivers, so I
> am
> >    CC'ing the last 3 major contributors from TI.
> >
> >    CC: Sriram <srk@ti.com>
> >    CC: Vinay Hegde <vinay.hegde@ti.com>
> >    CC: Cyril Chemparathy <cyril@ti.com>
> >    CC: Russell King <linux@arm.linux.org.uk>
> >    CC: Wan ZongShun <mcuos.com@gmail.com>
> >    CC: Lennert Buytenhek <kernel@wantstofly.org>
> >    CC: Krzysztof Halasa <khc@pm.waw.pl>
> >    CC: Po-Yu Chuang <ratbert@faraday-tech.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |   10 +-
> >  drivers/net/Kconfig                            |   51 ---------
> >  drivers/net/Makefile                           |    7 --
> >  drivers/net/arm/Kconfig                        |   74 -------------
> >  drivers/net/ethernet/Kconfig                   |    1 +
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/arm/Kconfig               |  138
> ++++++++++++++++++++++++
> >  drivers/net/{ => ethernet}/arm/Makefile        |    6 +-
> >  drivers/net/{ => ethernet}/arm/am79c961a.c     |    0
> >  drivers/net/{ => ethernet}/arm/am79c961a.h     |    0
> >  drivers/net/{ => ethernet}/arm/at91_ether.c    |    0
> >  drivers/net/{ => ethernet}/arm/at91_ether.h    |    0
> >  drivers/net/{ => ethernet/arm}/davinci_cpdma.c |    0
> >  drivers/net/{ => ethernet/arm}/davinci_cpdma.h |    0
> >  drivers/net/{ => ethernet/arm}/davinci_emac.c  |    0
> >  drivers/net/{ => ethernet/arm}/davinci_mdio.c  |    0
> >  drivers/net/{ => ethernet}/arm/ep93xx_eth.c    |    0
> >  drivers/net/{ => ethernet}/arm/ether1.c        |    0
> >  drivers/net/{ => ethernet}/arm/ether1.h        |    0
> >  drivers/net/{ => ethernet}/arm/ether3.c        |    0
> >  drivers/net/{ => ethernet}/arm/ether3.h        |    0
> >  drivers/net/{ => ethernet}/arm/etherh.c        |    0
> >  drivers/net/{ => ethernet/arm}/ftgmac100.c     |    0
> >  drivers/net/{ => ethernet/arm}/ftgmac100.h     |    0
> >  drivers/net/{ => ethernet/arm}/ftmac100.c      |    0
> >  drivers/net/{ => ethernet/arm}/ftmac100.h      |    0
> >  drivers/net/{ => ethernet}/arm/ixp4xx_eth.c    |    0
> >  drivers/net/{ => ethernet}/arm/ks8695net.c     |    0
> >  drivers/net/{ => ethernet}/arm/ks8695net.h     |    0
> >  drivers/net/{ => ethernet}/arm/w90p910_ether.c |    0
> >  30 files changed, 150 insertions(+), 138 deletions(-)
> >
> > commit 17c347d9648541503aef09b95b207737b151ddea
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Thu May 19 20:18:50 2011 -0700
> >
> >    smsc*/smc911x: Move the SMSC drivers
> >
> >    Move the SMSC drivers into drivers/net/ethernet/smsc/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Dustin McIntire <dustin@sensoria.com>
> >    CC: Steve Glendinning <steve.glendinning@smsc.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                |    4 +-
> >  drivers/net/Kconfig                        |   54
> ---------------------
> >  drivers/net/Makefile                       |    3 -
> >  drivers/net/ethernet/Kconfig               |    1 +
> >  drivers/net/ethernet/Makefile              |    1 +
> >  drivers/net/ethernet/smsc/Kconfig          |   71
> ++++++++++++++++++++++++++++
> >  drivers/net/ethernet/smsc/Makefile         |    7 +++
> >  drivers/net/{ => ethernet/smsc}/smc911x.c  |    0
> >  drivers/net/{ => ethernet/smsc}/smc911x.h  |    0
> >  drivers/net/{ => ethernet/smsc}/smsc911x.c |    0
> >  drivers/net/{ => ethernet/smsc}/smsc911x.h |    0
> >  drivers/net/{ => ethernet/smsc}/smsc9420.c |    0
> >  drivers/net/{ => ethernet/smsc}/smsc9420.h |    0
> >  13 files changed, 82 insertions(+), 59 deletions(-)
> >
> > commit f93707a2948f67da9fbe12ff93f6c5a95d6fb23d
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Wed May 18 05:14:22 2011 -0700
> >
> >    *sonic/natsemi/ns83829: Move the National Semi-conductor drivers
> >
> >    Move the National Semi-conductor drivers into
> drivers/net/ethernet/natsemi/
> >    and make the necessary Kconfig and Makefile changes.  Also moved
> the 8390
> >    (National Semi-conductor) devices as a sub-menu of National
> Semi-conductor
> >    devices.
> >
> >    CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> >    CC: Harald Welte <laforge@gnumonks.org>
> >    CC: Tim Hockin <thockin@hockin.org>
> >    CC: <linux-ns83820@kvack.org>
> >    CC: Kevin Chea <kchea@yahoo.com>
> >    CC: Marc Gauthier <marc@linux-xtensa.org>
> >    CC: Chris Zankel <chris@zankel.net>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                    |    4 +-
> >  drivers/net/Kconfig                            |   47
> ------------------
> >  drivers/net/Makefile                           |    6 --
> >  drivers/net/ethernet/8390/Kconfig              |    6 +-
> >  drivers/net/ethernet/Kconfig                   |    3 +-
> >  drivers/net/ethernet/Makefile                  |    1 +
> >  drivers/net/ethernet/natsemi/Kconfig           |   63
> ++++++++++++++++++++++++
> >  drivers/net/ethernet/natsemi/Makefile          |    9 +++
> >  drivers/net/{ => ethernet/natsemi}/jazzsonic.c |    0
> >  drivers/net/{ => ethernet/natsemi}/macsonic.c  |    0
> >  drivers/net/{ => ethernet/natsemi}/natsemi.c   |    0
> >  drivers/net/{ => ethernet/natsemi}/ns83820.c   |    0
> >  drivers/net/{ => ethernet/natsemi}/sonic.c     |    0
> >  drivers/net/{ => ethernet/natsemi}/sonic.h     |    0
> >  drivers/net/{ => ethernet/natsemi}/xtsonic.c   |    0
> >  15 files changed, 80 insertions(+), 59 deletions(-)
> >
> > commit 8a352394d237f49f4d142874057d4179a1169607
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon May 16 01:39:01 2011 -0700
> >
> >    bmac/mace/macmace/mac89x0/cs89x0: Move the Macintosh (Apple)
> drivers
> >
> >    Move the Apple drivers into driver/net/ethernet/apple/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Paul Mackerras <paulus@samba.org>
> >    CC: Paul Mackerras <paulus@au.ibm.com>
> >    CC: Russell Nelson <nelson@crynwr.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  drivers/net/Kconfig                        |   75
> ----------------------
> >  drivers/net/Makefile                       |    6 --
> >  drivers/net/ethernet/Kconfig               |    1 +
> >  drivers/net/ethernet/Makefile              |    1 +
> >  drivers/net/ethernet/apple/Kconfig         |   92
> ++++++++++++++++++++++++++++
> >  drivers/net/ethernet/apple/Makefile        |    9 +++
> >  drivers/net/{ => ethernet/apple}/bmac.c    |    0
> >  drivers/net/{ => ethernet/apple}/bmac.h    |    0
> >  drivers/net/{ => ethernet/apple}/cs89x0.c  |    0
> >  drivers/net/{ => ethernet/apple}/cs89x0.h  |    0
> >  drivers/net/{ => ethernet/apple}/mac89x0.c |    0
> >  drivers/net/{ => ethernet/apple}/mace.c    |    0
> >  drivers/net/{ => ethernet/apple}/mace.h    |    0
> >  drivers/net/{ => ethernet/apple}/macmace.c |    0
> >  14 files changed, 103 insertions(+), 81 deletions(-)
> >
> > commit 0222c318a10195f618d82f9f7c4e0d61564bcc5d
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Mon May 16 00:05:19 2011 -0700
> >
> >    stmmac: Move the STMicroelectronics driver
> >
> >    Move the STMicroelectronics driver into
> driver/net/ethernet/stmmac/ and
> >    make the necessary Kconfig and Makefile changes.
> >
> >    CC: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |    2 --
> >  drivers/net/Makefile                               |    1 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/{ => ethernet}/stmmac/Kconfig          |    0
> >  drivers/net/{ => ethernet}/stmmac/Makefile         |    0
> >  drivers/net/{ => ethernet}/stmmac/common.h         |    0
> >  drivers/net/{ => ethernet}/stmmac/descs.h          |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac100.h       |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac1000.h      |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac1000_core.c |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac1000_dma.c  |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac100_core.c  |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac100_dma.c   |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac_dma.h      |    0
> >  drivers/net/{ => ethernet}/stmmac/dwmac_lib.c      |    0
> >  drivers/net/{ => ethernet}/stmmac/enh_desc.c       |    0
> >  drivers/net/{ => ethernet}/stmmac/norm_desc.c      |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac.h         |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_ethtool.c |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_main.c    |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_mdio.c    |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_timer.c   |    0
> >  drivers/net/{ => ethernet}/stmmac/stmmac_timer.h   |    0
> >  25 files changed, 3 insertions(+), 4 deletions(-)
> >
> > commit c9979075eda1f39b3cf73b51b4da05e2bc1a7a3f
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sun May 15 21:46:41 2011 -0700
> >
> >    tehuti: Move the Tehuti driver
> >
> >    Move the Tehuti driver into drivers/net/ethernet/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Alexander Indenbaum <baum@tehutinetworks.net>
> >    CC: Andy Gospodarek <andy@greyhouse.net>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                         |    2 +-
> >  drivers/net/Kconfig                 |    6 ------
> >  drivers/net/Makefile                |    1 -
> >  drivers/net/ethernet/Kconfig        |    6 ++++++
> >  drivers/net/ethernet/Makefile       |    1 +
> >  drivers/net/{ => ethernet}/tehuti.c |    0
> >  drivers/net/{ => ethernet}/tehuti.h |    0
> >  7 files changed, 8 insertions(+), 8 deletions(-)
> >
> > commit 9b8448aa63ea26e8cbe23df6064146b2bcf1429c
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Sun May 15 20:56:37 2011 -0700
> >
> >    pasemic_mac*: Move the PA Semi driver
> >
> >    Move the PA Semi driver into drivers/net/ethernet/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Olof Johansson <olof@lixom.net>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                     |    2 +-
> >  drivers/net/Kconfig                             |    9 ---------
> >  drivers/net/Makefile                            |    2 --
> >  drivers/net/ethernet/Kconfig                    |   10 ++++++++++
> >  drivers/net/ethernet/Makefile                   |    1 +
> >  drivers/net/{ => ethernet}/pasemi_mac.c         |    0
> >  drivers/net/{ => ethernet}/pasemi_mac.h         |    0
> >  drivers/net/{ => ethernet}/pasemi_mac_ethtool.c |    0
> >  8 files changed, 12 insertions(+), 12 deletions(-)
> >
> > commit 8f45b84e5a50e13e530ccd7277e87e21bf9d3824
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 22:20:35 2011 -0700
> >
> >    enic: Move the Cisco driver
> >
> >    Move the Cisco driver into drivers/net/ethernet/enic/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Scott Feldman <scofeldm@cisco.com>
> >    CC: Christian Benvenuti <benve@cisco.com>
> >    CC: Vasanthy Kolluri <vkolluri@cisco.com>
> >    CC: Roopa Prabhu <roprabhu@cisco.com>
> >    CC: David Wang <dwang2@cisco.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                     |    2 +-
> >  drivers/net/Kconfig                             |    6 ------
> >  drivers/net/Makefile                            |    1 -
> >  drivers/net/ethernet/Kconfig                    |    1 +
> >  drivers/net/ethernet/Makefile                   |    1 +
> >  drivers/net/ethernet/enic/Kconfig               |    9 +++++++++
> >  drivers/net/{ => ethernet}/enic/Makefile        |    0
> >  drivers/net/{ => ethernet}/enic/cq_desc.h       |    0
> >  drivers/net/{ => ethernet}/enic/cq_enet_desc.h  |    0
> >  drivers/net/{ => ethernet}/enic/enic.h          |    0
> >  drivers/net/{ => ethernet}/enic/enic_dev.c      |    0
> >  drivers/net/{ => ethernet}/enic/enic_dev.h      |    0
> >  drivers/net/{ => ethernet}/enic/enic_main.c     |    0
> >  drivers/net/{ => ethernet}/enic/enic_pp.c       |    0
> >  drivers/net/{ => ethernet}/enic/enic_pp.h       |    0
> >  drivers/net/{ => ethernet}/enic/enic_res.c      |    0
> >  drivers/net/{ => ethernet}/enic/enic_res.h      |    0
> >  drivers/net/{ => ethernet}/enic/rq_enet_desc.h  |    0
> >  drivers/net/{ => ethernet}/enic/vnic_cq.c       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_cq.h       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_dev.c      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_dev.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_devcmd.h   |    0
> >  drivers/net/{ => ethernet}/enic/vnic_enet.h     |    0
> >  drivers/net/{ => ethernet}/enic/vnic_intr.c     |    0
> >  drivers/net/{ => ethernet}/enic/vnic_intr.h     |    0
> >  drivers/net/{ => ethernet}/enic/vnic_nic.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_resource.h |    0
> >  drivers/net/{ => ethernet}/enic/vnic_rq.c       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_rq.h       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_rss.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_stats.h    |    0
> >  drivers/net/{ => ethernet}/enic/vnic_vic.c      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_vic.h      |    0
> >  drivers/net/{ => ethernet}/enic/vnic_wq.c       |    0
> >  drivers/net/{ => ethernet}/enic/vnic_wq.h       |    0
> >  drivers/net/{ => ethernet}/enic/wq_enet_desc.h  |    0
> >  37 files changed, 12 insertions(+), 8 deletions(-)
> >
> > commit 21b49617eef3976ebbd73cb4bf1a1f2f6902dbbf
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 14:29:12 2011 -0700
> >
> >    ehea/ibm*: Move the IBM drivers
> >
> >    Move the IBM drivers into drivers/net/ethernet/ibm/ and make the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Christoph Raisch <raisch@de.ibm.com>
> >    CC: Alfred Arnold <alfred.arnold@lancom.de>
> >    CC: Santiago Leon <santil@linux.vnet.ibm.com>
> >    CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    4 +-
> >  drivers/net/Kconfig                                |   37
> --------------
> >  drivers/net/Makefile                               |    4 --
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/ibm/Kconfig                   |   53
> ++++++++++++++++++++
> >  drivers/net/ethernet/ibm/Makefile                  |    8 +++
> >  drivers/net/{ => ethernet/ibm}/ehea/Makefile       |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea.h         |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_ethtool.c |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_hw.h      |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_main.c    |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_phyp.c    |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_phyp.h    |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_qmr.c     |    0
> >  drivers/net/{ => ethernet/ibm}/ehea/ehea_qmr.h     |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/Kconfig |    2 +-
> >  .../net/{ => ethernet/ibm}/ibm_newemac/Makefile    |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/core.c  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/core.h  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/debug.c |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/debug.h |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/emac.h  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/mal.c   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/mal.h   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/phy.c   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/phy.h   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/rgmii.c |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/rgmii.h |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/tah.c   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/tah.h   |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/zmii.c  |    0
> >  drivers/net/{ => ethernet/ibm}/ibm_newemac/zmii.h  |    0
> >  drivers/net/{ => ethernet/ibm}/ibmlana.c           |    0
> >  drivers/net/{ => ethernet/ibm}/ibmlana.h           |    0
> >  drivers/net/{ => ethernet/ibm}/ibmveth.c           |    0
> >  drivers/net/{ => ethernet/ibm}/ibmveth.h           |    0
> >  37 files changed, 66 insertions(+), 44 deletions(-)
> >
> > commit a5c1daab860bc137dafadc061e48f4153ce89a31
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 02:51:01 2011 -0700
> >
> >    s2io/vxge: Move the Exar drivers
> >
> >    Move the Exar drivers into drivers/net/ethernet/exar/ and make
> the
> >    necessary Kconfig and Makefile changes.
> >
> >    CC: Jon Mason <jdmason@kudzu.us>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    3 +-
> >  drivers/net/Kconfig                                |   34
> -------------
> >  drivers/net/Makefile                               |    2 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/exar/Kconfig                  |   50
> ++++++++++++++++++++
> >  drivers/net/ethernet/exar/Makefile                 |    6 ++
> >  drivers/net/{ => ethernet/exar}/s2io-regs.h        |    0
> >  drivers/net/{ => ethernet/exar}/s2io.c             |    0
> >  drivers/net/{ => ethernet/exar}/s2io.h             |    0
> >  drivers/net/{ => ethernet/exar}/vxge/Makefile      |    0
> >  drivers/net/{ => ethernet/exar}/vxge/vxge-config.c |    0
> >  drivers/net/{ => ethernet/exar}/vxge/vxge-config.h |    0
> >  .../net/{ => ethernet/exar}/vxge/vxge-ethtool.c    |    0
> >  .../net/{ => ethernet/exar}/vxge/vxge-ethtool.h    |    0
> >  drivers/net/{ => ethernet/exar}/vxge/vxge-main.c   |    0
> >  drivers/net/{ => ethernet/exar}/vxge/vxge-main.h   |    0
> >  drivers/net/{ => ethernet/exar}/vxge/vxge-reg.h    |    0
> >  .../net/{ => ethernet/exar}/vxge/vxge-traffic.c    |    0
> >  .../net/{ => ethernet/exar}/vxge/vxge-traffic.h    |    0
> >  .../net/{ => ethernet/exar}/vxge/vxge-version.h    |    0
> >  21 files changed, 59 insertions(+), 38 deletions(-)
> >
> > commit 83df87d655e25119eafaeb4225bc5eedaa82c6e0
> > Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date:   Fri May 13 02:24:46 2011 -0700
> >
> >    myri*: Move the Myricom drivers
> >
> >    Move the Myricom drivers into drivers/net/ethernet/myricom/ and
> make
> >    the necessary Kconfig and Makefile changes.
> >
> >    CC: Andrew Gallatin <gallatin@myri.com>
> >    CC: Brice Goglin <brice@myri.com>
> >    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> >  MAINTAINERS                                        |    2 +-
> >  drivers/net/Kconfig                                |   35
> -------------
> >  drivers/net/Makefile                               |    3 -
> >  drivers/net/ethernet/Kconfig                       |    1 +
> >  drivers/net/ethernet/Makefile                      |    1 +
> >  drivers/net/ethernet/myricom/Kconfig               |   51
> ++++++++++++++++++++
> >  drivers/net/ethernet/myricom/Makefile              |    6 ++
> >  .../net/{ => ethernet/myricom}/myri10ge/Makefile   |    0
> >  .../net/{ => ethernet/myricom}/myri10ge/myri10ge.c |    0
> >  .../{ => ethernet/myricom}/myri10ge/myri10ge_mcp.h |    0
> >  .../myricom}/myri10ge/myri10ge_mcp_gen_header.h    |    0
> >  drivers/net/{ => ethernet/myricom}/myri_sbus.c     |    0
> >  drivers/net/{ => ethernet/myricom}/myri_sbus.h     |    0
> 
> /me puts on Myricom hat
> 
> I believe we want to put the driver above in the sbus/legacy
> directory.  Better yet, move this driver to /dev/null.  There is no
> possibility of ethernet mode on this adapter, so it's Myrinet only.
> It won't inter-op with modern versions of Myrinet, and thus can only
> work with legacy adapters.  There are no drivers for the PCI version
> of this adapter, so it only can work on ~15year old hardware.  It's
> long in the tooth, let's take it to the knackers.
> 
> Thanks,
> Jon 

That sounds good.  Since I am not the maintainer or author of the
driver, I think such a move should come from Myricom.  I can drop the
move of myri_sbus.[ch] from my patches to organize the driver/net/
directory.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: [RFC] Moving files around in drivers/net
From: Jeff Kirsher @ 2011-06-20  2:25 UTC (permalink / raw)
  To: Joe Perches; +Cc: netdev, David Miller, Paul Gortmaker, Jan Engelhardt
In-Reply-To: <1308186619.12377.23.camel@Joe-Laptop>

[-- Attachment #1: Type: text/plain, Size: 93211 bytes --]

On Wed, 2011-06-15 at 18:10 -0700, Joe Perches wrote:
> On Wed, 2011-06-15 at 11:38 -0700, Jeff Kirsher wrote:
> > On Wed, Jun 1, 2011 at 13:01, Joe Perches <joe@perches.com> wrote:
> > > On Wed, 2011-06-01 at 12:53 -0700, Jeff Kirsher wrote:
> > >> On Wed, 2011-06-01 at 12:30 -0700, Joe Perches wrote:
> > >> > Does anyone still think moving files around in drivers/net
> > >> > would be sensible and a suitable candidate for inclusion
> > >> > in 3.1?
> > >> > Here's what Jeffrey proposed:
> > >> > http://vger.kernel.org/netconf2010_slides/netconf-jtk.pdf
> > >> > Here's what I proposed before that.
> > >> > http://www.spinics.net/lists/netdev/msg149717.html
> > >> I am over 90% done with the work and have been trying to finish up the
> > >> patches so that I could get them out as an RFC here in the next week.
> > > Excellent, thanks.
> > I thought for sure I would have finished what I have left by last
> > weekend, but I keep getting interrupted.  (Blame it on the NHL stanley
> > cup playoffs) :)
> > I have created a git tree on kernel.org with all the work that I have
> > completed so far (see below).  This first stage of the move is only
> > taking care of the drivers.  The next stage will move the networking
> > core drivers (bridging, bonding, vlan, etc.) into drivers/net/sw.
> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize
> > I will send out all the patches as an RFC by the end of the week (for sure)
> 
> I've put the body of the git log below my comments
> to make it easier to discuss.
> 
> Comments:
> 
> pktgen in hamachi/yellowfin should be pkteng
> 
> I think it might be better if:
> 
> Things were more spelled out:
>         pkteng should be packetengines

That sounds fine.  I will make the change.

> And things maybe not spelled out
>         ixp2000 might just be ixp (what not intel?:)

While this is an Intel chip, the part was sold off and the driver is not
maintained by Intel.  That is reason why it does not reside in
the /driver/net/ethernet/intel/ directory.

I have not preference as to whether it resides in ixp2000 or ixp, so I
can make the change to ixp if you prefer.

> 
> And maybe drivers/net/ethernet/ should be as
> unpopulated as possible.  Maybe create a misc
> directory and throw old unclassifiable junk there.

That is what I have been trying to do, and I do agree.

> 
> Lance should be its own directory like 8390.
> I think a2065 and ariadne are lance drivers.
> 
> Some manufacturer directories are directly populated
> with multiple drivers, some have subdirectories.
> Should one style be consistently used?

This is a grey area.  I think it makes more sense to group drivers
either by company, maintainer, bus or commonly used header.  It has been
expressed by others in the community and while placing drivers in
driver/net/ethernet/<company name> is nice way to organize, companies
get bought and sold and driver ownership moves from one company to
another.  To constantly rename directories based on the ownership may
cause un-necessary flux in the directory structure.  I tried to tried to
avoid using company names unless I was confident about it.

Some of the suggestions you listed below seem fine, especially since
several of these companies have been around for some time and actively
maintain their driver(s).

> 
> pch_gbe should probably be oki.
> 
> Isn't syskonnect now marvell?
> 
> stmmac may not be a good name.  Maybe stmicro.
> 
> enic may not be a good name.  Maybe cisco.
> 
> mlx4 may be mellanox
> 
> sfc may be solarflare
> 
> bna may be brocade
> 
> cheers, Joe
> 
> $ git log --stat -M b7c7deeb4c77538577f0b6a724f10ce8693eb648..
> commit 743b1f134daef72805cb10e74d82dcbb95cd2568
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Tue Jun 14 14:02:57 2011 -0700
> 
>     hamachi/yellowfin: Move the packet engine drivers
> 
>     Move the packet engine drivers to drivers/net/ethernet/pktgen/ and
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Donald Becker <becker@scyld.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                           |   26 ---------------
>  drivers/net/Makefile                          |    2 -
>  drivers/net/ethernet/Kconfig                  |    1 +
>  drivers/net/ethernet/Makefile                 |    1 +
>  drivers/net/ethernet/pkteng/Kconfig           |   42 +++++++++++++++++++++++++
>  drivers/net/ethernet/pkteng/Makefile          |    6 +++
>  drivers/net/{ => ethernet/pkteng}/hamachi.c   |    0
>  drivers/net/{ => ethernet/pkteng}/yellowfin.c |    0
>  8 files changed, 50 insertions(+), 28 deletions(-)
> 
> commit a7ce0b86340574f90bd24c460c3495ae3e06f5fb
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Tue Jun 14 13:35:31 2011 -0700
> 
>     ixp2000: Move the Radisys driver
> 
>     Move the Radisys driver into drivers/net/ethernet/ixp2000/ and
>     make the necessary Kconfig and Makefile changes
> 
>     CC: Lennert Buytenhek <kernel@wantstofly.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |    2 --
>  drivers/net/Makefile                               |    1 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/{ => ethernet}/ixp2000/Kconfig         |    0
>  drivers/net/{ => ethernet}/ixp2000/Makefile        |    0
>  drivers/net/{ => ethernet}/ixp2000/caleb.c         |    0
>  drivers/net/{ => ethernet}/ixp2000/caleb.h         |    0
>  drivers/net/{ => ethernet}/ixp2000/enp2611.c       |    0
>  drivers/net/{ => ethernet}/ixp2000/ixp2400-msf.c   |    0
>  drivers/net/{ => ethernet}/ixp2000/ixp2400-msf.h   |    0
>  drivers/net/{ => ethernet}/ixp2000/ixp2400_rx.uc   |    0
>  .../net/{ => ethernet}/ixp2000/ixp2400_rx.ucode    |    0
>  drivers/net/{ => ethernet}/ixp2000/ixp2400_tx.uc   |    0
>  .../net/{ => ethernet}/ixp2000/ixp2400_tx.ucode    |    0
>  drivers/net/{ => ethernet}/ixp2000/ixpdev.c        |    0
>  drivers/net/{ => ethernet}/ixp2000/ixpdev.h        |    0
>  drivers/net/{ => ethernet}/ixp2000/ixpdev_priv.h   |    0
>  drivers/net/{ => ethernet}/ixp2000/pm3386.c        |    0
>  drivers/net/{ => ethernet}/ixp2000/pm3386.h        |    0
>  21 files changed, 3 insertions(+), 4 deletions(-)
> 
> commit 73091715bc0690f82ef9489f3589ad9b2d747cc0
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Tue Jun 14 12:56:50 2011 -0700
> 
>     tlan/cpmac: Move the TI drivers
> 
>     Move the TI drivers to drivers/net/ethernet/ti/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Samuel Chessman <chessman@tux.org>
>     CC: <torben.mathiasen@compaq.com>
>     CC: Eugene Konev <ejka@imfi.kspu.ru>
>     CC: Florian Fainelli <florian@openwrt.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                           |    4 +-
>  drivers/net/Kconfig                   |   25 --------------------
>  drivers/net/Makefile                  |    2 -
>  drivers/net/ethernet/Kconfig          |    1 +
>  drivers/net/ethernet/Makefile         |    1 +
>  drivers/net/ethernet/ti/Kconfig       |   41 +++++++++++++++++++++++++++++++++
>  drivers/net/ethernet/ti/Makefile      |    6 +++++
>  drivers/net/{ => ethernet/ti}/cpmac.c |    0
>  drivers/net/{ => ethernet/ti}/tlan.c  |    0
>  drivers/net/{ => ethernet/ti}/tlan.h  |    0
>  10 files changed, 51 insertions(+), 29 deletions(-)
> 
> commit 035a452c66dbc0aa7873a12cfe057c74eaf89111
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon Jun 13 10:51:34 2011 -0700
> 
>     s6gmac/tsi108_eth: Move the s6gmac/tsi108_eth drivers
> 
>     Move the s6gmac/tsi108_eth drivers to drivers/net/ethernet/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Oskar Schirmer <os@emlix.com>
>     CC: Kong Lai <kong.lai@tundra.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                     |   19 -------------------
>  drivers/net/Makefile                    |    2 --
>  drivers/net/ethernet/Kconfig            |   21 +++++++++++++++++++++
>  drivers/net/ethernet/Makefile           |    2 ++
>  drivers/net/{ => ethernet}/s6gmac.c     |    0
>  drivers/net/{ => ethernet}/tsi108_eth.c |    0
>  drivers/net/{ => ethernet}/tsi108_eth.h |    0
>  7 files changed, 23 insertions(+), 21 deletions(-)
> 
> commit 4f9d3b9af95ced49b9ad9d5fb222f5216bf0adbb
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon Jun 13 10:03:01 2011 -0700
> 
>     a2065/ariadne: Move the a2065/ariadne drivers
> 
>     Move the a2065/ariadne drivers to drivers/net/ethernet/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Geert Uytterhoeven <geert@linux-m68k.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                  |   21 ---------------------
>  drivers/net/Makefile                 |    2 --
>  drivers/net/ethernet/Kconfig         |   23 +++++++++++++++++++++++
>  drivers/net/ethernet/Makefile        |    2 ++
>  drivers/net/{ => ethernet}/a2065.c   |    0
>  drivers/net/{ => ethernet}/a2065.h   |    0
>  drivers/net/{ => ethernet}/ariadne.c |    0
>  drivers/net/{ => ethernet}/ariadne.h |    0
>  8 files changed, 25 insertions(+), 23 deletions(-)
> 
> commit aead66521a701f08e3ae91aec7c9c8863a07a511
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon Jun 13 09:43:17 2011 -0700
> 
>     82586.c/fec*: Move the Motorola drivers
> 
>     Move the Motorola drivers into drivers/net/ethernet/motorola/ and
>     make the necessary Kconfig and Makefile changes
> 
>     CC: Dan Malek <dmalek@jlc.net>
>     CC: Sylvain Munaut <tnt@246tNt.com>
>     CC: Richard Hirst <richard@sleepie.demon.co.uk>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                                |   49 --------------
>  drivers/net/Makefile                               |    7 --
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/{ => ethernet/motorola}/82596.c        |    0
>  drivers/net/ethernet/motorola/Kconfig              |   68 ++++++++++++++++++++
>  drivers/net/ethernet/motorola/Makefile             |   11 +++
>  drivers/net/{ => ethernet/motorola}/fec.c          |    0
>  drivers/net/{ => ethernet/motorola}/fec.h          |    0
>  drivers/net/{ => ethernet/motorola}/fec_mpc52xx.c  |    0
>  drivers/net/{ => ethernet/motorola}/fec_mpc52xx.h  |    0
>  .../net/{ => ethernet/motorola}/fec_mpc52xx_phy.c  |    0
>  12 files changed, 81 insertions(+), 56 deletions(-)
> 
> commit aebcb70982c66b54605fbd242f6ac035b2e205b3
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon Jun 13 08:43:49 2011 -0700
> 
>     sis*: Move the Silicon Integrated Systems (SiS) drivers
> 
>     Move the SiS drivers into drivers/net/ethernet/sis/ and make the
>     necessary Kconfig and Makefile changes
> 
>     CC: Daniele Venzano <venza@brownhat.org>
>     CC: Francois Romieu <romieu@fr.zoreil.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                             |    4 +-
>  drivers/net/Kconfig                     |   30 --------------------
>  drivers/net/Makefile                    |    2 -
>  drivers/net/ethernet/Kconfig            |    1 +
>  drivers/net/ethernet/Makefile           |    1 +
>  drivers/net/ethernet/sis/Kconfig        |   46 +++++++++++++++++++++++++++++++
>  drivers/net/ethernet/sis/Makefile       |    6 ++++
>  drivers/net/{ => ethernet/sis}/sis190.c |    0
>  drivers/net/{ => ethernet/sis}/sis900.c |    0
>  drivers/net/{ => ethernet/sis}/sis900.h |    0
>  10 files changed, 56 insertions(+), 34 deletions(-)
> 
> commit 826bef22759e1f78b284c9dc53ea442d348dbc88
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon Jun 13 08:23:31 2011 -0700
> 
>     spider_net: Move the spider_net (IBM) driver
> 
>     Move the spider_net (IBM) driver into drivers/net/ethernet/ibm/ and
>     make the necessary Kconfig and Makefile changes
> 
>     CC: Utz Bacher <utz.bacher@de.ibm.com>
>     CC: Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
>     CC: Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |    8 --------
>  drivers/net/Makefile                               |    2 --
>  drivers/net/ethernet/ibm/Kconfig                   |   11 ++++++++++-
>  drivers/net/ethernet/ibm/Makefile                  |    2 ++
>  drivers/net/{ => ethernet/ibm}/spider_net.c        |    0
>  drivers/net/{ => ethernet/ibm}/spider_net.h        |    2 +-
>  .../net/{ => ethernet/ibm}/spider_net_ethtool.c    |    0
>  8 files changed, 14 insertions(+), 13 deletions(-)
> 
> commit 776fae874e79c3bf3b6fd81eceb23993fef76c01
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon Jun 13 07:56:34 2011 -0700
> 
>     mv643xx/pxa168: Move the Marvell drivers
> 
>     Move the Marvell drivers into driver/net/ethernet/marvell and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Sachin Sanap <ssanap@marvell.com>
>     CC: Zhangfei Gao <zgao6@marvell.com>
>     CC: Philip Rakity <prakity@marvell.com>
>     CC: Mark Brown <markb@marvell.com>
>     CC: Lennert Buytenhek <buytenh@marvell.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                      |    2 +-
>  drivers/net/Kconfig                              |   23 ------------
>  drivers/net/Makefile                             |    2 -
>  drivers/net/ethernet/Kconfig                     |    1 +
>  drivers/net/ethernet/Makefile                    |    1 +
>  drivers/net/ethernet/marvell/Kconfig             |   40 ++++++++++++++++++++++
>  drivers/net/ethernet/marvell/Makefile            |    6 +++
>  drivers/net/{ => ethernet/marvell}/mv643xx_eth.c |    0
>  drivers/net/{ => ethernet/marvell}/pxa168_eth.c  |    0
>  9 files changed, 49 insertions(+), 26 deletions(-)
> 
> commit 4153aed9e3020693985219d471f8eb230a8eaefa
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Sat Jun 11 03:26:31 2011 -0700
> 
>     ks8*/ksz8*: Move the Micrel drivers
> 
>     Move the Micrel drivers into drivers/net/ethernet/micrel/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Ben Dooks <ben@simtec.co.uk>
>     CC: Tristram Ha <Tristram.Ha@micrel.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                            |   35 ----------------
>  drivers/net/Makefile                           |    4 --
>  drivers/net/ethernet/Kconfig                   |    1 +
>  drivers/net/ethernet/Makefile                  |    1 +
>  drivers/net/ethernet/micrel/Kconfig            |   51 ++++++++++++++++++++++++
>  drivers/net/ethernet/micrel/Makefile           |    8 ++++
>  drivers/net/{ => ethernet/micrel}/ks8842.c     |    0
>  drivers/net/{ => ethernet/micrel}/ks8851.c     |    0
>  drivers/net/{ => ethernet/micrel}/ks8851.h     |    0
>  drivers/net/{ => ethernet/micrel}/ks8851_mll.c |    0
>  drivers/net/{ => ethernet/micrel}/ksz884x.c    |    0
>  11 files changed, 61 insertions(+), 39 deletions(-)
> 
> commit 518f5abc833cb0c30b79161c071b7c93ed458c6d
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Sat Jun 11 02:29:36 2011 -0700
> 
>     fsl_*/gianfar*/ucc_*: Move the Freescale drivers
> 
>     Move the Freescale driver into drivers/net/ethernet/freescale/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Sandeep Gopalpet <sandeep.kumar@freescale.com>
>     CC: Andy Fleming <afleming@freescale.com>
>     CC: Shlomi Gridish <gridish@freescale.com>
>     CC: Li Yang <leoli@freescale.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |   33 -------------
>  drivers/net/Makefile                               |   14 ------
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/freescale/Kconfig             |   48 ++++++++++++++++++++
>  drivers/net/ethernet/freescale/Makefile            |   13 +++++
>  .../net/{ => ethernet/freescale}/fs_enet/Kconfig   |    2 +-
>  .../net/{ => ethernet/freescale}/fs_enet/Makefile  |    0
>  drivers/net/{ => ethernet/freescale}/fs_enet/fec.h |    0
>  .../freescale}/fs_enet/fs_enet-main.c              |    0
>  .../net/{ => ethernet/freescale}/fs_enet/fs_enet.h |    0
>  .../net/{ => ethernet/freescale}/fs_enet/mac-fcc.c |    0
>  .../net/{ => ethernet/freescale}/fs_enet/mac-fec.c |    0
>  .../net/{ => ethernet/freescale}/fs_enet/mac-scc.c |    0
>  .../{ => ethernet/freescale}/fs_enet/mii-bitbang.c |    0
>  .../net/{ => ethernet/freescale}/fs_enet/mii-fec.c |    0
>  drivers/net/{ => ethernet/freescale}/fsl_pq_mdio.c |    0
>  drivers/net/{ => ethernet/freescale}/fsl_pq_mdio.h |    0
>  drivers/net/{ => ethernet/freescale}/gianfar.c     |    0
>  drivers/net/{ => ethernet/freescale}/gianfar.h     |    0
>  .../net/{ => ethernet/freescale}/gianfar_ethtool.c |    0
>  drivers/net/{ => ethernet/freescale}/gianfar_ptp.c |    0
>  .../net/{ => ethernet/freescale}/gianfar_sysfs.c   |    0
>  drivers/net/{ => ethernet/freescale}/ucc_geth.c    |    0
>  drivers/net/{ => ethernet/freescale}/ucc_geth.h    |    0
>  .../{ => ethernet/freescale}/ucc_geth_ethtool.c    |    0
>  27 files changed, 65 insertions(+), 49 deletions(-)
> 
> commit dbf507c912fcc804a20d86d2194fc4a4298f39df
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Sat Jun 11 01:13:22 2011 -0700
> 
>     eepro/eexpress/eth16i/ewrk3/lp486e/seeq8005/znet: Move the ISA drivers
> 
>     Move the ISA drivers into drivers/net/ethernet/isa/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Philip Blundell <philb@gnu.org>
>     CC: Mika Kuoppala <miku@iki.fi>
>     CC: <bao.ha@srs.gov>
>     CC: <aris@cathedrallabs.org>
>     CC: David Davies <davies@maniac.ultranet.com>
>     CC: <aeb@cwi.nl>
>     CC: Hamish Coleman <hamish@zot.apana.org.au>
>     CC: Donald Becker <becker@scyld.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                               |    4 +-
>  drivers/net/Kconfig                       |   98 ----------------------------
>  drivers/net/Makefile                      |   10 ---
>  drivers/net/ethernet/Kconfig              |    1 +
>  drivers/net/ethernet/Makefile             |    1 +
>  drivers/net/ethernet/isa/Kconfig          |  101 +++++++++++++++++++++++++++++
>  drivers/net/ethernet/isa/Makefile         |   11 +++
>  drivers/net/{ => ethernet/isa}/eepro.c    |    0
>  drivers/net/{ => ethernet/isa}/eexpress.c |    0
>  drivers/net/{ => ethernet/isa}/eexpress.h |    0
>  drivers/net/{ => ethernet/isa}/eth16i.c   |    0
>  drivers/net/{ => ethernet/isa}/ewrk3.c    |    0
>  drivers/net/{ => ethernet/isa}/ewrk3.h    |    0
>  drivers/net/{ => ethernet/isa}/lp486e.c   |    0
>  drivers/net/{ => ethernet/isa}/seeq8005.c |    0
>  drivers/net/{ => ethernet/isa}/seeq8005.h |    0
>  drivers/net/{ => ethernet/isa}/znet.c     |    0
>  17 files changed, 116 insertions(+), 110 deletions(-)
> 
> commit b8a6199b8d692ae17932b8c8cc709898255a51ad
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 20:43:09 2011 -0700
> 
>     via-*: Move the VIA drivers
> 
>     Move the VIA drivers into drivers/net/ethernet/via/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Roger Luethi <rl@hellgate.ch>
>     CC: Francois Romieu <romieu@fr.zoreil.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                   |    4 +-
>  drivers/net/Kconfig                           |   36 -----------------
>  drivers/net/Makefile                          |    2 -
>  drivers/net/ethernet/Kconfig                  |    1 +
>  drivers/net/ethernet/Makefile                 |    1 +
>  drivers/net/ethernet/via/Kconfig              |   52 +++++++++++++++++++++++++
>  drivers/net/ethernet/via/Makefile             |    6 +++
>  drivers/net/{ => ethernet/via}/via-rhine.c    |    0
>  drivers/net/{ => ethernet/via}/via-velocity.c |    0
>  drivers/net/{ => ethernet/via}/via-velocity.h |    0
>  10 files changed, 62 insertions(+), 40 deletions(-)
> 
> commit 0cc82a49e423bc0b2ee19c49ad24376d1ffccdc5
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 20:18:55 2011 -0700
> 
>     skge/sky2: Move the SysKonnect Ethernet drivers
> 
>     Move the SysKonnect (Ethernet only) drivers into drivers/net/ethernet/syskonnect/
>     and make the necessary Kconfig and Makefile changes.
> 
>     CC: Stephen Hemminger <shemminger@linux-foundation.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                  |    3 +-
>  drivers/net/Kconfig                          |   58 --------------------
>  drivers/net/Makefile                         |    2 -
>  drivers/net/ethernet/Kconfig                 |    1 +
>  drivers/net/ethernet/Makefile                |    1 +
>  drivers/net/ethernet/syskonnect/Kconfig      |   74 ++++++++++++++++++++++++++
>  drivers/net/ethernet/syskonnect/Makefile     |    6 ++
>  drivers/net/{ => ethernet/syskonnect}/skge.c |    0
>  drivers/net/{ => ethernet/syskonnect}/skge.h |    0
>  drivers/net/{ => ethernet/syskonnect}/sky2.c |    0
>  drivers/net/{ => ethernet/syskonnect}/sky2.h |    0
>  11 files changed, 83 insertions(+), 62 deletions(-)
> 
> commit c9e8faa7214a8911a22281e6e688e0cc69bb54b8
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 19:48:55 2011 -0700
> 
>     pch_gbe: Move the OKI driver
> 
>     Move the OKI driver into driver/net/ethernet/pch_gbe/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     Note: there is no documented maintainer for this driver, so I CC'd
>     the last 2 major contributors.
> 
>     CC: Tomoya <tomoya-linux@dsn.okisemi.com>
>     CC: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                                |   19 -------------------
>  drivers/net/Makefile                               |    1 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/pch_gbe/Kconfig               |   20 ++++++++++++++++++++
>  drivers/net/{ => ethernet}/pch_gbe/Makefile        |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe.h       |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_api.c   |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_api.h   |    0
>  .../net/{ => ethernet}/pch_gbe/pch_gbe_ethtool.c   |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_main.c  |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_param.c |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_phy.c   |    0
>  drivers/net/{ => ethernet}/pch_gbe/pch_gbe_phy.h   |    0
>  14 files changed, 22 insertions(+), 20 deletions(-)
> 
> commit 63e70fbc3837e36fbcc3e5b3d12eed74919e3beb
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 07:50:27 2011 -0700
> 
>     ioc3-eth/meth/sgiseeq: Move the SGI drivers
> 
>     Move the SGI drivers into drivers/net/ethernet/sgi/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Ralf Baechle <ralf@linux-mips.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                               |    2 +-
>  drivers/net/Kconfig                       |   21 ----------------
>  drivers/net/Makefile                      |    3 --
>  drivers/net/ethernet/Kconfig              |    1 +
>  drivers/net/ethernet/Makefile             |    1 +
>  drivers/net/ethernet/sgi/Kconfig          |   37 +++++++++++++++++++++++++++++
>  drivers/net/ethernet/sgi/Makefile         |    7 +++++
>  drivers/net/{ => ethernet/sgi}/ioc3-eth.c |    0
>  drivers/net/{ => ethernet/sgi}/meth.c     |    0
>  drivers/net/{ => ethernet/sgi}/meth.h     |    0
>  drivers/net/{ => ethernet/sgi}/sgiseeq.c  |    0
>  drivers/net/{ => ethernet/sgi}/sgiseeq.h  |    0
>  12 files changed, 47 insertions(+), 25 deletions(-)
> 
> commit 33bb1962fa6983fb17a7c95a5b44be697878783b
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 07:15:19 2011 -0700
> 
>     tulip: Move the tulip drivers
> 
>     Move the tulip driver into drivers/net/ethernet/tulip/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Tobias Ringstrom <tori@unhappy.mine.nu>
>     CC: Grant Grundler <grundler@parisc-linux.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                    |    4 ++--
>  drivers/net/Kconfig                            |    2 --
>  drivers/net/Makefile                           |    1 -
>  drivers/net/ethernet/Kconfig                   |    2 ++
>  drivers/net/ethernet/Makefile                  |    1 +
>  drivers/net/{ => ethernet}/tulip/21142.c       |    0
>  drivers/net/{ => ethernet}/tulip/Kconfig       |    0
>  drivers/net/{ => ethernet}/tulip/Makefile      |    0
>  drivers/net/{ => ethernet}/tulip/de2104x.c     |    0
>  drivers/net/{ => ethernet}/tulip/de4x5.c       |    0
>  drivers/net/{ => ethernet}/tulip/de4x5.h       |    0
>  drivers/net/{ => ethernet}/tulip/dmfe.c        |    0
>  drivers/net/{ => ethernet}/tulip/eeprom.c      |    0
>  drivers/net/{ => ethernet}/tulip/interrupt.c   |    0
>  drivers/net/{ => ethernet}/tulip/media.c       |    0
>  drivers/net/{ => ethernet}/tulip/pnic.c        |    0
>  drivers/net/{ => ethernet}/tulip/pnic2.c       |    0
>  drivers/net/{ => ethernet}/tulip/timer.c       |    0
>  drivers/net/{ => ethernet}/tulip/tulip.h       |    0
>  drivers/net/{ => ethernet}/tulip/tulip_core.c  |    0
>  drivers/net/{ => ethernet}/tulip/uli526x.c     |    0
>  drivers/net/{ => ethernet}/tulip/winbond-840.c |    0
>  drivers/net/{ => ethernet}/tulip/xircom_cb.c   |    0
>  23 files changed, 5 insertions(+), 5 deletions(-)
> 
> commit 9091cea3242dcc16138cef784c4880a819b28c1e
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 06:55:16 2011 -0700
> 
>     atl*: Move the Atheros drivers
> 
>     Move the Atheros drivers into drivers/net/ethernet/atheros/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Jay Cliburn <jcliburn@gmail.com>
>     CC: Chris Snook <chris.snook@gmail.com>
>     CC: Jie Yang <jie.yang@atheros.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |   45 --------------
>  drivers/net/Makefile                               |    4 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/atheros/Kconfig               |   61 ++++++++++++++++++++
>  drivers/net/ethernet/atheros/Makefile              |    8 +++
>  drivers/net/{ => ethernet/atheros}/atl1c/Makefile  |    0
>  drivers/net/{ => ethernet/atheros}/atl1c/atl1c.h   |    0
>  .../{ => ethernet/atheros}/atl1c/atl1c_ethtool.c   |    0
>  .../net/{ => ethernet/atheros}/atl1c/atl1c_hw.c    |    0
>  .../net/{ => ethernet/atheros}/atl1c/atl1c_hw.h    |    0
>  .../net/{ => ethernet/atheros}/atl1c/atl1c_main.c  |    0
>  drivers/net/{ => ethernet/atheros}/atl1e/Makefile  |    0
>  drivers/net/{ => ethernet/atheros}/atl1e/atl1e.h   |    0
>  .../{ => ethernet/atheros}/atl1e/atl1e_ethtool.c   |    0
>  .../net/{ => ethernet/atheros}/atl1e/atl1e_hw.c    |    0
>  .../net/{ => ethernet/atheros}/atl1e/atl1e_hw.h    |    0
>  .../net/{ => ethernet/atheros}/atl1e/atl1e_main.c  |    0
>  .../net/{ => ethernet/atheros}/atl1e/atl1e_param.c |    0
>  drivers/net/{ => ethernet/atheros}/atlx/Makefile   |    0
>  drivers/net/{ => ethernet/atheros}/atlx/atl1.c     |    0
>  drivers/net/{ => ethernet/atheros}/atlx/atl1.h     |    0
>  drivers/net/{ => ethernet/atheros}/atlx/atl2.c     |    0
>  drivers/net/{ => ethernet/atheros}/atlx/atl2.h     |    0
>  drivers/net/{ => ethernet/atheros}/atlx/atlx.c     |    0
>  drivers/net/{ => ethernet/atheros}/atlx/atlx.h     |    0
>  27 files changed, 72 insertions(+), 50 deletions(-)
> 
> commit c97cb6d3434e3a3fa4d415f436e04475df39e443
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 20 00:04:35 2011 -0700
> 
>     de6*/dl2k: Move the D-Link drivers
> 
>     Move the D-Link drivers into drivers/net/ethernet/dlink/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Bjorn Ekwall <bj0rn@blox.se>
>     CC: Donald Becker <becker@scyld.com>
>     CC: Edward Peng <edward_peng@dlink.com.tw>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                      |   44 ----------------------
>  drivers/net/Makefile                     |    3 -
>  drivers/net/ethernet/Kconfig             |    1 +
>  drivers/net/ethernet/Makefile            |    1 +
>  drivers/net/ethernet/dlink/Kconfig       |   60 ++++++++++++++++++++++++++++++
>  drivers/net/ethernet/dlink/Makefile      |    7 +++
>  drivers/net/{ => ethernet/dlink}/de600.c |    0
>  drivers/net/{ => ethernet/dlink}/de600.h |    0
>  drivers/net/{ => ethernet/dlink}/de620.c |    0
>  drivers/net/{ => ethernet/dlink}/de620.h |    0
>  drivers/net/{ => ethernet/dlink}/dl2k.c  |    0
>  drivers/net/{ => ethernet/dlink}/dl2k.h  |    0
>  12 files changed, 69 insertions(+), 47 deletions(-)
> 
> commit 268a0fa7d7159b37d1123d68343c555f44221510
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu May 19 23:27:55 2011 -0700
> 
>     8139*/atp/r8169: Move the Realtek drivers
> 
>     Move the Realtek drivers into drivers/net/ethernet/realtek/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Realtek linux nic maintainers <nic_swsd@realtek.com>
>     CC: Francois Romieu <romieu@fr.zoreil.com>
>     CC: Jeff Garzik <jgarzik@pobox.com>
>     CC: Donald Becker <becker@scyld.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                  |    2 +-
>  drivers/net/Kconfig                          |   94 ----------------------
>  drivers/net/Makefile                         |    4 -
>  drivers/net/ethernet/Kconfig                 |    1 +
>  drivers/net/ethernet/Makefile                |    1 +
>  drivers/net/{ => ethernet/realtek}/8139cp.c  |    0
>  drivers/net/{ => ethernet/realtek}/8139too.c |    0
>  drivers/net/ethernet/realtek/Kconfig         |  110 ++++++++++++++++++++++++++
>  drivers/net/ethernet/realtek/Makefile        |    8 ++
>  drivers/net/{ => ethernet/realtek}/atp.c     |    0
>  drivers/net/{ => ethernet/realtek}/atp.h     |    0
>  drivers/net/{ => ethernet/realtek}/r8169.c   |    0
>  12 files changed, 121 insertions(+), 99 deletions(-)
> 
> commit 5fe875b9e93af6b5a099b37471bebb541f1ba0c6
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu May 19 22:06:03 2011 -0700
> 
>     arm: Move the ARM/ACORN drivers
> 
>     Move the ARM/ACORN drivers into drivers/net/ethernet/arm/ and make the
>     necessary Kconfig and Makefile changes.
>     There were 4 drivers (TI Davinci & ftmac100) not in the
>     drivers/net/arm/ which should have been since they are only supported
>     under ARM, so they were added to the new directory structure.
> 
>     NOTE: There are no "maintainers" for the TI Davinci drivers, so I am
>     CC'ing the last 3 major contributors from TI.
> 
>     CC: Sriram <srk@ti.com>
>     CC: Vinay Hegde <vinay.hegde@ti.com>
>     CC: Cyril Chemparathy <cyril@ti.com>
>     CC: Russell King <linux@arm.linux.org.uk>
>     CC: Wan ZongShun <mcuos.com@gmail.com>
>     CC: Lennert Buytenhek <kernel@wantstofly.org>
>     CC: Krzysztof Halasa <khc@pm.waw.pl>
>     CC: Po-Yu Chuang <ratbert@faraday-tech.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                    |   10 +-
>  drivers/net/Kconfig                            |   51 ---------
>  drivers/net/Makefile                           |    7 --
>  drivers/net/arm/Kconfig                        |   74 -------------
>  drivers/net/ethernet/Kconfig                   |    1 +
>  drivers/net/ethernet/Makefile                  |    1 +
>  drivers/net/ethernet/arm/Kconfig               |  138 ++++++++++++++++++++++++
>  drivers/net/{ => ethernet}/arm/Makefile        |    6 +-
>  drivers/net/{ => ethernet}/arm/am79c961a.c     |    0
>  drivers/net/{ => ethernet}/arm/am79c961a.h     |    0
>  drivers/net/{ => ethernet}/arm/at91_ether.c    |    0
>  drivers/net/{ => ethernet}/arm/at91_ether.h    |    0
>  drivers/net/{ => ethernet/arm}/davinci_cpdma.c |    0
>  drivers/net/{ => ethernet/arm}/davinci_cpdma.h |    0
>  drivers/net/{ => ethernet/arm}/davinci_emac.c  |    0
>  drivers/net/{ => ethernet/arm}/davinci_mdio.c  |    0
>  drivers/net/{ => ethernet}/arm/ep93xx_eth.c    |    0
>  drivers/net/{ => ethernet}/arm/ether1.c        |    0
>  drivers/net/{ => ethernet}/arm/ether1.h        |    0
>  drivers/net/{ => ethernet}/arm/ether3.c        |    0
>  drivers/net/{ => ethernet}/arm/ether3.h        |    0
>  drivers/net/{ => ethernet}/arm/etherh.c        |    0
>  drivers/net/{ => ethernet/arm}/ftgmac100.c     |    0
>  drivers/net/{ => ethernet/arm}/ftgmac100.h     |    0
>  drivers/net/{ => ethernet/arm}/ftmac100.c      |    0
>  drivers/net/{ => ethernet/arm}/ftmac100.h      |    0
>  drivers/net/{ => ethernet}/arm/ixp4xx_eth.c    |    0
>  drivers/net/{ => ethernet}/arm/ks8695net.c     |    0
>  drivers/net/{ => ethernet}/arm/ks8695net.h     |    0
>  drivers/net/{ => ethernet}/arm/w90p910_ether.c |    0
>  30 files changed, 150 insertions(+), 138 deletions(-)
> 
> commit 17c347d9648541503aef09b95b207737b151ddea
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu May 19 20:18:50 2011 -0700
> 
>     smsc*/smc911x: Move the SMSC drivers
> 
>     Move the SMSC drivers into drivers/net/ethernet/smsc/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Dustin McIntire <dustin@sensoria.com>
>     CC: Steve Glendinning <steve.glendinning@smsc.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                |    4 +-
>  drivers/net/Kconfig                        |   54 ---------------------
>  drivers/net/Makefile                       |    3 -
>  drivers/net/ethernet/Kconfig               |    1 +
>  drivers/net/ethernet/Makefile              |    1 +
>  drivers/net/ethernet/smsc/Kconfig          |   71 ++++++++++++++++++++++++++++
>  drivers/net/ethernet/smsc/Makefile         |    7 +++
>  drivers/net/{ => ethernet/smsc}/smc911x.c  |    0
>  drivers/net/{ => ethernet/smsc}/smc911x.h  |    0
>  drivers/net/{ => ethernet/smsc}/smsc911x.c |    0
>  drivers/net/{ => ethernet/smsc}/smsc911x.h |    0
>  drivers/net/{ => ethernet/smsc}/smsc9420.c |    0
>  drivers/net/{ => ethernet/smsc}/smsc9420.h |    0
>  13 files changed, 82 insertions(+), 59 deletions(-)
> 
> commit f93707a2948f67da9fbe12ff93f6c5a95d6fb23d
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Wed May 18 05:14:22 2011 -0700
> 
>     *sonic/natsemi/ns83829: Move the National Semi-conductor drivers
> 
>     Move the National Semi-conductor drivers into drivers/net/ethernet/natsemi/
>     and make the necessary Kconfig and Makefile changes.  Also moved the 8390
>     (National Semi-conductor) devices as a sub-menu of National Semi-conductor
>     devices.
> 
>     CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
>     CC: Harald Welte <laforge@gnumonks.org>
>     CC: Tim Hockin <thockin@hockin.org>
>     CC: <linux-ns83820@kvack.org>
>     CC: Kevin Chea <kchea@yahoo.com>
>     CC: Marc Gauthier <marc@linux-xtensa.org>
>     CC: Chris Zankel <chris@zankel.net>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                    |    4 +-
>  drivers/net/Kconfig                            |   47 ------------------
>  drivers/net/Makefile                           |    6 --
>  drivers/net/ethernet/8390/Kconfig              |    6 +-
>  drivers/net/ethernet/Kconfig                   |    3 +-
>  drivers/net/ethernet/Makefile                  |    1 +
>  drivers/net/ethernet/natsemi/Kconfig           |   63 ++++++++++++++++++++++++
>  drivers/net/ethernet/natsemi/Makefile          |    9 +++
>  drivers/net/{ => ethernet/natsemi}/jazzsonic.c |    0
>  drivers/net/{ => ethernet/natsemi}/macsonic.c  |    0
>  drivers/net/{ => ethernet/natsemi}/natsemi.c   |    0
>  drivers/net/{ => ethernet/natsemi}/ns83820.c   |    0
>  drivers/net/{ => ethernet/natsemi}/sonic.c     |    0
>  drivers/net/{ => ethernet/natsemi}/sonic.h     |    0
>  drivers/net/{ => ethernet/natsemi}/xtsonic.c   |    0
>  15 files changed, 80 insertions(+), 59 deletions(-)
> 
> commit 8a352394d237f49f4d142874057d4179a1169607
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon May 16 01:39:01 2011 -0700
> 
>     bmac/mace/macmace/mac89x0/cs89x0: Move the Macintosh (Apple) drivers
> 
>     Move the Apple drivers into driver/net/ethernet/apple/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Paul Mackerras <paulus@samba.org>
>     CC: Paul Mackerras <paulus@au.ibm.com>
>     CC: Russell Nelson <nelson@crynwr.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                        |   75 ----------------------
>  drivers/net/Makefile                       |    6 --
>  drivers/net/ethernet/Kconfig               |    1 +
>  drivers/net/ethernet/Makefile              |    1 +
>  drivers/net/ethernet/apple/Kconfig         |   92 ++++++++++++++++++++++++++++
>  drivers/net/ethernet/apple/Makefile        |    9 +++
>  drivers/net/{ => ethernet/apple}/bmac.c    |    0
>  drivers/net/{ => ethernet/apple}/bmac.h    |    0
>  drivers/net/{ => ethernet/apple}/cs89x0.c  |    0
>  drivers/net/{ => ethernet/apple}/cs89x0.h  |    0
>  drivers/net/{ => ethernet/apple}/mac89x0.c |    0
>  drivers/net/{ => ethernet/apple}/mace.c    |    0
>  drivers/net/{ => ethernet/apple}/mace.h    |    0
>  drivers/net/{ => ethernet/apple}/macmace.c |    0
>  14 files changed, 103 insertions(+), 81 deletions(-)
> 
> commit 0222c318a10195f618d82f9f7c4e0d61564bcc5d
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Mon May 16 00:05:19 2011 -0700
> 
>     stmmac: Move the STMicroelectronics driver
> 
>     Move the STMicroelectronics driver into driver/net/ethernet/stmmac/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Giuseppe Cavallaro <peppe.cavallaro@st.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |    2 --
>  drivers/net/Makefile                               |    1 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/{ => ethernet}/stmmac/Kconfig          |    0
>  drivers/net/{ => ethernet}/stmmac/Makefile         |    0
>  drivers/net/{ => ethernet}/stmmac/common.h         |    0
>  drivers/net/{ => ethernet}/stmmac/descs.h          |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac100.h       |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac1000.h      |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac1000_core.c |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac1000_dma.c  |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac100_core.c  |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac100_dma.c   |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac_dma.h      |    0
>  drivers/net/{ => ethernet}/stmmac/dwmac_lib.c      |    0
>  drivers/net/{ => ethernet}/stmmac/enh_desc.c       |    0
>  drivers/net/{ => ethernet}/stmmac/norm_desc.c      |    0
>  drivers/net/{ => ethernet}/stmmac/stmmac.h         |    0
>  drivers/net/{ => ethernet}/stmmac/stmmac_ethtool.c |    0
>  drivers/net/{ => ethernet}/stmmac/stmmac_main.c    |    0
>  drivers/net/{ => ethernet}/stmmac/stmmac_mdio.c    |    0
>  drivers/net/{ => ethernet}/stmmac/stmmac_timer.c   |    0
>  drivers/net/{ => ethernet}/stmmac/stmmac_timer.h   |    0
>  25 files changed, 3 insertions(+), 4 deletions(-)
> 
> commit c9979075eda1f39b3cf73b51b4da05e2bc1a7a3f
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Sun May 15 21:46:41 2011 -0700
> 
>     tehuti: Move the Tehuti driver
> 
>     Move the Tehuti driver into drivers/net/ethernet/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Alexander Indenbaum <baum@tehutinetworks.net>
>     CC: Andy Gospodarek <andy@greyhouse.net>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                         |    2 +-
>  drivers/net/Kconfig                 |    6 ------
>  drivers/net/Makefile                |    1 -
>  drivers/net/ethernet/Kconfig        |    6 ++++++
>  drivers/net/ethernet/Makefile       |    1 +
>  drivers/net/{ => ethernet}/tehuti.c |    0
>  drivers/net/{ => ethernet}/tehuti.h |    0
>  7 files changed, 8 insertions(+), 8 deletions(-)
> 
> commit 9b8448aa63ea26e8cbe23df6064146b2bcf1429c
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Sun May 15 20:56:37 2011 -0700
> 
>     pasemic_mac*: Move the PA Semi driver
> 
>     Move the PA Semi driver into drivers/net/ethernet/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Olof Johansson <olof@lixom.net>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                     |    2 +-
>  drivers/net/Kconfig                             |    9 ---------
>  drivers/net/Makefile                            |    2 --
>  drivers/net/ethernet/Kconfig                    |   10 ++++++++++
>  drivers/net/ethernet/Makefile                   |    1 +
>  drivers/net/{ => ethernet}/pasemi_mac.c         |    0
>  drivers/net/{ => ethernet}/pasemi_mac.h         |    0
>  drivers/net/{ => ethernet}/pasemi_mac_ethtool.c |    0
>  8 files changed, 12 insertions(+), 12 deletions(-)
> 
> commit 8f45b84e5a50e13e530ccd7277e87e21bf9d3824
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 22:20:35 2011 -0700
> 
>     enic: Move the Cisco driver
> 
>     Move the Cisco driver into drivers/net/ethernet/enic/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Scott Feldman <scofeldm@cisco.com>
>     CC: Christian Benvenuti <benve@cisco.com>
>     CC: Vasanthy Kolluri <vkolluri@cisco.com>
>     CC: Roopa Prabhu <roprabhu@cisco.com>
>     CC: David Wang <dwang2@cisco.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                     |    2 +-
>  drivers/net/Kconfig                             |    6 ------
>  drivers/net/Makefile                            |    1 -
>  drivers/net/ethernet/Kconfig                    |    1 +
>  drivers/net/ethernet/Makefile                   |    1 +
>  drivers/net/ethernet/enic/Kconfig               |    9 +++++++++
>  drivers/net/{ => ethernet}/enic/Makefile        |    0
>  drivers/net/{ => ethernet}/enic/cq_desc.h       |    0
>  drivers/net/{ => ethernet}/enic/cq_enet_desc.h  |    0
>  drivers/net/{ => ethernet}/enic/enic.h          |    0
>  drivers/net/{ => ethernet}/enic/enic_dev.c      |    0
>  drivers/net/{ => ethernet}/enic/enic_dev.h      |    0
>  drivers/net/{ => ethernet}/enic/enic_main.c     |    0
>  drivers/net/{ => ethernet}/enic/enic_pp.c       |    0
>  drivers/net/{ => ethernet}/enic/enic_pp.h       |    0
>  drivers/net/{ => ethernet}/enic/enic_res.c      |    0
>  drivers/net/{ => ethernet}/enic/enic_res.h      |    0
>  drivers/net/{ => ethernet}/enic/rq_enet_desc.h  |    0
>  drivers/net/{ => ethernet}/enic/vnic_cq.c       |    0
>  drivers/net/{ => ethernet}/enic/vnic_cq.h       |    0
>  drivers/net/{ => ethernet}/enic/vnic_dev.c      |    0
>  drivers/net/{ => ethernet}/enic/vnic_dev.h      |    0
>  drivers/net/{ => ethernet}/enic/vnic_devcmd.h   |    0
>  drivers/net/{ => ethernet}/enic/vnic_enet.h     |    0
>  drivers/net/{ => ethernet}/enic/vnic_intr.c     |    0
>  drivers/net/{ => ethernet}/enic/vnic_intr.h     |    0
>  drivers/net/{ => ethernet}/enic/vnic_nic.h      |    0
>  drivers/net/{ => ethernet}/enic/vnic_resource.h |    0
>  drivers/net/{ => ethernet}/enic/vnic_rq.c       |    0
>  drivers/net/{ => ethernet}/enic/vnic_rq.h       |    0
>  drivers/net/{ => ethernet}/enic/vnic_rss.h      |    0
>  drivers/net/{ => ethernet}/enic/vnic_stats.h    |    0
>  drivers/net/{ => ethernet}/enic/vnic_vic.c      |    0
>  drivers/net/{ => ethernet}/enic/vnic_vic.h      |    0
>  drivers/net/{ => ethernet}/enic/vnic_wq.c       |    0
>  drivers/net/{ => ethernet}/enic/vnic_wq.h       |    0
>  drivers/net/{ => ethernet}/enic/wq_enet_desc.h  |    0
>  37 files changed, 12 insertions(+), 8 deletions(-)
> 
> commit 21b49617eef3976ebbd73cb4bf1a1f2f6902dbbf
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 14:29:12 2011 -0700
> 
>     ehea/ibm*: Move the IBM drivers
> 
>     Move the IBM drivers into drivers/net/ethernet/ibm/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Christoph Raisch <raisch@de.ibm.com>
>     CC: Alfred Arnold <alfred.arnold@lancom.de>
>     CC: Santiago Leon <santil@linux.vnet.ibm.com>
>     CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    4 +-
>  drivers/net/Kconfig                                |   37 --------------
>  drivers/net/Makefile                               |    4 --
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/ibm/Kconfig                   |   53 ++++++++++++++++++++
>  drivers/net/ethernet/ibm/Makefile                  |    8 +++
>  drivers/net/{ => ethernet/ibm}/ehea/Makefile       |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea.h         |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_ethtool.c |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_hw.h      |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_main.c    |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_phyp.c    |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_phyp.h    |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_qmr.c     |    0
>  drivers/net/{ => ethernet/ibm}/ehea/ehea_qmr.h     |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/Kconfig |    2 +-
>  .../net/{ => ethernet/ibm}/ibm_newemac/Makefile    |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/core.c  |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/core.h  |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/debug.c |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/debug.h |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/emac.h  |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/mal.c   |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/mal.h   |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/phy.c   |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/phy.h   |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/rgmii.c |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/rgmii.h |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/tah.c   |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/tah.h   |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/zmii.c  |    0
>  drivers/net/{ => ethernet/ibm}/ibm_newemac/zmii.h  |    0
>  drivers/net/{ => ethernet/ibm}/ibmlana.c           |    0
>  drivers/net/{ => ethernet/ibm}/ibmlana.h           |    0
>  drivers/net/{ => ethernet/ibm}/ibmveth.c           |    0
>  drivers/net/{ => ethernet/ibm}/ibmveth.h           |    0
>  37 files changed, 66 insertions(+), 44 deletions(-)
> 
> commit a5c1daab860bc137dafadc061e48f4153ce89a31
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 02:51:01 2011 -0700
> 
>     s2io/vxge: Move the Exar drivers
> 
>     Move the Exar drivers into drivers/net/ethernet/exar/ and make the
>     necessary Kconfig and Makefile changes.
> 
>     CC: Jon Mason <jdmason@kudzu.us>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    3 +-
>  drivers/net/Kconfig                                |   34 -------------
>  drivers/net/Makefile                               |    2 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/exar/Kconfig                  |   50 ++++++++++++++++++++
>  drivers/net/ethernet/exar/Makefile                 |    6 ++
>  drivers/net/{ => ethernet/exar}/s2io-regs.h        |    0
>  drivers/net/{ => ethernet/exar}/s2io.c             |    0
>  drivers/net/{ => ethernet/exar}/s2io.h             |    0
>  drivers/net/{ => ethernet/exar}/vxge/Makefile      |    0
>  drivers/net/{ => ethernet/exar}/vxge/vxge-config.c |    0
>  drivers/net/{ => ethernet/exar}/vxge/vxge-config.h |    0
>  .../net/{ => ethernet/exar}/vxge/vxge-ethtool.c    |    0
>  .../net/{ => ethernet/exar}/vxge/vxge-ethtool.h    |    0
>  drivers/net/{ => ethernet/exar}/vxge/vxge-main.c   |    0
>  drivers/net/{ => ethernet/exar}/vxge/vxge-main.h   |    0
>  drivers/net/{ => ethernet/exar}/vxge/vxge-reg.h    |    0
>  .../net/{ => ethernet/exar}/vxge/vxge-traffic.c    |    0
>  .../net/{ => ethernet/exar}/vxge/vxge-traffic.h    |    0
>  .../net/{ => ethernet/exar}/vxge/vxge-version.h    |    0
>  21 files changed, 59 insertions(+), 38 deletions(-)
> 
> commit 83df87d655e25119eafaeb4225bc5eedaa82c6e0
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 02:24:46 2011 -0700
> 
>     myri*: Move the Myricom drivers
> 
>     Move the Myricom drivers into drivers/net/ethernet/myricom/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Andrew Gallatin <gallatin@myri.com>
>     CC: Brice Goglin <brice@myri.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |   35 -------------
>  drivers/net/Makefile                               |    3 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/myricom/Kconfig               |   51 ++++++++++++++++++++
>  drivers/net/ethernet/myricom/Makefile              |    6 ++
>  .../net/{ => ethernet/myricom}/myri10ge/Makefile   |    0
>  .../net/{ => ethernet/myricom}/myri10ge/myri10ge.c |    0
>  .../{ => ethernet/myricom}/myri10ge/myri10ge_mcp.h |    0
>  .../myricom}/myri10ge/myri10ge_mcp_gen_header.h    |    0
>  drivers/net/{ => ethernet/myricom}/myri_sbus.c     |    0
>  drivers/net/{ => ethernet/myricom}/myri_sbus.h     |    0
>  13 files changed, 60 insertions(+), 39 deletions(-)
> 
> commit c04bd079e4ab82c5ee8fd0cb526f16e9ffce9360
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 01:32:22 2011 -0700
> 
>     mlx4: Move the Mellanox driver
> 
>     Moves the Mellanox driver into drivers/net/ethernet/mlx4/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Roland Dreier <roland@kernel.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                            |   24 ---------------------
>  drivers/net/Makefile                           |    1 -
>  drivers/net/ethernet/Kconfig                   |    1 +
>  drivers/net/ethernet/Makefile                  |    1 +
>  drivers/net/ethernet/mlx4/Kconfig              |   27 ++++++++++++++++++++++++
>  drivers/net/{ => ethernet}/mlx4/Makefile       |    0
>  drivers/net/{ => ethernet}/mlx4/alloc.c        |    0
>  drivers/net/{ => ethernet}/mlx4/catas.c        |    0
>  drivers/net/{ => ethernet}/mlx4/cmd.c          |    0
>  drivers/net/{ => ethernet}/mlx4/cq.c           |    0
>  drivers/net/{ => ethernet}/mlx4/en_cq.c        |    0
>  drivers/net/{ => ethernet}/mlx4/en_ethtool.c   |    0
>  drivers/net/{ => ethernet}/mlx4/en_main.c      |    0
>  drivers/net/{ => ethernet}/mlx4/en_netdev.c    |    0
>  drivers/net/{ => ethernet}/mlx4/en_port.c      |    0
>  drivers/net/{ => ethernet}/mlx4/en_port.h      |    0
>  drivers/net/{ => ethernet}/mlx4/en_resources.c |    0
>  drivers/net/{ => ethernet}/mlx4/en_rx.c        |    0
>  drivers/net/{ => ethernet}/mlx4/en_selftest.c  |    0
>  drivers/net/{ => ethernet}/mlx4/en_tx.c        |    0
>  drivers/net/{ => ethernet}/mlx4/eq.c           |    0
>  drivers/net/{ => ethernet}/mlx4/fw.c           |    0
>  drivers/net/{ => ethernet}/mlx4/fw.h           |    0
>  drivers/net/{ => ethernet}/mlx4/icm.c          |    0
>  drivers/net/{ => ethernet}/mlx4/icm.h          |    0
>  drivers/net/{ => ethernet}/mlx4/intf.c         |    0
>  drivers/net/{ => ethernet}/mlx4/main.c         |    0
>  drivers/net/{ => ethernet}/mlx4/mcg.c          |    0
>  drivers/net/{ => ethernet}/mlx4/mlx4.h         |    0
>  drivers/net/{ => ethernet}/mlx4/mlx4_en.h      |    0
>  drivers/net/{ => ethernet}/mlx4/mr.c           |    0
>  drivers/net/{ => ethernet}/mlx4/pd.c           |    0
>  drivers/net/{ => ethernet}/mlx4/port.c         |    0
>  drivers/net/{ => ethernet}/mlx4/profile.c      |    0
>  drivers/net/{ => ethernet}/mlx4/qp.c           |    0
>  drivers/net/{ => ethernet}/mlx4/reset.c        |    0
>  drivers/net/{ => ethernet}/mlx4/sense.c        |    0
>  drivers/net/{ => ethernet}/mlx4/srq.c          |    0
>  38 files changed, 29 insertions(+), 25 deletions(-)
> 
> commit d911fd7be681f8833f8ff12efade39df79970653
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 01:00:03 2011 -0700
> 
>     bna: Move the Brocade driver
> 
>     Moves the Brocade driver into drivers/net/ethernet/bna/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Rasesh Mody <rmody@brocade.com>
>     CC: Debashis Dutt <ddutt@brocade.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    2 +-
>  drivers/net/Kconfig                                |   14 --------------
>  drivers/net/Makefile                               |    1 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/bna/Kconfig                   |   17 +++++++++++++++++
>  drivers/net/{ => ethernet}/bna/Makefile            |    0
>  drivers/net/{ => ethernet}/bna/bfa_cee.c           |    0
>  drivers/net/{ => ethernet}/bna/bfa_cee.h           |    0
>  drivers/net/{ => ethernet}/bna/bfa_defs.h          |    0
>  drivers/net/{ => ethernet}/bna/bfa_defs_cna.h      |    0
>  drivers/net/{ => ethernet}/bna/bfa_defs_mfg_comm.h |    0
>  drivers/net/{ => ethernet}/bna/bfa_defs_status.h   |    0
>  drivers/net/{ => ethernet}/bna/bfa_ioc.c           |    0
>  drivers/net/{ => ethernet}/bna/bfa_ioc.h           |    0
>  drivers/net/{ => ethernet}/bna/bfa_ioc_ct.c        |    0
>  drivers/net/{ => ethernet}/bna/bfa_sm.h            |    0
>  drivers/net/{ => ethernet}/bna/bfa_wc.h            |    0
>  drivers/net/{ => ethernet}/bna/bfi.h               |    0
>  drivers/net/{ => ethernet}/bna/bfi_cna.h           |    0
>  drivers/net/{ => ethernet}/bna/bfi_ctreg.h         |    0
>  drivers/net/{ => ethernet}/bna/bfi_ll.h            |    0
>  drivers/net/{ => ethernet}/bna/bna.h               |    0
>  drivers/net/{ => ethernet}/bna/bna_ctrl.c          |    0
>  drivers/net/{ => ethernet}/bna/bna_hw.h            |    0
>  drivers/net/{ => ethernet}/bna/bna_txrx.c          |    0
>  drivers/net/{ => ethernet}/bna/bna_types.h         |    0
>  drivers/net/{ => ethernet}/bna/bnad.c              |    0
>  drivers/net/{ => ethernet}/bna/bnad.h              |    0
>  drivers/net/{ => ethernet}/bna/bnad_ethtool.c      |    0
>  drivers/net/{ => ethernet}/bna/cna.h               |    0
>  drivers/net/{ => ethernet}/bna/cna_fwimg.c         |    0
>  32 files changed, 20 insertions(+), 16 deletions(-)
> 
> commit 931da59411e60574a1235d0ad2d63ebd1638a859
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 00:37:27 2011 -0700
> 
>     be2net: Move the BladeEngine 2 driver
> 
>     Moves the Server Engine driver into drivers/net/ethernet/benet/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Sathya Perla <sathya.perla@emulex.com>
>     CC: Subbu Seetharaman <subbu.seetharaman@emulex.com>
>     CC: Ajit Khaparde <ajit.khaparde@emulex.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                   |    2 +-
>  drivers/net/Kconfig                           |    2 --
>  drivers/net/Makefile                          |    1 -
>  drivers/net/ethernet/Kconfig                  |    1 +
>  drivers/net/ethernet/Makefile                 |    1 +
>  drivers/net/{ => ethernet}/benet/Kconfig      |    0
>  drivers/net/{ => ethernet}/benet/Makefile     |    0
>  drivers/net/{ => ethernet}/benet/be.h         |    0
>  drivers/net/{ => ethernet}/benet/be_cmds.c    |    0
>  drivers/net/{ => ethernet}/benet/be_cmds.h    |    0
>  drivers/net/{ => ethernet}/benet/be_ethtool.c |    0
>  drivers/net/{ => ethernet}/benet/be_hw.h      |    0
>  drivers/net/{ => ethernet}/benet/be_main.c    |    0
>  13 files changed, 3 insertions(+), 4 deletions(-)
> 
> commit 64648e513185522cd665bfece6d024d3c05588ed
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri May 13 00:17:42 2011 -0700
> 
>     sfc: Move the Solarflare drivers
> 
>     Moves the Solarflare drivers into drivers/net/ethernet/sfc/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: Steve Hodgson <shodgson@solarflare.com>
>     CC: Ben Hutchings <bhutchings@solarflare.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                    |    2 +-
>  drivers/net/Kconfig                            |    2 --
>  drivers/net/Makefile                           |    1 -
>  drivers/net/ethernet/Kconfig                   |    1 +
>  drivers/net/ethernet/Makefile                  |    1 +
>  drivers/net/{ => ethernet}/sfc/Kconfig         |    0
>  drivers/net/{ => ethernet}/sfc/Makefile        |    0
>  drivers/net/{ => ethernet}/sfc/bitfield.h      |    0
>  drivers/net/{ => ethernet}/sfc/efx.c           |    0
>  drivers/net/{ => ethernet}/sfc/efx.h           |    0
>  drivers/net/{ => ethernet}/sfc/enum.h          |    0
>  drivers/net/{ => ethernet}/sfc/ethtool.c       |    0
>  drivers/net/{ => ethernet}/sfc/falcon.c        |    0
>  drivers/net/{ => ethernet}/sfc/falcon_boards.c |    0
>  drivers/net/{ => ethernet}/sfc/falcon_xmac.c   |    0
>  drivers/net/{ => ethernet}/sfc/filter.c        |    0
>  drivers/net/{ => ethernet}/sfc/filter.h        |    0
>  drivers/net/{ => ethernet}/sfc/io.h            |    0
>  drivers/net/{ => ethernet}/sfc/mac.h           |    0
>  drivers/net/{ => ethernet}/sfc/mcdi.c          |    0
>  drivers/net/{ => ethernet}/sfc/mcdi.h          |    0
>  drivers/net/{ => ethernet}/sfc/mcdi_mac.c      |    0
>  drivers/net/{ => ethernet}/sfc/mcdi_pcol.h     |    0
>  drivers/net/{ => ethernet}/sfc/mcdi_phy.c      |    0
>  drivers/net/{ => ethernet}/sfc/mdio_10g.c      |    0
>  drivers/net/{ => ethernet}/sfc/mdio_10g.h      |    0
>  drivers/net/{ => ethernet}/sfc/mtd.c           |    0
>  drivers/net/{ => ethernet}/sfc/net_driver.h    |    0
>  drivers/net/{ => ethernet}/sfc/nic.c           |    0
>  drivers/net/{ => ethernet}/sfc/nic.h           |    0
>  drivers/net/{ => ethernet}/sfc/phy.h           |    0
>  drivers/net/{ => ethernet}/sfc/qt202x_phy.c    |    0
>  drivers/net/{ => ethernet}/sfc/regs.h          |    0
>  drivers/net/{ => ethernet}/sfc/rx.c            |    0
>  drivers/net/{ => ethernet}/sfc/selftest.c      |    0
>  drivers/net/{ => ethernet}/sfc/selftest.h      |    0
>  drivers/net/{ => ethernet}/sfc/siena.c         |    0
>  drivers/net/{ => ethernet}/sfc/spi.h           |    0
>  drivers/net/{ => ethernet}/sfc/tenxpress.c     |    0
>  drivers/net/{ => ethernet}/sfc/tx.c            |    0
>  drivers/net/{ => ethernet}/sfc/txc43128_phy.c  |    0
>  drivers/net/{ => ethernet}/sfc/workarounds.h   |    0
>  42 files changed, 3 insertions(+), 4 deletions(-)
> 
> commit a9f8e9475d4f7c91880050634e923d62e369a0ed
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu May 12 23:04:46 2011 -0700
> 
>     cassini/niu/sun*: Move the Sun drivers
> 
>     Moves the Sun drivers into drivers/net/ethernet/sun/ and make
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Sam Creasey <sammy@sammy.net>
>     CC: Adrian Sun <asun@darksunrising.com>
>     CC: Benjamin Herrenscmidt <benh@kernel.crashing.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                 |    1 +
>  drivers/net/Kconfig                         |   75 ----------------------
>  drivers/net/Makefile                        |   10 +---
>  drivers/net/ethernet/Kconfig                |    1 +
>  drivers/net/ethernet/Makefile               |    1 +
>  drivers/net/ethernet/sun/Kconfig            |   91 +++++++++++++++++++++++++++
>  drivers/net/ethernet/sun/Makefile           |   12 ++++
>  drivers/net/{ => ethernet/sun}/cassini.c    |    0
>  drivers/net/{ => ethernet/sun}/cassini.h    |    0
>  drivers/net/{ => ethernet/sun}/niu.c        |    0
>  drivers/net/{ => ethernet/sun}/niu.h        |    0
>  drivers/net/{ => ethernet/sun}/sun3_82586.c |    0
>  drivers/net/{ => ethernet/sun}/sun3_82586.h |    0
>  drivers/net/{ => ethernet/sun}/sunbmac.c    |    0
>  drivers/net/{ => ethernet/sun}/sunbmac.h    |    0
>  drivers/net/{ => ethernet/sun}/sungem.c     |    0
>  drivers/net/{ => ethernet/sun}/sungem.h     |    0
>  drivers/net/{ => ethernet/sun}/sungem_phy.c |    0
>  drivers/net/{ => ethernet/sun}/sungem_phy.h |    0
>  drivers/net/{ => ethernet/sun}/sunhme.c     |    0
>  drivers/net/{ => ethernet/sun}/sunhme.h     |    0
>  drivers/net/{ => ethernet/sun}/sunqe.c      |    0
>  drivers/net/{ => ethernet/sun}/sunqe.h      |    0
>  drivers/net/{ => ethernet/sun}/sunvnet.c    |    0
>  drivers/net/{ => ethernet/sun}/sunvnet.h    |    0
>  drivers/net/spider_net.h                    |    2 +-
>  26 files changed, 108 insertions(+), 85 deletions(-)
> 
> commit c1b4800864efcbacb0f02047609b41c9ab5290e6
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu May 12 21:21:33 2011 -0700
> 
>     ni5*/ni65: Move the Racal-Interlan (Micom) drivers
> 
>     Moves the Racal-Interlan drivers into drivers/net/ethernet/racal/ and
>     make the necessary Kconfig and Makefile changes.
> 
>     CC: "Jan-Pascal van Best" <janpascal@vanbest.org>
>     CC: Andreas Mohr <andi@lisas.de>
>     CC: "M.Hipp" <hippm@informatik.uni-tuebingen.de>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                               |    2 +-
>  drivers/net/Kconfig                       |   47 ---------------------------
>  drivers/net/Makefile                      |    3 --
>  drivers/net/ethernet/Kconfig              |    1 +
>  drivers/net/ethernet/Makefile             |    1 +
>  drivers/net/ethernet/racal/Kconfig        |   50 +++++++++++++++++++++++++++++
>  drivers/net/ethernet/racal/Makefile       |    7 ++++
>  drivers/net/{ => ethernet/racal}/ni5010.c |    0
>  drivers/net/{ => ethernet/racal}/ni5010.h |    0
>  drivers/net/{ => ethernet/racal}/ni52.c   |    0
>  drivers/net/{ => ethernet/racal}/ni52.h   |    0
>  drivers/net/{ => ethernet/racal}/ni65.c   |    0
>  drivers/net/{ => ethernet/racal}/ni65.h   |    0
>  13 files changed, 60 insertions(+), 51 deletions(-)
> 
> commit 671dc5b8fb145ff8748cdc2aeffd1ef56af8bd67
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu May 12 20:21:07 2011 -0700
> 
>     smc: Move the SMC drivers
> 
>     Moves the SMC drivers into drivers/net/ethernet/smc/ and the
>     necessary Kconfig and Makefile changes.  Also did some cleanup
>     of NET_VENDOR_SMC Kconfig tag for the 8390 based drivers.
> 
>     CC: Nicolas Pitre <nico@fluxnic.net>
>     CC: Donald Becker <becker@scyld.com>
>     CC: Erik Stahlman <erik@vt.edu>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                              |    2 +-
>  drivers/net/Kconfig                      |   51 -------------------------
>  drivers/net/Makefile                     |    4 --
>  drivers/net/ethernet/8390/Kconfig        |   21 ++--------
>  drivers/net/ethernet/Kconfig             |    1 +
>  drivers/net/ethernet/Makefile            |    1 +
>  drivers/net/ethernet/qlogic/Kconfig      |    7 +++
>  drivers/net/ethernet/qlogic/Makefile     |    1 +
>  drivers/net/ethernet/smc/Kconfig         |   61 ++++++++++++++++++++++++++++++
>  drivers/net/ethernet/smc/Makefile        |    7 +++
>  drivers/net/{ => ethernet/smc}/epic100.c |    0
>  drivers/net/{ => ethernet/smc}/smc9194.c |    0
>  drivers/net/{ => ethernet/smc}/smc9194.h |    0
>  drivers/net/{ => ethernet/smc}/smc91x.c  |    0
>  drivers/net/{ => ethernet/smc}/smc91x.h  |    0
>  15 files changed, 83 insertions(+), 73 deletions(-)
> 
> commit e9f8a5c9b5f8f469bcfae06ddd10e9dc9537f7bb
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Fri Apr 8 19:06:30 2011 -0700
> 
>     qlogic: Move the QLogic drivers
> 
>     Moves the QLogic drivers into drivers/net/ethernet/qlogic/ and
>     the necessary Kconfig and Makefile changes.
> 
>     CC: Ron Mercer <ron.mercer@qlogic.com>
>     CC: Amit Kumar Salecha <amit.salecha@qlogic.com>
>     CC: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    6 +-
>  drivers/net/Kconfig                                |   26 ------------
>  drivers/net/Makefile                               |    3 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/qlogic/Kconfig                |   42 ++++++++++++++++++++
>  drivers/net/ethernet/qlogic/Makefile               |    7 +++
>  drivers/net/{ => ethernet/qlogic}/netxen/Makefile  |    0
>  .../net/{ => ethernet/qlogic}/netxen/netxen_nic.h  |    0
>  .../{ => ethernet/qlogic}/netxen/netxen_nic_ctx.c  |    0
>  .../qlogic}/netxen/netxen_nic_ethtool.c            |    0
>  .../{ => ethernet/qlogic}/netxen/netxen_nic_hdr.h  |    0
>  .../{ => ethernet/qlogic}/netxen/netxen_nic_hw.c   |    0
>  .../{ => ethernet/qlogic}/netxen/netxen_nic_hw.h   |    0
>  .../{ => ethernet/qlogic}/netxen/netxen_nic_init.c |    0
>  .../{ => ethernet/qlogic}/netxen/netxen_nic_main.c |    0
>  drivers/net/{ => ethernet/qlogic}/qla3xxx.c        |    0
>  drivers/net/{ => ethernet/qlogic}/qla3xxx.h        |    0
>  drivers/net/{ => ethernet/qlogic}/qlcnic/Makefile  |    0
>  drivers/net/{ => ethernet/qlogic}/qlcnic/qlcnic.h  |    0
>  .../net/{ => ethernet/qlogic}/qlcnic/qlcnic_ctx.c  |    0
>  .../{ => ethernet/qlogic}/qlcnic/qlcnic_ethtool.c  |    0
>  .../net/{ => ethernet/qlogic}/qlcnic/qlcnic_hdr.h  |    0
>  .../net/{ => ethernet/qlogic}/qlcnic/qlcnic_hw.c   |    0
>  .../net/{ => ethernet/qlogic}/qlcnic/qlcnic_init.c |    0
>  .../net/{ => ethernet/qlogic}/qlcnic/qlcnic_main.c |    0
>  drivers/net/{ => ethernet/qlogic}/qlge/Makefile    |    0
>  drivers/net/{ => ethernet/qlogic}/qlge/qlge.h      |    0
>  drivers/net/{ => ethernet/qlogic}/qlge/qlge_dbg.c  |    0
>  .../net/{ => ethernet/qlogic}/qlge/qlge_ethtool.c  |    0
>  drivers/net/{ => ethernet/qlogic}/qlge/qlge_main.c |    0
>  drivers/net/{ => ethernet/qlogic}/qlge/qlge_mpi.c  |    0
>  32 files changed, 54 insertions(+), 32 deletions(-)
> 
> commit f8e68b0056ef20887bdfdc31ff061d67e81308e2
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu Apr 7 07:42:33 2011 -0700
> 
>     intel: Move the Intel wired LAN drivers
> 
>     Moves the Intel wired LAN drivers into drivers/net/ethernet/intel/ and
>     the necessary Kconfig and Makefile changes.
> 
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |   11 +-
>  drivers/net/Kconfig                                |  200 ------------------
>  drivers/net/Makefile                               |    8 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/intel/Kconfig                 |  216 ++++++++++++++++++++
>  drivers/net/ethernet/intel/Makefile                |   12 +
>  drivers/net/{ => ethernet/intel}/e100.c            |    0
>  drivers/net/{ => ethernet/intel}/e1000/Makefile    |    0
>  drivers/net/{ => ethernet/intel}/e1000/e1000.h     |    0
>  .../net/{ => ethernet/intel}/e1000/e1000_ethtool.c |    0
>  drivers/net/{ => ethernet/intel}/e1000/e1000_hw.c  |    0
>  drivers/net/{ => ethernet/intel}/e1000/e1000_hw.h  |    0
>  .../net/{ => ethernet/intel}/e1000/e1000_main.c    |    0
>  .../net/{ => ethernet/intel}/e1000/e1000_osdep.h   |    0
>  .../net/{ => ethernet/intel}/e1000/e1000_param.c   |    0
>  .../intel/e1000e/80003es2lan.c}                    |    0
>  drivers/net/{ => ethernet/intel}/e1000e/82571.c    |    0
>  drivers/net/{ => ethernet/intel}/e1000e/Makefile   |    2 +-
>  drivers/net/{ => ethernet/intel}/e1000e/defines.h  |    0
>  drivers/net/{ => ethernet/intel}/e1000e/e1000.h    |    0
>  drivers/net/{ => ethernet/intel}/e1000e/ethtool.c  |    0
>  drivers/net/{ => ethernet/intel}/e1000e/hw.h       |    0
>  drivers/net/{ => ethernet/intel}/e1000e/ich8lan.c  |    0
>  drivers/net/{ => ethernet/intel}/e1000e/lib.c      |    0
>  drivers/net/{ => ethernet/intel}/e1000e/netdev.c   |    0
>  drivers/net/{ => ethernet/intel}/e1000e/param.c    |    0
>  drivers/net/{ => ethernet/intel}/e1000e/phy.c      |    0
>  drivers/net/{ => ethernet/intel}/igb/Makefile      |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_82575.c |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_82575.h |    0
>  .../net/{ => ethernet/intel}/igb/e1000_defines.h   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_hw.h    |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_mac.c   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_mac.h   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_mbx.c   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_mbx.h   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_nvm.c   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_nvm.h   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_phy.c   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_phy.h   |    0
>  drivers/net/{ => ethernet/intel}/igb/e1000_regs.h  |    0
>  drivers/net/{ => ethernet/intel}/igb/igb.h         |    0
>  drivers/net/{ => ethernet/intel}/igb/igb_ethtool.c |    0
>  drivers/net/{ => ethernet/intel}/igb/igb_main.c    |    0
>  drivers/net/{ => ethernet/intel}/igbvf/Makefile    |    0
>  drivers/net/{ => ethernet/intel}/igbvf/defines.h   |    0
>  drivers/net/{ => ethernet/intel}/igbvf/ethtool.c   |    0
>  drivers/net/{ => ethernet/intel}/igbvf/igbvf.h     |    0
>  drivers/net/{ => ethernet/intel}/igbvf/mbx.c       |    0
>  drivers/net/{ => ethernet/intel}/igbvf/mbx.h       |    0
>  drivers/net/{ => ethernet/intel}/igbvf/netdev.c    |    0
>  drivers/net/{ => ethernet/intel}/igbvf/regs.h      |    0
>  drivers/net/{ => ethernet/intel}/igbvf/vf.c        |    0
>  drivers/net/{ => ethernet/intel}/igbvf/vf.h        |    0
>  drivers/net/{ => ethernet/intel}/ixgb/Makefile     |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb.h       |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_ee.c    |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_ee.h    |    0
>  .../net/{ => ethernet/intel}/ixgb/ixgb_ethtool.c   |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_hw.c    |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_hw.h    |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_ids.h   |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_main.c  |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_osdep.h |    0
>  drivers/net/{ => ethernet/intel}/ixgb/ixgb_param.c |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/Makefile    |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe.h     |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_82598.c   |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_82599.c   |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_common.c  |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_common.h  |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe_dcb.c |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe_dcb.h |    0
>  .../{ => ethernet/intel}/ixgbe/ixgbe_dcb_82598.c   |    0
>  .../{ => ethernet/intel}/ixgbe/ixgbe_dcb_82598.h   |    0
>  .../{ => ethernet/intel}/ixgbe/ixgbe_dcb_82599.c   |    0
>  .../{ => ethernet/intel}/ixgbe/ixgbe_dcb_82599.h   |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_dcb_nl.c  |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_ethtool.c |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_fcoe.c    |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_fcoe.h    |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_main.c    |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe_mbx.c |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe_mbx.h |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe_phy.c |    0
>  drivers/net/{ => ethernet/intel}/ixgbe/ixgbe_phy.h |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_sriov.c   |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_sriov.h   |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_type.h    |    0
>  .../net/{ => ethernet/intel}/ixgbe/ixgbe_x540.c    |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/Makefile  |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/defines.h |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/ethtool.c |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/ixgbevf.h |    0
>  .../{ => ethernet/intel}/ixgbevf/ixgbevf_main.c    |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/mbx.c     |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/mbx.h     |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/regs.h    |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/vf.c      |    0
>  drivers/net/{ => ethernet/intel}/ixgbevf/vf.h      |    0
>  101 files changed, 233 insertions(+), 218 deletions(-)
> 
> commit e9518ae90966c061c0efa161e885ba23bda6c0a8
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu Apr 7 06:57:17 2011 -0700
> 
>     chelsio: Move the Chelsio drivers
> 
>     Moves the drivers for the Chelsio chipsets into
>     drivers/net/ethernet/chelsio/ and the necessary Kconfig and Makefile
>     changes.
> 
>     CC: Divy Le Ray <divy@chelsio.com>
>     CC: Dimitris Michailidis <dm@chelsio.com>
>     CC: Casey Leedom <leedom@chelsio.com>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |    6 +-
>  drivers/net/Kconfig                                |   86 ----------------
>  drivers/net/Makefile                               |    4 -
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/chelsio/Kconfig               |  102 ++++++++++++++++++++
>  drivers/net/ethernet/chelsio/Makefile              |    8 ++
>  .../{chelsio => ethernet/chelsio/cxgb}/Makefile    |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/common.h    |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/cphy.h  |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/cpl5_cmd.h  |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/cxgb2.c |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/elmer0.h    |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/espi.c  |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/espi.h  |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/fpga_defs.h |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/gmac.h  |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/mv88e1xxx.c |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/mv88e1xxx.h |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/mv88x201x.c |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/my3126.c    |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/pm3393.c    |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/regs.h  |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/sge.c   |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/sge.h   |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/subr.c  |    0
>  .../chelsio/cxgb}/suni1x10gexp_regs.h              |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/tp.c    |    0
>  .../net/{chelsio => ethernet/chelsio/cxgb}/tp.h    |    0
>  .../{chelsio => ethernet/chelsio/cxgb}/vsc7326.c   |    0
>  .../chelsio/cxgb}/vsc7326_reg.h                    |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/Makefile  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/adapter.h |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/ael1002.c |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/aq100x.c  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/common.h  |    0
>  .../{ => ethernet/chelsio}/cxgb3/cxgb3_ctl_defs.h  |    0
>  .../net/{ => ethernet/chelsio}/cxgb3/cxgb3_defs.h  |    0
>  .../net/{ => ethernet/chelsio}/cxgb3/cxgb3_ioctl.h |    0
>  .../net/{ => ethernet/chelsio}/cxgb3/cxgb3_main.c  |    0
>  .../{ => ethernet/chelsio}/cxgb3/cxgb3_offload.c   |    0
>  .../{ => ethernet/chelsio}/cxgb3/cxgb3_offload.h   |    0
>  .../chelsio}/cxgb3/firmware_exports.h              |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/l2t.c     |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/l2t.h     |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/mc5.c     |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/regs.h    |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/sge.c     |    0
>  .../net/{ => ethernet/chelsio}/cxgb3/sge_defs.h    |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/t3_cpl.h  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/t3_hw.c   |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/t3cdev.h  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/version.h |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/vsc8211.c |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb3/xgmac.c   |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/Makefile  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/cxgb4.h   |    0
>  .../net/{ => ethernet/chelsio}/cxgb4/cxgb4_main.c  |    0
>  .../net/{ => ethernet/chelsio}/cxgb4/cxgb4_uld.h   |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/l2t.c     |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/l2t.h     |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/sge.c     |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/t4_hw.c   |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/t4_hw.h   |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/t4_msg.h  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4/t4_regs.h |    0
>  .../net/{ => ethernet/chelsio}/cxgb4/t4fw_api.h    |    0
>  .../net/{ => ethernet/chelsio}/cxgb4vf/Makefile    |    0
>  .../net/{ => ethernet/chelsio}/cxgb4vf/adapter.h   |    0
>  .../{ => ethernet/chelsio}/cxgb4vf/cxgb4vf_main.c  |    0
>  drivers/net/{ => ethernet/chelsio}/cxgb4vf/sge.c   |    0
>  .../{ => ethernet/chelsio}/cxgb4vf/t4vf_common.h   |    0
>  .../net/{ => ethernet/chelsio}/cxgb4vf/t4vf_defs.h |    0
>  .../net/{ => ethernet/chelsio}/cxgb4vf/t4vf_hw.c   |    0
>  74 files changed, 115 insertions(+), 93 deletions(-)
> 
> commit 1e954aa058cd1496b47b914878509e9ecf136d05
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Thu Apr 7 06:03:04 2011 -0700
> 
>     broadcom: Move the Broadcom drivers
> 
>     Moves the drivers for Broadcom devices into
>     drivers/net/ethernet/broadcom/ and the necessary Kconfig and Makefile
>     changes.
> 
>     CC: Eilon Greenstein <eilong@broadcom.com>
>     CC: Michael Chan <mchan@broadcom.com>
>     CC: Matt Carlson <mcarlson@broadcom.com>
>     CC: Gary Zambrano <zambrano@broadcom.com>
>     CC: "Maciej W. Rozycki" <macro@linux-mips.org>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                        |   10 +-
>  drivers/net/Kconfig                                |   99 -----------------
>  drivers/net/Makefile                               |    7 --
>  drivers/net/ethernet/Kconfig                       |    1 +
>  drivers/net/ethernet/Makefile                      |    1 +
>  drivers/net/ethernet/broadcom/Kconfig              |  114 ++++++++++++++++++++
>  drivers/net/ethernet/broadcom/Makefile             |   11 ++
>  drivers/net/{ => ethernet/broadcom}/b44.c          |    0
>  drivers/net/{ => ethernet/broadcom}/b44.h          |    0
>  drivers/net/{ => ethernet/broadcom}/bcm63xx_enet.c |    0
>  drivers/net/{ => ethernet/broadcom}/bcm63xx_enet.h |    0
>  drivers/net/{ => ethernet/broadcom}/bnx2.c         |    0
>  drivers/net/{ => ethernet/broadcom}/bnx2.h         |    0
>  drivers/net/{ => ethernet/broadcom}/bnx2_fw.h      |    0
>  drivers/net/{ => ethernet/broadcom}/bnx2x/Makefile |    0
>  drivers/net/{ => ethernet/broadcom}/bnx2x/bnx2x.h  |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_cmn.c  |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_cmn.h  |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_dcb.c  |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_dcb.h  |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_dump.h |    0
>  .../{ => ethernet/broadcom}/bnx2x/bnx2x_ethtool.c  |    0
>  .../{ => ethernet/broadcom}/bnx2x/bnx2x_fw_defs.h  |    0
>  .../broadcom}/bnx2x/bnx2x_fw_file_hdr.h            |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_hsi.h  |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_init.h |    0
>  .../{ => ethernet/broadcom}/bnx2x/bnx2x_init_ops.h |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_link.c |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_link.h |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_main.c |    0
>  .../net/{ => ethernet/broadcom}/bnx2x/bnx2x_reg.h  |    0
>  .../{ => ethernet/broadcom}/bnx2x/bnx2x_stats.c    |    0
>  .../{ => ethernet/broadcom}/bnx2x/bnx2x_stats.h    |    0
>  drivers/net/{ => ethernet/broadcom}/cnic.c         |    4 +-
>  drivers/net/{ => ethernet/broadcom}/cnic.h         |    0
>  drivers/net/{ => ethernet/broadcom}/cnic_defs.h    |    0
>  drivers/net/{ => ethernet/broadcom}/cnic_if.h      |    0
>  drivers/net/{ => ethernet/broadcom}/sb1250-mac.c   |    0
>  drivers/net/{ => ethernet/broadcom}/tg3.c          |    0
>  drivers/net/{ => ethernet/broadcom}/tg3.h          |    0
>  40 files changed, 134 insertions(+), 113 deletions(-)
> 
> commit 29072561a23c3802112a94fa0a9383773056f19a
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Sat Apr 2 06:20:12 2011 -0700
> 
>     8390: Move the 8390 related drivers
> 
>     Moves the drivers for the National Semi-conductor 8390 chipset into
>     drivers/net/ethernet/8390/ and the necessary Kconfig and Makefile
>     changes.
> 
>     CC: Donald Becker <becker@scyld.com>
>     CC: Paul Gortmaker <paul.gortmaker@windriver.com>
>     CC: Alain Malek <alain.malek@cryogen.com>
>     CC: Peter De Schrijver <p2@mind.be>
>     CC: "David Huggins-Daines" <dhd@debian.org>
>     CC: Wim Dumon <wimpie@kotnet.org>
>     CC: Yoshinori Sato <ysato@users.sourceforge.jp>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                                   |    5 +-
>  drivers/net/Kconfig                           |  283 -----------------------
>  drivers/net/Makefile                          |   22 --
>  drivers/net/ethernet/3com/Makefile            |    2 +-
>  drivers/net/{ => ethernet/8390}/8390.c        |    0
>  drivers/net/{ => ethernet/8390}/8390.h        |    0
>  drivers/net/{ => ethernet/8390}/8390p.c       |    0
>  drivers/net/ethernet/8390/Kconfig             |  301 +++++++++++++++++++++++++
>  drivers/net/ethernet/8390/Makefile            |   26 +++
>  drivers/net/{ => ethernet/8390}/ac3200.c      |    0
>  drivers/net/{ => ethernet/8390}/apne.c        |    0
>  drivers/net/{ => ethernet/8390}/ax88796.c     |    0
>  drivers/net/{ => ethernet/8390}/e2100.c       |    0
>  drivers/net/{ => ethernet/8390}/es3210.c      |    0
>  drivers/net/{ => ethernet/8390}/hp-plus.c     |    0
>  drivers/net/{ => ethernet/8390}/hp.c          |    0
>  drivers/net/{ => ethernet/8390}/hydra.c       |    0
>  drivers/net/{ => ethernet/8390}/lib8390.c     |    0
>  drivers/net/{ => ethernet/8390}/lne390.c      |    0
>  drivers/net/{ => ethernet/8390}/mac8390.c     |    0
>  drivers/net/{ => ethernet/8390}/ne-h8300.c    |    0
>  drivers/net/{ => ethernet/8390}/ne.c          |    0
>  drivers/net/{ => ethernet/8390}/ne2k-pci.c    |    0
>  drivers/net/{ => ethernet/8390}/ne3210.c      |    0
>  drivers/net/{ => ethernet/8390}/smc-mca.c     |    0
>  drivers/net/{ => ethernet/8390}/smc-ultra.c   |    0
>  drivers/net/{ => ethernet/8390}/smc-ultra32.c |    0
>  drivers/net/{ => ethernet/8390}/stnic.c       |    0
>  drivers/net/{ => ethernet/8390}/wd.c          |    0
>  drivers/net/{ => ethernet/8390}/zorro8390.c   |    0
>  drivers/net/ethernet/Kconfig                  |    1 +
>  drivers/net/ethernet/Makefile                 |    1 +
>  32 files changed, 332 insertions(+), 309 deletions(-)
> 
> commit 6b9ef2886e37d62018cd72dcdd2918e9fb982aed
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Wed Mar 30 07:46:36 2011 -0700
> 
>     amd8111e/pcnet32/*lance/mvme147: Move AMD chipset drivers
> 
>     Moves the drivers for the AMD chipsets into drivers/net/ethernet/amd/
>     and the necessary Kconfig and Makfile changes.
> 
>     CC: Peter Maydell <pmaydell@chiark.greenend.org.uk>
>     CC: Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
>     CC: "Maciej W. Rozycki" <macro@linux-mips.org>
>     CC: Donald Becker <becker@scyld.com>
>     CC: Sam Creasey <sammy@users.qual.net>
>     CC: Miguel de Icaza <miguel@nuclecu.unam.mx>
>     CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig                         |   99 -----------------------
>  drivers/net/Makefile                        |    9 --
>  drivers/net/ethernet/Kconfig                |    1 +
>  drivers/net/ethernet/Makefile               |    1 +
>  drivers/net/{ => ethernet/amd}/7990.c       |    0
>  drivers/net/{ => ethernet/amd}/7990.h       |    0
>  drivers/net/ethernet/amd/Kconfig            |  115 +++++++++++++++++++++++++++
>  drivers/net/ethernet/amd/Makefile           |   13 +++
>  drivers/net/{ => ethernet/amd}/amd8111e.c   |    0
>  drivers/net/{ => ethernet/amd}/amd8111e.h   |    0
>  drivers/net/{ => ethernet/amd}/atarilance.c |    0
>  drivers/net/{ => ethernet/amd}/declance.c   |    0
>  drivers/net/{ => ethernet/amd}/hplance.c    |    0
>  drivers/net/{ => ethernet/amd}/hplance.h    |    0
>  drivers/net/{ => ethernet/amd}/lance.c      |    0
>  drivers/net/{ => ethernet/amd}/mvme147.c    |    0
>  drivers/net/{ => ethernet/amd}/pcnet32.c    |    0
>  drivers/net/{ => ethernet/amd}/sun3lance.c  |    0
>  drivers/net/{ => ethernet/amd}/sunlance.c   |    0
>  19 files changed, 130 insertions(+), 108 deletions(-)
> 
> commit b2ee2cf62d14c842272db622d6be6374bc6d622a
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Wed Mar 30 03:47:06 2011 -0700
> 
>     3c*/acenic/typhoon: Move 3Com Ethernet drivers
> 
>     Moves the 3Com drivers into drivers/net/ethernet/3com/ and the necessary
>     Kconfig and Makefile changes.
> 
>     CC: Philip Blundell <philb@gnu.org>
>     CC: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
>     CC: David Dillow <dave@thedillows.org>
>     CC: Jes Sorensen <jes@trained-monkey.org>
>     CC: Alan Cox <alan@linux.intel.com>
>     CC: Donald Becker <becker@scyld.com>
>     CC: Craig Southeren <craigs@ineluki.apana.org.au>
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  MAINTAINERS                               |    8 +-
>  drivers/net/Kconfig                       |  177 ----------------------------
>  drivers/net/Makefile                      |   12 +--
>  drivers/net/{ => ethernet/3com}/3c501.c   |    0
>  drivers/net/{ => ethernet/3com}/3c501.h   |    0
>  drivers/net/{ => ethernet/3com}/3c503.c   |    0
>  drivers/net/{ => ethernet/3com}/3c503.h   |    0
>  drivers/net/{ => ethernet/3com}/3c505.c   |    0
>  drivers/net/{ => ethernet/3com}/3c505.h   |    0
>  drivers/net/{ => ethernet/3com}/3c507.c   |    0
>  drivers/net/{ => ethernet/3com}/3c509.c   |    0
>  drivers/net/{ => ethernet/3com}/3c515.c   |    0
>  drivers/net/{ => ethernet/3com}/3c523.c   |    0
>  drivers/net/{ => ethernet/3com}/3c523.h   |    0
>  drivers/net/{ => ethernet/3com}/3c527.c   |    0
>  drivers/net/{ => ethernet/3com}/3c527.h   |    0
>  drivers/net/{ => ethernet/3com}/3c59x.c   |    0
>  drivers/net/ethernet/3com/Kconfig         |  180 +++++++++++++++++++++++++++++
>  drivers/net/ethernet/3com/Makefile        |   15 +++
>  drivers/net/{ => ethernet/3com}/acenic.c  |    0
>  drivers/net/{ => ethernet/3com}/acenic.h  |    0
>  drivers/net/{ => ethernet/3com}/typhoon.c |    0
>  drivers/net/{ => ethernet/3com}/typhoon.h |    0
>  drivers/net/ethernet/Kconfig              |    2 +
>  drivers/net/ethernet/Makefile             |    1 +
>  25 files changed, 203 insertions(+), 192 deletions(-)
> 
> commit b918e3bb62b873c5436d413b99f593b3eed78901
> Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date:   Tue Mar 29 18:25:21 2011 -0700
> 
>     drivers/net/ethernet: Add ethernet dir and config option
> 
>     This is the initial patch to organize the drivers/net directory
>     structure and networking device driver config options.  This patch
>     does the following:
>       - add drivers/net/ethernet/Kconfig
>       - integrate the new files into the existing config
> 
>     Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
>  drivers/net/Kconfig           |    2 ++
>  drivers/net/Makefile          |    2 +-
>  drivers/net/ethernet/Kconfig  |   14 ++++++++++++++
>  drivers/net/ethernet/Makefile |    4 ++++
>  4 files changed, 21 insertions(+), 1 deletions(-)
> 
> 
> 



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: [PATCH] sgi-xp: fix a use after free
From: Robin Holt @ 2011-06-20  2:44 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: David Miller, Robin Holt, netdev
In-Reply-To: <1308523956.3539.105.camel@edumazet-laptop>

Thank you Eric.

David, if you want me to submit this through Andrew Morton, I can do
that instead.


Acked-by: Robin Holt <holt@sgi.com>


On Mon, Jun 20, 2011 at 12:52:36AM +0200, Eric Dumazet wrote:
> Its illegal to dereference skb after dev_kfree_skb(skb)
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> CC: Robin Holt <holt@sgi.com>
> ---
> David, I am not sure Robin is active these days, maybe you can take this
> patch, since its clearly network related ?
> 
>  drivers/misc/sgi-xp/xpnet.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/misc/sgi-xp/xpnet.c b/drivers/misc/sgi-xp/xpnet.c
> index ee5109a..42f0673 100644
> --- a/drivers/misc/sgi-xp/xpnet.c
> +++ b/drivers/misc/sgi-xp/xpnet.c
> @@ -495,14 +495,14 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
>  		}
>  	}
>  
> +	dev->stats.tx_packets++;
> +	dev->stats.tx_bytes += skb->len;
> +
>  	if (atomic_dec_return(&queued_msg->use_count) == 0) {
>  		dev_kfree_skb(skb);
>  		kfree(queued_msg);
>  	}
>  
> -	dev->stats.tx_packets++;
> -	dev->stats.tx_bytes += skb->len;
> -
>  	return NETDEV_TX_OK;
>  }
>  
> 

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox