Netdev List
 help / color / mirror / Atom feed
* [PATCH 2/2] sctp: Bundle HEAERTBEAT into ASCONF_ACK
From: Michio Honda @ 2011-06-16  8:56 UTC (permalink / raw)
  To: David Miller, Wei Yongjun; +Cc: netdev

>From 111463f295a5ea7ae03c26bf62671895e803bc28 Mon Sep 17 00:00:00 2001
From: Michio Honda <micchie@sfc.wide.ad.jp>
Date: Thu, 16 Jun 2011 17:14:34 +0900
Subject: [PATCH 2/2] sctp: Bundle HEAERTBEAT into ASCONF_ACK

With this patch a HEARTBEAT chunk is bundled into the ASCONF-ACK
for ADD IP ADDRESS, confirming the new destination as quickly as
possible.

Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
---
 include/net/sctp/structs.h |    1 +
 net/sctp/associola.c       |    1 +
 net/sctp/sm_make_chunk.c   |    1 +
 net/sctp/sm_statefuns.c    |    5 +++++
 4 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 31d7ea2..7154980 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1915,6 +1915,7 @@ struct sctp_association {
 	__u32 addip_serial;
 	union sctp_addr *asconf_addr_del_pending;
 	int src_out_of_asoc_ok;
+	struct sctp_transport *new_transport;
 
 	/* SCTP AUTH: list of the endpoint shared keys.  These
 	 * keys are provided out of band by the user applicaton
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index dc16b90..152b5b3 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -282,6 +282,7 @@ static struct sctp_association *sctp_association_init(struct sctp_association *a
 		asoc->peer.asconf_capable = 1;
 	asoc->asconf_addr_del_pending = NULL;
 	asoc->src_out_of_asoc_ok = 0;
+	asoc->new_transport = NULL;
 
 	/* Create an input queue.  */
 	sctp_inq_init(&asoc->base.inqueue);
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 3363d37..a42d3b0 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -3016,6 +3016,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
 		/* Start the heartbeat timer. */
 		if (!mod_timer(&peer->hb_timer, sctp_transport_timeout(peer)))
 			sctp_transport_hold(peer);
+		asoc->new_transport = peer;
 		break;
 	case SCTP_PARAM_DEL_IP:
 		/* ADDIP 4.3 D7) If a request is received to delete the
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index a297283..5cfd6d2 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -3612,6 +3612,11 @@ sctp_disposition_t sctp_sf_do_asconf(const struct sctp_endpoint *ep,
 	 */
 	asconf_ack->dest = chunk->source;
 	sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(asconf_ack));
+	if (asoc->new_transport) {
+	        sctp_sf_heartbeat(ep, asoc, type, asoc->new_transport,
+                    commands);
+		((struct sctp_association *)asoc)->new_transport = NULL;
+	}
 
 	return SCTP_DISPOSITION_CONSUME;
 }
-- 
1.7.3.2



^ permalink raw reply related

* [PATCH 1/2] sctp: HEARTBEAT negotiation after ASCONF
From: Michio Honda @ 2011-06-16  8:56 UTC (permalink / raw)
  To: David Miller, Wei Yongjun; +Cc: netdev

>From 6780e27850126dc200a8700a0f8c3105971b8978 Mon Sep 17 00:00:00 2001
From: Michio Honda <micchie@sfc.wide.ad.jp>
Date: Thu, 16 Jun 2011 10:54:23 +0900
Subject: [PATCH 1/2] sctp: HEARTBEAT negotiation after ASCONF

This patch fixes BUG that the ASCONF receiver transmits DATA chunks
to the newly added UNCONFIRMED destination.

Signed-off-by: Michio Honda <micchie@sfc.wide.ad.jp>
---
 net/sctp/outqueue.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index edc7532..4adfc1e 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -917,6 +917,8 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
 		 * current cwnd).
 		 */
 		if (!list_empty(&q->retransmit)) {
+			if (asoc->peer.retran_path->state == SCTP_UNCONFIRMED) 
+				goto sctp_flush_out;
 			if (transport == asoc->peer.retran_path)
 				goto retran;
 
@@ -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) {
-- 
1.7.3.2



^ permalink raw reply related

* [PATCH 0/2]  sctp: patches for HEARTBEAT bug fix and improvement
From: Michio Honda @ 2011-06-16  8:56 UTC (permalink / raw)
  To: David Miller, Wei Yongjun; +Cc: netdev

>From 111463f295a5ea7ae03c26bf62671895e803bc28 Mon Sep 17 00:00:00 2001
From: Michio Honda <micchie@sfc.wide.ad.jp>
Date: Thu, 16 Jun 2011 17:40:04 +0900
Subject: [PATCH 0/2]  sctp: patches for HEARTBEAT bug fix and improvement

Series of 2 patches for bug fix and improvement around HEARTBEAT after the 
ASCONF event

Michio Honda (2):
  sctp: HEARTBEAT negotiation after ASCONF
  sctp: Bundle HEAERTBEAT into ASCONF_ACK

 include/net/sctp/structs.h |    1 +
 net/sctp/associola.c       |    1 +
 net/sctp/outqueue.c        |    4 ++++
 net/sctp/sm_make_chunk.c   |    1 +
 net/sctp/sm_statefuns.c    |    5 +++++
 5 files changed, 12 insertions(+), 0 deletions(-)

-- 
1.7.3.2



^ permalink raw reply

* [PATCH] iptables: document IPv6 TOS mangling bug in old Linux kernels
From: Fernando Luis Vazquez Cao @ 2011-06-16  8:36 UTC (permalink / raw)
  To: Jan Engelhardt, Patrick McHardy; +Cc: Maciej, pablo, netfilter-devel, netdev
In-Reply-To: <alpine.LNX.2.01.1106061618370.17430@frira.zrqbmnf.qr>

Jan, Patrick,

I would like to get this bug in old Linux kernels documented in the
iptables man page, since it is pretty serious. The fix made into 2.6.39
and I would like to have it backported to 2.6.32-longterm and
2.6.33-longterm. If you disagree with the backport to -longterm please
let me know, I would update the patch accordingly.

---

In Linux kernels up to and including 2.6.38, with the exception of longterm
releases 2.6.32.42 (or later) and 2.6.33.15 (or later), there is a bug (*) whereby
IPv6 TOS mangling does not behave as documented and differs from the IPv4
version. The TOS mask indicates the bits one wants to zero out, so it needs to
be inverted before applying it to the original TOS field. However, the
aformentioned kernels forgo the inversion which breaks --set-tos and its
mnemonics.

(*) Fixed by upstream commit:
    1ed2f73d90fb49bcf5704aee7e9084adb882bfc5 (netfilter: IPv6: fix DSCP mangle code)

Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
---

diff -urNp iptables-1.4.11.1-orig/extensions/libxt_TOS.man iptables-1.4.11.1/extensions/libxt_TOS.man
--- iptables-1.4.11.1-orig/extensions/libxt_TOS.man	2011-06-08 22:26:17.000000000 +0900
+++ iptables-1.4.11.1/extensions/libxt_TOS.man	2011-06-16 16:07:34.374062111 +0900
@@ -4,24 +4,26 @@ shares the same bits as DSCP and ECN. Th
 \fBmangle\fP table.
 .TP
 \fB\-\-set\-tos\fP \fIvalue\fP[\fB/\fP\fImask\fP]
-Zeroes out the bits given by \fImask\fP and XORs \fIvalue\fP into the
-TOS/Priority field. If \fImask\fP is omitted, 0xFF is assumed.
+Zeroes out the bits given by \fImask\fP (see \fBBUGS\fP below) and XORs
+\fIvalue\fP into the TOS/Priority field. If \fImask\fP is omitted, 0xFF is
+assumed.
 .TP
 \fB\-\-set\-tos\fP \fIsymbol\fP
 You can specify a symbolic name when using the TOS target for IPv4. It implies
-a mask of 0xFF. The list of recognized TOS names can be obtained by calling
-iptables with \fB\-j TOS \-h\fP.
+a mask of 0xFF (see \fBBUGS\fP below). The list of recognized TOS names can be
+obtained by calling iptables with \fB\-j TOS \-h\fP.
 .PP
 The following mnemonics are available:
 .TP
 \fB\-\-and\-tos\fP \fIbits\fP
 Binary AND the TOS value with \fIbits\fP. (Mnemonic for \fB\-\-set\-tos
-0/\fP\fIinvbits\fP, where \fIinvbits\fP is the binary negation of \fIbits\fP.)
+0/\fP\fIinvbits\fP, where \fIinvbits\fP is the binary negation of \fIbits\fP.
+See \fBBUGS\fP below.)
 .TP
 \fB\-\-or\-tos\fP \fIbits\fP
 Binary OR the TOS value with \fIbits\fP. (Mnemonic for \fB\-\-set\-tos\fP
-\fIbits\fP\fB/\fP\fIbits\fP.)
+\fIbits\fP\fB/\fP\fIbits\fP. See \fBBUGS\fP below.)
 .TP
 \fB\-\-xor\-tos\fP \fIbits\fP
 Binary XOR the TOS value with \fIbits\fP. (Mnemonic for \fB\-\-set\-tos\fP
-\fIbits\fP\fB/0\fP.)
+\fIbits\fP\fB/0\fP. See \fBBUGS\fP below.)
diff -urNp iptables-1.4.11.1-orig/iptables/ip6tables.8.in iptables-1.4.11.1/iptables/ip6tables.8.in
--- iptables-1.4.11.1-orig/iptables/ip6tables.8.in	2011-06-08 22:26:17.000000000 +0900
+++ iptables-1.4.11.1/iptables/ip6tables.8.in	2011-06-16 17:08:42.222014375 +0900
@@ -380,7 +380,18 @@ invalid or abused command line parameter
 other errors cause an exit code of 1.
 .SH BUGS
 Bugs?  What's this? ;-)
+.PP
 Well... the counters are not reliable on sparc64.
+.PP
+In Linux kernels up to and including 2.6.38, with the exception of longterm
+releases 2.6.32.42 (or later) and 2.6.33.15 (or later), there is a bug whereby
+IPv6 TOS mangling does not behave as documented and differs from the IPv4
+version. The TOS mask indicates the bits one wants to zero out, so it needs to
+be inverted before applying it to the original TOS field. However, the
+aformentioned kernels forgo the inversion which breaks --set-tos and its
+mnemonics.
+.PP
+You might also want to have a look at http://bugzilla.netfilter.org/
 .SH COMPATIBILITY WITH IPCHAINS
 This \fBip6tables\fP
 is very similar to ipchains by Rusty Russell.  The main difference is
diff -urNp iptables-1.4.11.1-orig/iptables/iptables.8.in iptables-1.4.11.1/iptables/iptables.8.in
--- iptables-1.4.11.1-orig/iptables/iptables.8.in	2011-06-08 22:26:17.000000000 +0900
+++ iptables-1.4.11.1/iptables/iptables.8.in	2011-06-16 17:08:10.933614702 +0900
@@ -379,7 +379,16 @@ invalid or abused command line parameter
 other errors cause an exit code of 1.
 .SH BUGS
 Bugs?  What's this? ;-)
-Well, you might want to have a look at http://bugzilla.netfilter.org/
+.PP
+In Linux kernels up to and including 2.6.38, with the exception of longterm
+releases 2.6.32.42 (or later) and 2.6.33.15 (or later), there is a bug whereby
+IPv6 TOS mangling does not behave as documented and differs from the IPv4
+version. The TOS mask indicates the bits one wants to zero out, so it needs to
+be inverted before applying it to the original TOS field. However, the
+aformentioned kernels forgo the inversion which breaks --set-tos and its
+mnemonics.
+.PP
+You might also want to have a look at http://bugzilla.netfilter.org/
 .SH COMPATIBILITY WITH IPCHAINS
 This \fBiptables\fP
 is very similar to ipchains by Rusty Russell.  The main difference is



^ permalink raw reply

* Re: tc match MAC destination - nothing matches on protocol 802_3
From: Doru Theodor Petrescu @ 2011-06-16  7:56 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: ierdnah, linux-kernel, pdoru.kernel, netdev
In-Reply-To: <20110615092907.2b79ee66@s6510.ftrdhcpuser.net>



I updated my scripts to use the 'tc filter ... match ether src/dst'
syntax. it really makes reading the script easier. thanks for the tip!

however the problem persists. I changed the rule to match ANY pachet of
type 802_3 and redirect it to ifb1. but nothing arrives on ifb1.

I tried to redirect ARP pachets using 'protocol arp' filter and it works
perfectly as expected.

so at this point the problem is no longer 'how to match ethernet header'
but rather 'how to match a pachet of type 802_3'. My feeling is that
there is a bug somewhere in kernel where the 'protocol 802_3' matching
happens.


I attach part of the script I use to generate the filters and classes. I
removed everything related to HTB and IP pachets because there is no
problem there. in case the formating is lost, you can download it from
here: http://evox.ro/kernel_netdev_tc_protocol_802.3/


Thx for any help,
Doru Theodor Petrescu
CTO, Evox Solutions SRL
http://evox.ro/



for DEV in bond0.2199 bond1.2199 bond0.3000 bond1.3001 ; do


   tc qdisc  del dev $DEV root

   tc qdisc  add dev $DEV root handle 1: htb default 2
   tc class  add dev $DEV parent 1: classid 1:1 htb rate 930000kbit ceil
930000kbit quantum 1600
   
   tc filter add dev $DEV parent 1: prio 5 protocol ip u32
# ==> 800:

   tc filter add dev $DEV parent 1: prio 1 protocol 0x0806 u32
# ==> 801:      protocol ARP
   tc filter add dev $DEV parent 1: prio 1 handle 801:0:7 protocol
0x0806 u32  match u32 0 0 flowid 1:3

   tc filter add dev $DEV parent 1: prio 2 protocol 802_3 u32
# ==> 802:

   tc filter add dev $DEV parent 1: prio 6 protocol ip u32
# ==> 803:


   tc filter replace dev $DEV parent 1: prio 2 handle 802:0:3  protocol
802_3 u32 match u16 0 0 at 0 flowid 1:3 action mirred egress mirror dev
ifb1
   tc filter replace dev $DEV parent 1: prio 2 handle 802:0:9  protocol
802_3 u32 match ether src 01:00:0c:cc:cc:cd flowid 1:3 action mirred
egress mirror dev ifb1
   tc filter replace dev $DEV parent 1: prio 2 handle 802:0:10 protocol
802_3 u32 match ether dst 01:00:0c:cc:cc:cd flowid 1:3 action mirred
egress mirror dev ifb1

done


# the 802_3 pachet filter:   
# 
# 802:0:3 should match ANY pachet of type 802_3 and mirror it to ifb1
# 802:0:9 and 802:0:10 should match any pachet with src/dst
01:00:0c:cc:cc:cd and mirror it to ifb1
#
# however NOTHING is going to ifb1    try 'tcpdump -nltve -i ifb1'
# at the same time 'tcpdump -nltve -i bond1.2199 ether host
0100.0ccc.cccd' will show about one pachet every second
# 


# at the same time the ARP filter works. you can mirror all ARP trafic
to IFB1 like this:
# tc filter replace dev $DEV parent 1: prio 1 handle 801:0:7 protocol
0x0806 u32  match u32 0 0 flowid 1:3 action mirred egress mirror dev
ifb1

^ permalink raw reply

* [PATCH] vhost: set dirty log when updating flags of used ring
From: Jason Wang @ 2011-06-16  6:45 UTC (permalink / raw)
  To: netdev, virtualization, linux-kernel, kvm, mst

We need to set log when updating flags of used ring, otherwise they may
be missed after migration. A helper was introduced to write used_flags
back to guest memory and update the log if necessary.

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 drivers/vhost/vhost.c |   26 ++++++++++++++++++++++----
 drivers/vhost/vhost.h |    2 ++
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 2ab2912..7c46aed 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -573,8 +573,10 @@ static long vhost_set_memory(struct vhost_dev *d, struct vhost_memory __user *m)
 static int init_used(struct vhost_virtqueue *vq,
 		     struct vring_used __user *used)
 {
-	int r = put_user(vq->used_flags, &used->flags);
+	int r;
 
+	vq->used = used;
+	r = vhost_update_used_flags(vq);
 	if (r)
 		return r;
 	return get_user(vq->last_used_idx, &used->idx);
@@ -700,7 +702,6 @@ static long vhost_set_vring(struct vhost_dev *d, int ioctl, void __user *argp)
 		vq->desc = (void __user *)(unsigned long)a.desc_user_addr;
 		vq->avail = (void __user *)(unsigned long)a.avail_user_addr;
 		vq->log_addr = a.log_guest_addr;
-		vq->used = (void __user *)(unsigned long)a.used_user_addr;
 		break;
 	case VHOST_SET_VRING_KICK:
 		if (copy_from_user(&f, argp, sizeof f)) {
@@ -1375,6 +1376,23 @@ void vhost_add_used_and_signal_n(struct vhost_dev *dev,
 	vhost_signal(dev, vq);
 }
 
+int vhost_update_used_flags(struct vhost_virtqueue *vq)
+{
+	if (put_user(vq->used_flags, &vq->used->flags) < 0)
+		return -EFAULT;
+	if (unlikely(vq->log_used)) {
+		/* Make sure the flag is seen before log. */
+		smp_wmb();
+		/* Log used flag write. */
+		log_write(vq->log_base,
+			  vq->log_addr + offsetof(struct vring_used, flags),
+			  sizeof vq->used->flags);
+		if (vq->log_ctx)
+			eventfd_signal(vq->log_ctx, 1);
+	}
+	return 0;
+}
+
 /* OK, now we need to know about added descriptors. */
 bool vhost_enable_notify(struct vhost_virtqueue *vq)
 {
@@ -1384,7 +1402,7 @@ bool vhost_enable_notify(struct vhost_virtqueue *vq)
 	if (!(vq->used_flags & VRING_USED_F_NO_NOTIFY))
 		return false;
 	vq->used_flags &= ~VRING_USED_F_NO_NOTIFY;
-	r = put_user(vq->used_flags, &vq->used->flags);
+	r = vhost_update_used_flags(vq);
 	if (r) {
 		vq_err(vq, "Failed to enable notification at %p: %d\n",
 		       &vq->used->flags, r);
@@ -1411,7 +1429,7 @@ void vhost_disable_notify(struct vhost_virtqueue *vq)
 	if (vq->used_flags & VRING_USED_F_NO_NOTIFY)
 		return;
 	vq->used_flags |= VRING_USED_F_NO_NOTIFY;
-	r = put_user(vq->used_flags, &vq->used->flags);
+	r = vhost_update_used_flags(vq);
 	if (r)
 		vq_err(vq, "Failed to enable notification at %p: %d\n",
 		       &vq->used->flags, r);
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index b3363ae..76f4c61 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
@@ -155,6 +155,8 @@ bool vhost_enable_notify(struct vhost_virtqueue *);
 int vhost_log_write(struct vhost_virtqueue *vq, struct vhost_log *log,
 		    unsigned int log_num, u64 len);
 
+int vhost_update_used_flags(struct vhost_virtqueue *vq);
+
 #define vq_err(vq, fmt, ...) do {                                  \
 		pr_debug(pr_fmt(fmt), ##__VA_ARGS__);       \
 		if ((vq)->error_ctx)                               \


^ permalink raw reply related

* RE: [RFC] Moving files around in drivers/net
From: Sathya.Perla @ 2011-06-16  5:05 UTC (permalink / raw)
  To: joe, jeffrey.t.kirsher; +Cc: netdev, davem, paul.gortmaker, jengelh
In-Reply-To: <1308186619.12377.23.camel@Joe-Laptop>

>-----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

^ permalink raw reply

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

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

^ permalink raw reply

* Re: [PATCH] tun: teach the tun/tap driver to support netpoll
From: Cong Wang @ 2011-06-16  1:44 UTC (permalink / raw)
  To: Neil Horman; +Cc: netdev, Rik van Riel, Maxim Krasnyansky, David S. Miller
In-Reply-To: <1308151501-8434-1-git-send-email-nhorman@tuxdriver.com>

于 2011年06月15日 23:25, Neil Horman 写道:
> Commit 8d8fc29d02a33e4bd5f4fa47823c1fd386346093 changed the behavior of slave
> devices in regards to netpoll.  Specifically it created a mutually exclusive
> relationship between being a slave and a netpoll-capable device.  This creates
> problems for KVM because guests relied on needing netconsole active on a slave
> device to a bridge.  Ideally libvirtd could just attach netconsole to the bridge
> device instead, but thats currently infeasible, because while the bridge device
> supports netpoll, it requires that all slave interface also support it, but the
> tun/tap driver currently does not.  The most direct solution is to teach tun/tap
> to support netpoll, which is implemented by the patch below.
>

Yeah, bridge checks if all the underlying devices support netpoll,
that is why Rik saw the failure.


> I've not tested this yet, but its pretty straightforward.
>
> Signed-off-by: Neil Horman<nhorman@tuxdriver.com>
> Reported-by: Rik van Riel<riel@redhat.com>
> CC: Rik van Riel<riel@redhat.com>
> CC: Maxim Krasnyansky<maxk@qualcomm.com>
> CC: Cong Wang<amwang@redhat.com>
> CC: "David S. Miller"<davem@davemloft.net>

Reviewed-by: WANG Cong <amwang@redhat.com>

Thanks for fixing it!

^ permalink raw reply

* Re: [RFC] Moving files around in drivers/net
From: Joe Perches @ 2011-06-16  1:10 UTC (permalink / raw)
  To: Jeff Kirsher; +Cc: netdev, David Miller, Paul Gortmaker, Jan Engelhardt
In-Reply-To: <BANLkTi=BAqKzZeLF2_uCYnr7PD3StGFgAg@mail.gmail.com>

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
 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(-)




^ permalink raw reply

* [PATCH net-2.6] caif: Bugfix - XOFF removed channel from caif-mux
From: Sjur Brændeland @ 2011-06-15 22:38 UTC (permalink / raw)
  To: David S. Miller, netdev; +Cc: Sjur Brændeland

XOFF was mixed up with DOWN indication, causing causing CAIF channel to be
removed from mux and all incoming traffic to be lost after receiving flow-off.
Fix this by replacing FLOW_OFF with DOWN notification.

Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
---
Hi Dave,
Please consider this bugfix for Linux 3.0.
It's a one-liner fixing a silly copy-paste mistake.

Thanks,
Sjur 

 net/caif/cfmuxl.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/caif/cfmuxl.c b/net/caif/cfmuxl.c
index 3a66b8c..c23979e 100644
--- a/net/caif/cfmuxl.c
+++ b/net/caif/cfmuxl.c
@@ -255,7 +255,7 @@ static void cfmuxl_ctrlcmd(struct cflayer *layr, enum caif_ctrlcmd ctrl,
 
 		if (cfsrvl_phyid_match(layer, phyid) && layer->ctrlcmd) {
 
-			if ((ctrl == _CAIF_CTRLCMD_PHYIF_FLOW_OFF_IND ||
+			if ((ctrl == _CAIF_CTRLCMD_PHYIF_DOWN_IND ||
 				ctrl == CAIF_CTRLCMD_REMOTE_SHUTDOWN_IND) &&
 					layer->id != 0) {
 
-- 
1.7.0.4


^ permalink raw reply related

* Re: Netconf2011 slides...
From: David Miller @ 2011-06-15 22:07 UTC (permalink / raw)
  To: daniel.baluta; +Cc: netdev
In-Reply-To: <BANLkTimeopamZUk10JkquMyK0mTv1D1uLw@mail.gmail.com>

From: Daniel Baluta <daniel.baluta@gmail.com>
Date: Wed, 15 Jun 2011 23:12:04 +0300

> Thanks for the link. Are there any chances to
> have some videos of the presentations?

No videos were taken.

^ permalink raw reply

* [next-next-2.6 PATCH] enic: Add support to configure hardware interrupt coalesce timers in a platform independent way
From: Vasanthy Kolluri @ 2011-06-15 21:17 UTC (permalink / raw)
  To: netdev, davem

From: Vasanthy Kolluri <vkolluri@cisco.com>

enic driver and the underlying hardware use different units for representing the interrupt coalesce timer.
Driver converts the interrupt coalesce timer in usec to hardware cycles while setting the relevant hardware
registers. The conversion factor can be different for each of the adapter hardware types. So it is dynamically
learnt from the adapter firmware using the devcmd CMD_INTR_COAL_CONVERT. This allows the driver to configure
the hardware interrupt coalesce timers in a platform independent way.

Signed-off-by: Danny Guo <dannguo@cisco.com>
Signed-off-by: Vasanthy Kolluri <vkolluri@cisco.com>
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: David Wang <dwang2@cisco.com>
---
 drivers/net/enic/enic.h        |    2 +
 drivers/net/enic/enic_dev.c    |   11 +++++++
 drivers/net/enic/enic_dev.h    |    1 +
 drivers/net/enic/enic_main.c   |   28 ++++++++++++------
 drivers/net/enic/enic_res.c    |    7 ++---
 drivers/net/enic/vnic_dev.c    |   61 ++++++++++++++++++++++++++++++++++++++++
 drivers/net/enic/vnic_dev.h    |    5 +++
 drivers/net/enic/vnic_devcmd.h |   19 ++++++++++++
 drivers/net/enic/vnic_enet.h   |    4 ---
 drivers/net/enic/vnic_intr.c   |    7 +++--
 drivers/net/enic/vnic_intr.h   |    6 +---
 11 files changed, 125 insertions(+), 26 deletions(-)


diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
index f747bce..f0b062b 100644
--- a/drivers/net/enic/enic.h
+++ b/drivers/net/enic/enic.h
@@ -32,7 +32,7 @@
 
 #define DRV_NAME		"enic"
 #define DRV_DESCRIPTION		"Cisco VIC Ethernet NIC Driver"
-#define DRV_VERSION		"2.1.1.20"
+#define DRV_VERSION		"2.1.1.24"
 #define DRV_COPYRIGHT		"Copyright 2008-2011 Cisco Systems, Inc"
 
 #define ENIC_BARS_MAX		6
diff --git a/drivers/net/enic/enic_dev.c b/drivers/net/enic/enic_dev.c
index 90687b1..fd6247b 100644
--- a/drivers/net/enic/enic_dev.c
+++ b/drivers/net/enic/enic_dev.c
@@ -166,6 +166,17 @@ int enic_dev_disable(struct enic *enic)
 	return err;
 }
 
+int enic_dev_intr_coal_timer_info(struct enic *enic)
+{
+	int err;
+
+	spin_lock(&enic->devcmd_lock);
+	err = vnic_dev_intr_coal_timer_info(enic->vdev);
+	spin_unlock(&enic->devcmd_lock);
+
+	return err;
+}
+
 int enic_vnic_dev_deinit(struct enic *enic)
 {
 	int err;
diff --git a/drivers/net/enic/enic_dev.h b/drivers/net/enic/enic_dev.h
index d5f6813..ff8e87f 100644
--- a/drivers/net/enic/enic_dev.h
+++ b/drivers/net/enic/enic_dev.h
@@ -34,6 +34,7 @@ int enic_dev_hang_notify(struct enic *enic);
 int enic_dev_set_ig_vlan_rewrite_mode(struct enic *enic);
 int enic_dev_enable(struct enic *enic);
 int enic_dev_disable(struct enic *enic);
+int enic_dev_intr_coal_timer_info(struct enic *enic);
 int enic_vnic_dev_deinit(struct enic *enic);
 int enic_dev_init_prov2(struct enic *enic, struct vic_provinfo *vp);
 int enic_dev_deinit_done(struct enic *enic, int *status);
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 4b3a93a..5e8c3fb 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -284,12 +284,10 @@ static int enic_set_coalesce(struct net_device *netdev,
 	u32 rx_coalesce_usecs;
 	unsigned int i, intr;
 
-	tx_coalesce_usecs = min_t(u32,
-		INTR_COALESCE_HW_TO_USEC(VNIC_INTR_TIMER_MAX),
-		ecmd->tx_coalesce_usecs);
-	rx_coalesce_usecs = min_t(u32,
-		INTR_COALESCE_HW_TO_USEC(VNIC_INTR_TIMER_MAX),
-		ecmd->rx_coalesce_usecs);
+	tx_coalesce_usecs = min_t(u32, ecmd->tx_coalesce_usecs,
+		vnic_dev_get_intr_coal_timer_max(enic->vdev));
+	rx_coalesce_usecs = min_t(u32, ecmd->rx_coalesce_usecs,
+		vnic_dev_get_intr_coal_timer_max(enic->vdev));
 
 	switch (vnic_dev_get_intr_mode(enic->vdev)) {
 	case VNIC_DEV_INTR_MODE_INTX:
@@ -298,26 +296,26 @@ static int enic_set_coalesce(struct net_device *netdev,
 
 		intr = enic_legacy_io_intr();
 		vnic_intr_coalescing_timer_set(&enic->intr[intr],
-			INTR_COALESCE_USEC_TO_HW(tx_coalesce_usecs));
+			tx_coalesce_usecs);
 		break;
 	case VNIC_DEV_INTR_MODE_MSI:
 		if (tx_coalesce_usecs != rx_coalesce_usecs)
 			return -EINVAL;
 
 		vnic_intr_coalescing_timer_set(&enic->intr[0],
-			INTR_COALESCE_USEC_TO_HW(tx_coalesce_usecs));
+			tx_coalesce_usecs);
 		break;
 	case VNIC_DEV_INTR_MODE_MSIX:
 		for (i = 0; i < enic->wq_count; i++) {
 			intr = enic_msix_wq_intr(enic, i);
 			vnic_intr_coalescing_timer_set(&enic->intr[intr],
-				INTR_COALESCE_USEC_TO_HW(tx_coalesce_usecs));
+				tx_coalesce_usecs);
 		}
 
 		for (i = 0; i < enic->rq_count; i++) {
 			intr = enic_msix_rq_intr(enic, i);
 			vnic_intr_coalescing_timer_set(&enic->intr[intr],
-				INTR_COALESCE_USEC_TO_HW(rx_coalesce_usecs));
+				rx_coalesce_usecs);
 		}
 
 		break;
@@ -2175,6 +2173,16 @@ static int enic_dev_init(struct enic *enic)
 	unsigned int i;
 	int err;
 
+	/* Get interrupt coalesce timer info
+	 */
+
+	err = enic_dev_intr_coal_timer_info(enic);
+	if (err) {
+		dev_warn(dev, "Using default conversion factor for "
+			"interrupt coalesce timer\n");
+		vnic_dev_intr_coal_timer_info_default(enic->vdev);
+	}
+
 	/* Get vNIC configuration
 	 */
 
diff --git a/drivers/net/enic/enic_res.c b/drivers/net/enic/enic_res.c
index 34f4207..4a35367 100644
--- a/drivers/net/enic/enic_res.c
+++ b/drivers/net/enic/enic_res.c
@@ -90,9 +90,8 @@ int enic_get_vnic_config(struct enic *enic)
 		max_t(u16, ENIC_MIN_MTU,
 		c->mtu));
 
-	c->intr_timer_usec = min_t(u32,
-		INTR_COALESCE_HW_TO_USEC(VNIC_INTR_TIMER_MAX),
-		c->intr_timer_usec);
+	c->intr_timer_usec = min_t(u32, c->intr_timer_usec,
+		vnic_dev_get_intr_coal_timer_max(enic->vdev));
 
 	dev_info(enic_get_dev(enic),
 		"vNIC MAC addr %pM wq/rq %d/%d mtu %d\n",
@@ -303,7 +302,7 @@ void enic_init_vnic_resources(struct enic *enic)
 
 	for (i = 0; i < enic->intr_count; i++) {
 		vnic_intr_init(&enic->intr[i],
-			INTR_COALESCE_USEC_TO_HW(enic->config.intr_timer_usec),
+			enic->config.intr_timer_usec,
 			enic->config.intr_timer_type,
 			mask_on_assertion);
 	}
diff --git a/drivers/net/enic/vnic_dev.c b/drivers/net/enic/vnic_dev.c
index 68f24ae..5edf652 100644
--- a/drivers/net/enic/vnic_dev.c
+++ b/drivers/net/enic/vnic_dev.c
@@ -40,6 +40,12 @@ struct vnic_res {
 	unsigned int count;
 };
 
+struct vnic_intr_coal_timer_info {
+	u32 mul;
+	u32 div;
+	u32 max_usec;
+};
+
 struct vnic_dev {
 	void *priv;
 	struct pci_dev *pdev;
@@ -58,6 +64,7 @@ struct vnic_dev {
 	enum vnic_proxy_type proxy;
 	u32 proxy_index;
 	u64 args[VNIC_DEVCMD_NARGS];
+	struct vnic_intr_coal_timer_info intr_coal_timer_info;
 };
 
 #define VNIC_MAX_RES_HDR_SIZE \
@@ -794,6 +801,43 @@ int vnic_dev_deinit(struct vnic_dev *vdev)
 	return vnic_dev_cmd(vdev, CMD_DEINIT, &a0, &a1, wait);
 }
 
+void vnic_dev_intr_coal_timer_info_default(struct vnic_dev *vdev)
+{
+	/* Default: hardware intr coal timer is in units of 1.5 usecs */
+	vdev->intr_coal_timer_info.mul = 2;
+	vdev->intr_coal_timer_info.div = 3;
+	vdev->intr_coal_timer_info.max_usec =
+		vnic_dev_intr_coal_timer_hw_to_usec(vdev, 0xffff);
+
+}
+
+int vnic_dev_intr_coal_timer_info(struct vnic_dev *vdev)
+{
+	int wait = 1000;
+	int err;
+
+	memset(vdev->args, 0, sizeof(vdev->args));
+
+	err = _vnic_dev_cmd(vdev, CMD_INTR_COAL_CONVERT, wait);
+
+	/* Use defaults when firmware doesn't support the devcmd at all or
+	 * supports it for only specific hardware
+	 */
+	if ((err == ERR_ECMDUNKNOWN) ||
+		(!err && !(vdev->args[0] && vdev->args[1] && vdev->args[2]))) {
+		pr_warning("Using default conversion factor for "
+			"interrupt coalesce timer\n");
+		vnic_dev_intr_coal_timer_info_default(vdev);
+		return 0;
+	}
+
+	vdev->intr_coal_timer_info.mul = (u32) vdev->args[0];
+	vdev->intr_coal_timer_info.div = (u32) vdev->args[1];
+	vdev->intr_coal_timer_info.max_usec = (u32) vdev->args[2];
+
+	return err;
+}
+
 int vnic_dev_link_status(struct vnic_dev *vdev)
 {
 	if (!vnic_dev_notify_ready(vdev))
@@ -838,6 +882,23 @@ enum vnic_dev_intr_mode vnic_dev_get_intr_mode(
 	return vdev->intr_mode;
 }
 
+u32 vnic_dev_intr_coal_timer_usec_to_hw(struct vnic_dev *vdev, u32 usec)
+{
+	return (usec * vdev->intr_coal_timer_info.mul) /
+		vdev->intr_coal_timer_info.div;
+}
+
+u32 vnic_dev_intr_coal_timer_hw_to_usec(struct vnic_dev *vdev, u32 hw_cycles)
+{
+	return (hw_cycles * vdev->intr_coal_timer_info.div) /
+		vdev->intr_coal_timer_info.mul;
+}
+
+u32 vnic_dev_get_intr_coal_timer_max(struct vnic_dev *vdev)
+{
+	return vdev->intr_coal_timer_info.max_usec;
+}
+
 void vnic_dev_unregister(struct vnic_dev *vdev)
 {
 	if (vdev) {
diff --git a/drivers/net/enic/vnic_dev.h b/drivers/net/enic/vnic_dev.h
index cf482a2..852b698 100644
--- a/drivers/net/enic/vnic_dev.h
+++ b/drivers/net/enic/vnic_dev.h
@@ -109,11 +109,16 @@ int vnic_dev_open(struct vnic_dev *vdev, int arg);
 int vnic_dev_open_done(struct vnic_dev *vdev, int *done);
 int vnic_dev_init(struct vnic_dev *vdev, int arg);
 int vnic_dev_deinit(struct vnic_dev *vdev);
+void vnic_dev_intr_coal_timer_info_default(struct vnic_dev *vdev);
+int vnic_dev_intr_coal_timer_info(struct vnic_dev *vdev);
 int vnic_dev_hang_reset(struct vnic_dev *vdev, int arg);
 int vnic_dev_hang_reset_done(struct vnic_dev *vdev, int *done);
 void vnic_dev_set_intr_mode(struct vnic_dev *vdev,
 	enum vnic_dev_intr_mode intr_mode);
 enum vnic_dev_intr_mode vnic_dev_get_intr_mode(struct vnic_dev *vdev);
+u32 vnic_dev_intr_coal_timer_usec_to_hw(struct vnic_dev *vdev, u32 usec);
+u32 vnic_dev_intr_coal_timer_hw_to_usec(struct vnic_dev *vdev, u32 hw_cycles);
+u32 vnic_dev_get_intr_coal_timer_max(struct vnic_dev *vdev);
 void vnic_dev_unregister(struct vnic_dev *vdev);
 int vnic_dev_set_ig_vlan_rewrite_mode(struct vnic_dev *vdev,
 	u8 ig_vlan_rewrite_mode);
diff --git a/drivers/net/enic/vnic_devcmd.h b/drivers/net/enic/vnic_devcmd.h
index c5569bf..8025e88 100644
--- a/drivers/net/enic/vnic_devcmd.h
+++ b/drivers/net/enic/vnic_devcmd.h
@@ -318,6 +318,25 @@ enum vnic_devcmd_cmd {
 	 *             ERR_EINPROGRESS - command in a0 is still in progress
 	 */
 	CMD_STATUS = _CMDC(_CMD_DIR_RW, _CMD_VTYPE_ALL, 49),
+
+	/*
+	 * Returns interrupt coalescing timer conversion factors.
+	 * After calling this devcmd, ENIC driver can convert
+	 * interrupt coalescing timer in usec into CPU cycles as follows:
+	 *
+	 *   intr_timer_cycles = intr_timer_usec * multiplier / divisor
+	 *
+	 * Interrupt coalescing timer in usecs can be obtained from
+	 * CPU cycles as follows:
+	 *
+	 *   intr_timer_usec = intr_timer_cycles * divisor / multiplier
+	 *
+	 * in: none
+	 * out: (u32)a0 = multiplier
+	 *      (u32)a1 = divisor
+	 *      (u32)a2 = maximum timer value in usec
+	 */
+	CMD_INTR_COAL_CONVERT = _CMDC(_CMD_DIR_READ, _CMD_VTYPE_ALL, 50),
 };
 
 /* CMD_ENABLE2 flags */
diff --git a/drivers/net/enic/vnic_enet.h b/drivers/net/enic/vnic_enet.h
index 061ad87..6095428 100644
--- a/drivers/net/enic/vnic_enet.h
+++ b/drivers/net/enic/vnic_enet.h
@@ -20,10 +20,6 @@
 #ifndef _VNIC_ENIC_H_
 #define _VNIC_ENIC_H_
 
-/* Hardware intr coalesce timer is in units of 1.5us */
-#define INTR_COALESCE_USEC_TO_HW(usec) ((usec) * 2/3)
-#define INTR_COALESCE_HW_TO_USEC(usec) ((usec) * 3/2)
-
 /* Device-specific region: enet configuration */
 struct vnic_enet_config {
 	u32 flags;
diff --git a/drivers/net/enic/vnic_intr.c b/drivers/net/enic/vnic_intr.c
index 3873771..0ca107f 100644
--- a/drivers/net/enic/vnic_intr.c
+++ b/drivers/net/enic/vnic_intr.c
@@ -46,7 +46,7 @@ int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr,
 	return 0;
 }
 
-void vnic_intr_init(struct vnic_intr *intr, unsigned int coalescing_timer,
+void vnic_intr_init(struct vnic_intr *intr, u32 coalescing_timer,
 	unsigned int coalescing_type, unsigned int mask_on_assertion)
 {
 	vnic_intr_coalescing_timer_set(intr, coalescing_timer);
@@ -56,9 +56,10 @@ void vnic_intr_init(struct vnic_intr *intr, unsigned int coalescing_timer,
 }
 
 void vnic_intr_coalescing_timer_set(struct vnic_intr *intr,
-	unsigned int coalescing_timer)
+	u32 coalescing_timer)
 {
-	iowrite32(coalescing_timer, &intr->ctrl->coalescing_timer);
+	iowrite32(vnic_dev_intr_coal_timer_usec_to_hw(intr->vdev,
+		coalescing_timer), &intr->ctrl->coalescing_timer);
 }
 
 void vnic_intr_clean(struct vnic_intr *intr)
diff --git a/drivers/net/enic/vnic_intr.h b/drivers/net/enic/vnic_intr.h
index 09dc0b7..2b16363 100644
--- a/drivers/net/enic/vnic_intr.h
+++ b/drivers/net/enic/vnic_intr.h
@@ -24,8 +24,6 @@
 
 #include "vnic_dev.h"
 
-#define VNIC_INTR_TIMER_MAX		0xffff
-
 #define VNIC_INTR_TIMER_TYPE_ABS	0
 #define VNIC_INTR_TIMER_TYPE_QUIET	1
 
@@ -104,10 +102,10 @@ static inline u32 vnic_intr_legacy_pba(u32 __iomem *legacy_pba)
 void vnic_intr_free(struct vnic_intr *intr);
 int vnic_intr_alloc(struct vnic_dev *vdev, struct vnic_intr *intr,
 	unsigned int index);
-void vnic_intr_init(struct vnic_intr *intr, unsigned int coalescing_timer,
+void vnic_intr_init(struct vnic_intr *intr, u32 coalescing_timer,
 	unsigned int coalescing_type, unsigned int mask_on_assertion);
 void vnic_intr_coalescing_timer_set(struct vnic_intr *intr,
-	unsigned int coalescing_timer);
+	u32 coalescing_timer);
 void vnic_intr_clean(struct vnic_intr *intr);
 
 #endif /* _VNIC_INTR_H_ */


^ permalink raw reply related

* Re: [PATCH 001/001] forcedeth: Don't enable hardware vlan support on hardware that doesn't support it
From: Antoine Reversat @ 2011-06-15 21:08 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev
In-Reply-To: <585670083.71238.1308171180725.JavaMail.root@tahiti.vyatta.com>

On Wed, Jun 15, 2011 at 4:53 PM, Stephen Hemminger
<stephen.hemminger@vyatta.com> wrote:
>
> This shouldn't be necessary. rx_register should not be called
> unless NETIF_F_HW_VLAN_RX is set; and device should not be setting
> NETIF_F_HW_VLAN_RX unless DEV_HAS_VLAN is set.

I can confirm that rx_register gets called on hardware that doesn't
have vlan support (namely MCP79).

>From what I can see in vlan.c (in register_vlan_dev) there is no check
on the features of the device before calling the register function :

    if (ngrp) {
        if (ops->ndo_vlan_rx_register)
            ops->ndo_vlan_rx_register(real_dev, ngrp);
        rcu_assign_pointer(real_dev->vlgrp, ngrp);
    }

If the function exists, it's called. Should I send a patch to call the
function only if the hardware supports it ?

>
> The real problem is vlan_dev.c, and applies to all devices.
>
>

^ permalink raw reply

* Re: [PATCH 001/001] forcedeth: Don't enable hardware vlan support on hardware that doesn't support it
From: Stephen Hemminger @ 2011-06-15 20:53 UTC (permalink / raw)
  To: Antoine Reversat; +Cc: netdev
In-Reply-To: <25664046.71236.1308171027618.JavaMail.root@tahiti.vyatta.com>


> In the forcedeth driver hardware vlan support is used even on hardware
> that doesn't support it leading to incorrect tagging of some packets
> when using vlan.
> 
> Signed-off-by: Antoine Reversat <a.reversat@gmail.com>
> ---
> --- linux-2.6.39/drivers/net/forcedeth.c 2011-05-19 00:06:34.000000000
> -0400 +++ linux-2.6.39-fixed/drivers/net/forcedeth.c 2011-06-15
> 15:57:45.331158001 -0400
> @@ -4915,6 +4915,10 @@ static void nv_vlan_rx_register(struct n
> { struct fe_priv *np = get_nvpriv(dev);
> 
> + /* Don't do anything if device doesn't support VLAN */
> + if (!(np->driver_data & DEV_HAS_VLAN))
> + return;
> + spin_lock_irq(&np->lock);
> 
> /* save vlan group */

This shouldn't be necessary. rx_register should not be called
unless NETIF_F_HW_VLAN_RX is set; and device should not be setting
NETIF_F_HW_VLAN_RX unless DEV_HAS_VLAN is set.

The real problem is vlan_dev.c, and applies to all devices.


^ permalink raw reply

* Re: [RFC] Moving files around in drivers/net
From: Andy Gospodarek @ 2011-06-15 20:35 UTC (permalink / raw)
  To: Jeff Kirsher
  Cc: Joe Perches, netdev, David Miller, Paul Gortmaker, Jan Engelhardt
In-Reply-To: <BANLkTi=BAqKzZeLF2_uCYnr7PD3StGFgAg@mail.gmail.com>

On Wed, Jun 15, 2011 at 11:38:43AM -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).
> 

My only complaint about this is that as expected we lose any history
that used to be there with the 'git log' command.  Of course 'git log
--follow' still works on individual files, but we lose the ability to
look at entire directories.


^ permalink raw reply

* [PATCH 001/001] forcedeth: Don't enable hardware vlan support on hardware that doesn't support it
From: Antoine Reversat @ 2011-06-15 20:17 UTC (permalink / raw)
  To: netdev

In the forcedeth driver hardware vlan support is used even on hardware
that doesn't support it leading to incorrect tagging of some packets
when using vlan.

Signed-off-by: Antoine Reversat <a.reversat@gmail.com>
---
--- linux-2.6.39/drivers/net/forcedeth.c	2011-05-19 00:06:34.000000000 -0400
+++ linux-2.6.39-fixed/drivers/net/forcedeth.c	2011-06-15
15:57:45.331158001 -0400
@@ -4915,6 +4915,10 @@ static void nv_vlan_rx_register(struct n
 {
 	struct fe_priv *np = get_nvpriv(dev);

+	/* Don't do anything if device doesn't support VLAN */
+	if (!(np->driver_data & DEV_HAS_VLAN))
+		return;
+
 	spin_lock_irq(&np->lock);

 	/* save vlan group */

^ permalink raw reply

* RE: [RFC][PATCH] add tracepoint to __sk_mem_schedule
From: Satoru Moriya @ 2011-06-15 20:15 UTC (permalink / raw)
  To: Neil Horman
  Cc: netdev@vger.kernel.org, davem@davemloft.net,
	dle-develop@lists.sourceforge.net, Seiji Aguchi
In-Reply-To: <20110615200405.GB23380@hmsreliant.think-freely.org>

On 06/15/2011 04:04 PM, Neil Horman wrote:
> On Wed, Jun 15, 2011 at 03:18:09PM -0400, Satoru Moriya wrote:
>
>> Right. We can catch packet drop events via dropwatch/kfree_skb tracepoint.
>> OTOH, what I'd like to know is why kernel dropped packets. Basically,
>> we're able to know the reason because kfree_skb tracepoint records its
>> return address. But in this case it is difficult to know a detailed reason
>> because there are some possibilities. I'll try to explain UDP case.
> Ok, but you're patch only gets us incrmentally closer to that goal.  You can
> tell if theres too much memory pressue to accept another packet on a socket, but
> it doesn't tell you if for instance if sk_filter indicated an error, or
> something else failed.  In short it sounds to me like you're trying to debug a
> specific problem, rather than add something generally useful.

You're right.

>> As you said, we're able to catch the packet drop in __udp_queue_rcv_skb
>> and it means ip_queue_rcv_skb/sock_queue_rcv_skb returned negative value.
>> In sock_queue_rcv_skb there are 3 possibilities where it returns nagative
>> val but we can't separate them from the kfree_skb tracepoint. Moreover
> This is true, but you're patch doesn't do that either (not that either feature
> holds that as a specific goal).

Right.

> 
>> sock_queue_rcv_skb calls __sk_mem_schedule and there are several
>> if-statement to decide whether kernel should drop a packet in it. I'd like
>> to know the condition when it returned error because some of them are
>> related to sysctl knob e.g. /proc/sys/net/ipv4/udp_mem, udp_rmem_min,
>> udp_wmem_min for UDP case and we can tune kernel behavior easily.
>> Also they are needed to show root cause of packet drop to our customers.
>>
>> Does it make sense?
>>
> Yes, it makes sense, but I think the patch could be made generally more useful.

OK. I'll update my patch to make it more useful.

Thanks,
Satoru

^ permalink raw reply

* Re: Netconf2011 slides...
From: Daniel Baluta @ 2011-06-15 20:12 UTC (permalink / raw)
  To: David Miller; +Cc: netdev
In-Reply-To: <20110615.145937.1748734114172641662.davem@davemloft.net>

On Wed, Jun 15, 2011 at 9:59 PM, David Miller <davem@davemloft.net> wrote:
>
> As we're winding down here in Toronto I wanted to point
> folks at our web page:
>
>        http://vger.kernel.org/netconf2011.html
>
> as most of the slides are up for people to take a look
> at.  I'll make sure the remaining ones go up over the
> next few days.

Hi David,

Thanks for the link. Are there any chances to
have some videos of the presentations?

Daniel.

^ permalink raw reply

* Re: [RFC][PATCH] add tracepoint to __sk_mem_schedule
From: Neil Horman @ 2011-06-15 20:04 UTC (permalink / raw)
  To: Satoru Moriya
  Cc: netdev@vger.kernel.org, davem@davemloft.net,
	dle-develop@lists.sourceforge.net, Seiji Aguchi
In-Reply-To: <65795E11DBF1E645A09CEC7EAEE94B9C3FBC0709@USINDEVS02.corp.hds.com>

On Wed, Jun 15, 2011 at 03:18:09PM -0400, Satoru Moriya wrote:
> Hi Neil,
> 
> Thank you for looking at it.
> I'm afraid that my explanation was not enough.
> 
> On 06/15/2011 07:07 AM, Neil Horman wrote:
> > On Tue, Jun 14, 2011 at 03:24:14PM -0400, Satoru Moriya wrote:
> >
> > There are several ways to do this already.  Every drop that occurs in the stack
> > should have a corresponding statistical counter exposed for it, and we also have
> > a tracepoint in kfree_skb that the dropwatch system monitors to inform us of
> > dropped packets in a certralized fashion.  Not saying this tracepoint isn't
> > worthwhile, only that it covers already covered ground.
> 
> Right. We can catch packet drop events via dropwatch/kfree_skb tracepoint.
> OTOH, what I'd like to know is why kernel dropped packets. Basically,
> we're able to know the reason because kfree_skb tracepoint records its
> return address. But in this case it is difficult to know a detailed reason
> because there are some possibilities. I'll try to explain UDP case.
Ok, but you're patch only gets us incrmentally closer to that goal.  You can
tell if theres too much memory pressue to accept another packet on a socket, but
it doesn't tell you if for instance if sk_filter indicated an error, or
something else failed.  In short it sounds to me like you're trying to debug a
specific problem, rather than add something generally useful.

> 
> > Again, this is why dropwatch exists.  UDP gets into this path from:
> > __udp_queue_rcv_skb
> >  ip_queue_rcv_skb
> >   sock_queue_rcv_skb
> >    sk_rmem_schedule
> >     __sk_mem_schedule
> > 
> > If ip_queue_rcv_skb fails we increment the UDP_MIB_RCVBUFERRORS counter as well
> > as the UDP_MIB_INERRORS counter, and on the kfree_skb call after those
> > increments, dropwatch will report the frame loss and the fact that it occured in
> > __udp_queue_rcv_skb
> 
> As you said, we're able to catch the packet drop in __udp_queue_rcv_skb
> and it means ip_queue_rcv_skb/sock_queue_rcv_skb returned negative value.
> In sock_queue_rcv_skb there are 3 possibilities where it returns nagative
> val but we can't separate them from the kfree_skb tracepoint. Moreover
This is true, but you're patch doesn't do that either (not that either feature
holds that as a specific goal).

> sock_queue_rcv_skb calls __sk_mem_schedule and there are several
> if-statement to decide whether kernel should drop a packet in it. I'd like
> to know the condition when it returned error because some of them are
> related to sysctl knob e.g. /proc/sys/net/ipv4/udp_mem, udp_rmem_min,
> udp_wmem_min for UDP case and we can tune kernel behavior easily.
> Also they are needed to show root cause of packet drop to our customers.
> 
> Does it make sense?
> 
Yes, it makes sense, but I think the patch could be made generally more useful.

> > I still think its an interesting tracepoint, just because it might be nice to
> > know which sockets are expanding their snd/rcv buffer space, but why not modify
> > the tracepoint so that it accepts the return code of __sk_mem_schedule and call
> > it from both sk_rmem_schedule and sk_wmem_schedule.   That way you can use the
> > tracepoint to record both successfull expansion and failed expansions.
> 
> It may be good but not enough for me as I mentioned above.
> 
> 
> Regards,
> Satoru--
> 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][PATCH] add tracepoint to __sk_mem_schedule
From: Satoru Moriya @ 2011-06-15 19:18 UTC (permalink / raw)
  To: Neil Horman
  Cc: netdev@vger.kernel.org, davem@davemloft.net,
	dle-develop@lists.sourceforge.net, Seiji Aguchi
In-Reply-To: <20110615110723.GA23380@hmsreliant.think-freely.org>

Hi Neil,

Thank you for looking at it.
I'm afraid that my explanation was not enough.

On 06/15/2011 07:07 AM, Neil Horman wrote:
> On Tue, Jun 14, 2011 at 03:24:14PM -0400, Satoru Moriya wrote:
>
> There are several ways to do this already.  Every drop that occurs in the stack
> should have a corresponding statistical counter exposed for it, and we also have
> a tracepoint in kfree_skb that the dropwatch system monitors to inform us of
> dropped packets in a certralized fashion.  Not saying this tracepoint isn't
> worthwhile, only that it covers already covered ground.

Right. We can catch packet drop events via dropwatch/kfree_skb tracepoint.
OTOH, what I'd like to know is why kernel dropped packets. Basically,
we're able to know the reason because kfree_skb tracepoint records its
return address. But in this case it is difficult to know a detailed reason
because there are some possibilities. I'll try to explain UDP case.

> Again, this is why dropwatch exists.  UDP gets into this path from:
> __udp_queue_rcv_skb
>  ip_queue_rcv_skb
>   sock_queue_rcv_skb
>    sk_rmem_schedule
>     __sk_mem_schedule
> 
> If ip_queue_rcv_skb fails we increment the UDP_MIB_RCVBUFERRORS counter as well
> as the UDP_MIB_INERRORS counter, and on the kfree_skb call after those
> increments, dropwatch will report the frame loss and the fact that it occured in
> __udp_queue_rcv_skb

As you said, we're able to catch the packet drop in __udp_queue_rcv_skb
and it means ip_queue_rcv_skb/sock_queue_rcv_skb returned negative value.
In sock_queue_rcv_skb there are 3 possibilities where it returns nagative
val but we can't separate them from the kfree_skb tracepoint. Moreover
sock_queue_rcv_skb calls __sk_mem_schedule and there are several
if-statement to decide whether kernel should drop a packet in it. I'd like
to know the condition when it returned error because some of them are
related to sysctl knob e.g. /proc/sys/net/ipv4/udp_mem, udp_rmem_min,
udp_wmem_min for UDP case and we can tune kernel behavior easily.
Also they are needed to show root cause of packet drop to our customers.

Does it make sense?

> I still think its an interesting tracepoint, just because it might be nice to
> know which sockets are expanding their snd/rcv buffer space, but why not modify
> the tracepoint so that it accepts the return code of __sk_mem_schedule and call
> it from both sk_rmem_schedule and sk_wmem_schedule.   That way you can use the
> tracepoint to record both successfull expansion and failed expansions.

It may be good but not enough for me as I mentioned above.


Regards,
Satoru

^ permalink raw reply

* Re: [PATCH] ep93xx-eth: convert to phylib
From: Mika Westerberg @ 2011-06-15 19:15 UTC (permalink / raw)
  To: Petr Štetiar
  Cc: Florian Fainelli, netdev, Herbert Valerio Riedel, davem, hsweeten,
	ryan, Lennert Buytenhek, linux-arm-kernel
In-Reply-To: <20110609203059.GZ16318@ibawizard.net>

On Thu, Jun 09, 2011 at 10:30:59PM +0200, Petr Štetiar wrote:
> 
> just FYI, I wanted to test recent Mika's DMA/ep93xx_eth fixes, so I've added
> this patch also and it oopsed. If I revert this patch, it seems to work so
> far. You can find the whole patchset I've been testing on the GitHub[1]. I've
> tested it on ts-7250 and ts-7300, the oops is same. Here's the oops:
> 
> 	ep93xx-eth version 0.1 loading
> 	ep93xx_eth_mii: probed
> 	ep93xx_eth:ep93xx_mii_probe: no PHY found
> 	ep93xx-eth ep93xx-eth: failed to probe MII bus

I ran into same problem when I tried this patch on my TS-7260. It turned out
that call to mdiobus_register() tries to access PHY registers and the hardware
is not fully initialized yet. On Sim.One there is no such problem and I guess
that the bootloader leaves the hardware in more consistent state or something.

I was able to boot both TS-7260 and Sim.One with following hack on top of
this patch:

diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c
index 21cc0ee..06eeb10 100644
--- a/drivers/net/arm/ep93xx_eth.c
+++ b/drivers/net/arm/ep93xx_eth.c
@@ -241,6 +241,13 @@ static int ep93xx_mdiobus_write(struct mii_bus *bus, int phy_id, int reg, u16 da
 
 static int ep93xx_mdiobus_reset(struct mii_bus *bus)
 {
+	struct ep93xx_priv *ep = netdev_priv(bus->priv);
+
+	/*
+	 * Make sure that the PHY clock divisor is valid before trying to
+	 * access any of it's registers.
+	 */
+	wrl(ep, REG_SELFCTL, ((ep->mdc_divisor - 1) << 9));
 	return 0;
 }
 
@@ -631,10 +638,8 @@ err:
 	return 1;
 }
 
-static int ep93xx_start_hw(struct net_device *dev)
+static void ep93xx_reset_hw(struct ep93xx_priv *ep)
 {
-	struct ep93xx_priv *ep = netdev_priv(dev);
-	unsigned long addr;
 	int i;
 
 	wrl(ep, REG_SELFCTL, REG_SELFCTL_RESET);
@@ -644,12 +649,15 @@ static int ep93xx_start_hw(struct net_device *dev)
 		msleep(1);
 	}
 
-	if (i == 10) {
+	if (i == 10)
 		pr_crit("hw failed to reset\n");
-		return 1;
-	}
+}
 
-	wrl(ep, REG_SELFCTL, ((ep->mdc_divisor - 1) << 9));
+static int ep93xx_start_hw(struct net_device *dev)
+{
+	struct ep93xx_priv *ep = netdev_priv(dev);
+	unsigned long addr;
+	int i;
 
 	/* Does the PHY support preamble suppress?  */
 	if ((ep93xx_mdiobus_read(ep->mii_bus, ep->phy_addr, MII_BMSR) & 0x0040) != 0)
@@ -715,18 +723,7 @@ static int ep93xx_start_hw(struct net_device *dev)
 
 static void ep93xx_stop_hw(struct net_device *dev)
 {
-	struct ep93xx_priv *ep = netdev_priv(dev);
-	int i;
-
-	wrl(ep, REG_SELFCTL, REG_SELFCTL_RESET);
-	for (i = 0; i < 10; i++) {
-		if ((rdl(ep, REG_SELFCTL) & REG_SELFCTL_RESET) == 0)
-			break;
-		msleep(1);
-	}
-
-	if (i == 10)
-		pr_crit("hw failed to reset\n");
+	ep93xx_reset_hw(netdev_priv(dev));
 }
 
 static int ep93xx_open(struct net_device *dev)
@@ -934,6 +931,8 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
 	}
 	ep->irq = irq;
 
+	ep93xx_reset_hw(ep);
+
 	ep->mii_bus = mdiobus_alloc();
 	if (!ep->mii_bus) {
 		dev_err(&pdev->dev, "Failed to allocate mdiobus\n");


^ permalink raw reply related

* Netconf2011 slides...
From: David Miller @ 2011-06-15 18:59 UTC (permalink / raw)
  To: netdev


As we're winding down here in Toronto I wanted to point
folks at our web page:

	http://vger.kernel.org/netconf2011.html

as most of the slides are up for people to take a look
at.  I'll make sure the remaining ones go up over the
next few days.

Go bruins!

^ permalink raw reply

* Re: software iwarp stack update
From: Bart Van Assche @ 2011-06-15 18:57 UTC (permalink / raw)
  To: Bernard Metzler
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <OFC721DC15.CBE893E3-ONC12578B0.0053737C-C12578B0.00565784-Xeyd2O9EBijQT0dZR+AlfA@public.gmane.org>

On Wed, Jun 15, 2011 at 5:43 PM, Bernard Metzler <BMT-OA+xvbQnYDHMbYB6QlFGEg@public.gmane.org> wrote:
> after rebasing to davem/net-next-2.6.git, I formatted a patch adding
> to the initial 'siw' driver posting from last October. Given the rather
> substantial amount of changes and time elapsed, I am not sure if people
> would better like a complete re-posting of all files.
> If I don't hear objection before tomorrow I would post it as an
> increment - as summarized below.

Documentation in general and for sysfs attributes in particular seems
to be missing ?

Also, the following statement in siw_main.c:

ibdev->modify_port = NULL;

causes the following behavior if ib_modify_port() is invoked on a
softiwarp port:

BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<          (null)>]           (null)
Call Trace:
 [<ffffffffa0313c15>] ? ib_modify_port+0x55/0x60 [ib_core]
[ ... ]

Shouldn't the siw driver return an error code instead of setting
ibdev->modify_port to NULL ?

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.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-15 18:38 UTC (permalink / raw)
  To: Joe Perches; +Cc: netdev, David Miller, Paul Gortmaker, Jan Engelhardt
In-Reply-To: <1306958478.32125.32.camel@Joe-Laptop>

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).

-- 
Cheers,
Jeff

^ 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