firefly-linux-kernel-4.4.55.git
16 years agomv643xx_eth: use auto phy polling for configuring (R)(G)MII interface
Lennert Buytenhek [Mon, 14 Jul 2008 12:29:40 +0000 (14:29 +0200)]
mv643xx_eth: use auto phy polling for configuring (R)(G)MII interface

The mv643xx_eth hardware has a provision for polling the PHY's
MII management registers to obtain the (R)(G)MII interface speed
(10/100/1000) and duplex (half/full) and pause (off/symmetric)
settings to use to talk to the PHY.

The driver currently does not make use of this feature.  Instead,
whenever there is a link status change event, it reads the current
link parameters from the PHY, and programs those parameters into
the mv643xx_eth MAC by hand.

This patch switches the mv643xx_eth driver to letting the MAC
auto-determine the (R)(G)MII link parameters by PHY polling, if there
is a PHY present.  For PHYless ports (when e.g. the (R)(G)MII
interface is connected to a hardware switch), we keep hardcoding the
MII interface parameters.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: print driver version on init
Lennert Buytenhek [Tue, 15 Jul 2008 10:20:30 +0000 (12:20 +0200)]
mv643xx_eth: print driver version on init

Print the mv643xx_eth driver version on init to help debugging.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: use symbolic MII register addresses and values
Lennert Buytenhek [Tue, 15 Jul 2008 00:28:47 +0000 (02:28 +0200)]
mv643xx_eth: use symbolic MII register addresses and values

Instead of hardcoding MII register addresses and values, use the
symbolic constants defined in linux/mii.h.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: use longer DMA bursts
Lennert Buytenhek [Thu, 10 Jul 2008 12:40:51 +0000 (14:40 +0200)]
mv643xx_eth: use longer DMA bursts

The mv643xx_eth driver is limiting DMA bursts to 32 bytes, while
using the largest burst size (128 bytes) gives a couple percentage
points performance improvement in throughput tests, and the docs
say that the 128 byte default should not need to be changed, so
use 128 byte bursts instead.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: also check TX_IN_PROGRESS when disabling transmit path
Lennert Buytenhek [Tue, 15 Jul 2008 00:15:24 +0000 (02:15 +0200)]
mv643xx_eth: also check TX_IN_PROGRESS when disabling transmit path

The recommended sequence for waiting for the transmit path to clear
after disabling all of the transmit queues is to wait for the
TX_FIFO_EMPTY bit in the Port Status register to become set as well
as the TX_IN_PROGRESS bit to clear.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: don't fiddle with maximum receive packet size setting
Lennert Buytenhek [Thu, 10 Jul 2008 22:39:41 +0000 (00:39 +0200)]
mv643xx_eth: don't fiddle with maximum receive packet size setting

The maximum receive packet size field in the Port Serial Control
register controls at what size received packets are flagged
overlength in the receive descriptor, but it doesn't prevent
overlength packets from being DMAd to memory and signaled to the
host like other received packets.

mv643xx_eth does not support receiving jumbo frames in 10/100 mode,
but setting the packet threshold to larger than 1522 bytes in 10/100
mode won't cause breakage by itself.

If we really want to enforce maximum packet size on the receiving
end instead of on the sending end where it should be done, we can
always just add a length check to the software receive handler
instead of relying on the hardware to do the comparison for us.

What's more, changing the maximum packet size field requires
temporarily disabling the RX/TX paths.  So once the link comes
up in 10/100 Mb/s mode or 1000 Mb/s mode, we'd have to disable it
again just to set the right maximum packet size field (1522 in
10/100 Mb/s mode or 9700 in 1000 Mb/s mode), just so that we can
offload one comparison operation to hardware that we might as well
do in software, assuming that we'd want to do it at all.

Contrary to what the documentation suggests, there is no harm in
just setting a 9700 byte maximum packet size in 10/100 mode, so use
the maximum maximum packet size for all modes.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: fix transmit-reclaim-in-napi-poll
Lennert Buytenhek [Tue, 15 Jul 2008 11:34:51 +0000 (13:34 +0200)]
mv643xx_eth: fix transmit-reclaim-in-napi-poll

The mv643xx_eth driver allows doing transmit reclaim from within the
napi poll routine, but after doing reclaim, it would forget to check
the free transmit descriptor count and wake up the transmit queue if
the reclaim caused enough descriptors for a new packet to become
available.  This would cause the netdev watchdog to occasionally kick
in during certain workloads with combined receive and transmit traffic.

Fix this by adding a wakeup check identical to the one in the
interrupt handler to the napi poll routine.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: prevent breakage when link goes down during transmit
Lennert Buytenhek [Fri, 11 Jul 2008 17:38:34 +0000 (19:38 +0200)]
mv643xx_eth: prevent breakage when link goes down during transmit

When the ethernet link goes down while mv643xx_eth is transmitting
data, transmit DMA can stop before all queued transmit descriptors
have been processed.  But even the descriptors that _have_ been
processed might not be properly marked as done before the transmit
DMA unit shuts down.

Then when the link comes up again, the hardware transmit pointer
might have advanced while not all previous packet descriptors have
been marked as transmitted, causing software transmit reclaim to
hang waiting for the hardware to finish transmitting a descriptor
that it has already skipped.

This patch forcibly reclaims all packets on the transmit ring on a
link down interrupt, and then resyncs the hardware transmit pointer to
what the software's idea of the first free descriptor is.  Also, we
need to prevent re-waking the transmit queue if we get a 'transmit
done' interrupt at the same time as a 'link down' interrupt, which
this patch does as well.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agomv643xx_eth: fix TX hang erratum workaround
Lennert Buytenhek [Mon, 14 Jul 2008 20:56:55 +0000 (22:56 +0200)]
mv643xx_eth: fix TX hang erratum workaround

The previously merged TX hang erratum workaround ("mv643xx_eth:
work around TX hang hardware issue") assumes that TX_END interrupts
are delivered simultaneously with or after their corresponding TX
interrupts, but this is not always true in practise.

In particular, it appears that TX_END interrupts are issued as soon
as descriptor fetch returns an invalid descriptor, which may happen
before earlier descriptors have been fully transmitted and written
back to memory as being done.

This hardware behavior can lead to a situation where the current
driver code mistakenly assumes that the MAC has given up transmitting
before noticing the packets that it is in fact still currently working
on, causing the driver to re-kick the transmit queue, which will only
cause the MAC to re-fetch the invalid head descriptor, and generate
another TX_END interrupt, et cetera, until the packets in the pipe
finally finish transmitting and have their descriptors written back
to memory, which will then finally break the loop.

Fix this by having the erratum workaround not check the 'number of
unfinished descriptor', but instead, to compare the software's idea
of what the head descriptor pointer should be to the hardware's head
descriptor pointer (which is updated on the same conditions as the
TX_END interupt is generated on, i.e. possibly before all previous
descriptors have been transmitted and written back).

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 23 Jul 2008 02:09:51 +0000 (19:09 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (82 commits)
  ipw2200: Call netif_*_queue() interfaces properly.
  netxen: Needs to include linux/vmalloc.h
  [netdrvr] atl1d: fix !CONFIG_PM build
  r6040: rework init_one error handling
  r6040: bump release number to 0.18
  r6040: handle RX fifo full and no descriptor interrupts
  r6040: change the default waiting time
  r6040: use definitions for magic values in descriptor status
  r6040: completely rework the RX path
  r6040: call napi_disable when puting down the interface and set lp->dev accordingly.
  mv643xx_eth: fix NETPOLL build
  r6040: rework the RX buffers allocation routine
  r6040: fix scheduling while atomic in r6040_tx_timeout
  r6040: fix null pointer access and tx timeouts
  r6040: prefix all functions with r6040
  rndis_host: support WM6 devices as modems
  at91_ether: use netstats in net_device structure
  sfc: Create one RX queue and interrupt per CPU package by default
  sfc: Use a separate workqueue for resets
  sfc: I2C adapter initialisation fixes
  ...

16 years agoRe-delete zombie 'drivers/usb/serial/airprime.c' file
Linus Torvalds [Wed, 23 Jul 2008 02:06:00 +0000 (19:06 -0700)]
Re-delete zombie 'drivers/usb/serial/airprime.c' file

Stephen Rothwell points out that this file got deleted (on purpose) by
commit 640c1bce86d1e11ee6a1263fdf6170d3210b1684 ("USB: delete airprime
driver"), but then almost immediately incorrectly resurrected by commit
95da310e66ee8090119596c70ca8432e57f9a97f ("usb_serial: API all change").

Delete it again.  If it comes back, we'll need to drive a stake through
its heart.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Greg KH <greg@kroah.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 23 Jul 2008 02:04:22 +0000 (19:04 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc32: pass -m32 when building vmlinux.lds
  sparc: Fixes the DRM layer build on sparc.
  ide: merge <asm-sparc/ide_64.h> with <asm-sparc/ide_32.h>
  ide: <asm-sparc/ide_64.h>: use __raw_{read,write}w()
  ide: <asm-sparc/ide_32.h>: use __raw_{read,write}w()
  ide: <asm-sparc/ide_64.h>: use %r0 for outw_be()
  sparc64: Do not define BIO_VMERGE_BOUNDARY.

16 years agoipw2200: Call netif_*_queue() interfaces properly.
David S. Miller [Wed, 23 Jul 2008 01:32:47 +0000 (18:32 -0700)]
ipw2200: Call netif_*_queue() interfaces properly.

netif_carrier_{on,off}() handles starting and stopping packet
flow into the driver.  So there is no reason to invoke netif_stop_queue()
and netif_wake_queue() in response to link status events.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetxen: Needs to include linux/vmalloc.h
David S. Miller [Wed, 23 Jul 2008 01:29:10 +0000 (18:29 -0700)]
netxen: Needs to include linux/vmalloc.h

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Wed, 23 Jul 2008 01:19:22 +0000 (18:19 -0700)]
Merge branch 'upstream-davem' of /linux/kernel/git/jgarzik/netdev-2.6

16 years ago[netdrvr] atl1d: fix !CONFIG_PM build
Jeff Garzik [Wed, 23 Jul 2008 01:17:38 +0000 (21:17 -0400)]
[netdrvr] atl1d: fix !CONFIG_PM build

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoMerge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Wed, 23 Jul 2008 00:54:47 +0000 (17:54 -0700)]
Merge branch 'upstream-davem' of /linux/kernel/git/jgarzik/netdev-2.6

16 years agor6040: rework init_one error handling
Florian Fainelli [Mon, 21 Jul 2008 10:32:29 +0000 (12:32 +0200)]
r6040: rework init_one error handling

This patch reworks the error handling in r6040_init_one
in order not to leak resources and correcly unmap and release
PCI regions of the MAC. Also prefix printk's with the driver name
for clarity.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: bump release number to 0.18
Florian Fainelli [Sun, 13 Jul 2008 12:36:04 +0000 (14:36 +0200)]
r6040: bump release number to 0.18

This patch bumps the release of the r6040 driver. There has been
quite some versions of it out there, but this one is the one
people should report bugs against.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: handle RX fifo full and no descriptor interrupts
Florian Fainelli [Sun, 13 Jul 2008 12:35:32 +0000 (14:35 +0200)]
r6040: handle RX fifo full and no descriptor interrupts

This patch allows the MAC to handle the RX FIFO full
and no descriptor available interrupts. While we are at it
replace the TX interrupt with its corresponding definition.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: change the default waiting time
Florian Fainelli [Sun, 13 Jul 2008 12:35:00 +0000 (14:35 +0200)]
r6040: change the default waiting time

This patch changes the default waiting time of a packet, which
along with our previous r6040_rx path, was causing huge delays
with another host (160 to 230 ms).

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: use definitions for magic values in descriptor status
Florian Fainelli [Sun, 13 Jul 2008 12:34:15 +0000 (14:34 +0200)]
r6040: use definitions for magic values in descriptor status

Define all the descriptor status the MAC can set.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: completely rework the RX path
Florian Fainelli [Sun, 13 Jul 2008 12:33:36 +0000 (14:33 +0200)]
r6040: completely rework the RX path

This patch completely reworks the RX path in order to be
more accurate about what is going on with the MAC.
We no longer read the error from the MLSR register instead read
the descriptor status register which reflects, the error per descriptor.
We now allocate skbs on the fly in r6040_rx, and we handle allocation
failure instead of simply dropping the packet. Remove the
rx_free_desc counter of r6040_private structure since we
allocate skbs in the RX path.

r6040_rx_buf_alloc is now removed and becomes unuseless.

Signed-Off-By: Joerg Albert <jal2@gmx.de>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: call napi_disable when puting down the interface and set lp->dev accordingly.
Florian Fainelli [Sun, 13 Jul 2008 12:32:45 +0000 (14:32 +0200)]
r6040: call napi_disable when puting down the interface and set lp->dev accordingly.

We did not call napi_disabled when putting down the interface
which should be done. Finally initialize lp->dev when everything
is set.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agomv643xx_eth: fix NETPOLL build
Lennert Buytenhek [Sun, 6 Jul 2008 22:03:00 +0000 (00:03 +0200)]
mv643xx_eth: fix NETPOLL build

Joseph Fannin <jfannin@gmail.com> and Takashi Iwai <tiwai@suse.de>
noticed that commit 073a345c04b01da0cc5b79ac7be0c7c8b1691ef5
("mv643xx_eth: clarify irq masking and unmasking") broke the
mv643xx_eth build when NETPOLL is enabled, due to it not renaming
one instance of INT_CAUSE_EXT in mv643xx_eth_netpoll().  This patch
takes care of that instance as well.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Cc: Dale Farnsworth <dale@farnsworth.org>
Cc: Joseph Fannin <jfannin@gmail.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: rework the RX buffers allocation routine
Florian Fainelli [Sun, 13 Jul 2008 12:32:18 +0000 (14:32 +0200)]
r6040: rework the RX buffers allocation routine

Rework the RX buffers allocation function so that we do not
leak memory in the case we could not allocate skbs for the
RX path. Propagate the errors to the r6040_up function
where we call the RX buffers allocation function.

Also rename the r6040_alloc_txbufs function to
r6040_init_txbufs, to reflect what it really does.

Signed-Off-By: Joerg Albert <jal2@gmx.de>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: fix scheduling while atomic in r6040_tx_timeout
Florian Fainelli [Sun, 13 Jul 2008 12:29:20 +0000 (14:29 +0200)]
r6040: fix scheduling while atomic in r6040_tx_timeout

Add a helper function which only modifies R6040 MAC registers
use it when we timeout, and on adapter initialization. Fix
the scheduling while atomic but in the timeout routine due
to the reallocation of rx/tx buffers.

Signed-Off-By: Joerg Albert <jal2@gmx.de>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: fix null pointer access and tx timeouts
Florian Fainelli [Sun, 13 Jul 2008 12:28:27 +0000 (14:28 +0200)]
r6040: fix null pointer access and tx timeouts

This patch fixes a null pointer access in r6040_rx due
to lp->dev not being initialized.

Fix the TX timeouts, TX irq was not re-enabled on RX irq

Signed-Off-By: Joerg Albert <jal2@gmx.de>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: prefix all functions with r6040
Florian Fainelli [Sun, 13 Jul 2008 11:39:32 +0000 (13:39 +0200)]
r6040: prefix all functions with r6040

Prefix all functions inside the r6040 driver with r6040 to
avoid namespace clashing.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agorndis_host: support WM6 devices as modems
Thomas Backlund [Tue, 22 Jul 2008 20:55:58 +0000 (13:55 -0700)]
rndis_host: support WM6 devices as modems

This patch allows Windows Mobile 6 devices to be used for
tethering -- that is, used as modems.  It was requested by
AdamW in kernel bugzilla:

  http://bugzilla.kernel.org/show_bug.cgi?id=11119

and Mandriva kernel-discuss list.  It is tested and confirmed
to work by Peterl:

  http://forum.eeeuser.com/viewtopic.php?pid=323543#p323543

This patch is based on the patch in the above kernel bugzilla,
which is from the usb-rndis-lite tree.

[ dbrownell@users.sourceforge.net: misc fixes ]
Signed-off-by: Thomas Backlund <tmb@mandriva.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoat91_ether: use netstats in net_device structure
Paulius Zaleckas [Thu, 17 Jul 2008 08:01:26 +0000 (11:01 +0300)]
at91_ether: use netstats in net_device structure

Use net_device_stats from net_device structure instead of local.

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Tested-by: Marc Pignat <marc.pignat@hevs.ch>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Create one RX queue and interrupt per CPU package by default
Ben Hutchings [Fri, 18 Jul 2008 18:03:10 +0000 (19:03 +0100)]
sfc: Create one RX queue and interrupt per CPU package by default

Using multiple cores in the same package to handle received traffic
does not appear to provide a performance benefit.  Therefore use CPU
topology information to count CPU packages and use that as the default
number of RX queues and interrupts.  We rely on interrupt balancing to
spread the interrupts across packages.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use a separate workqueue for resets
Ben Hutchings [Fri, 18 Jul 2008 18:01:20 +0000 (19:01 +0100)]
sfc: Use a separate workqueue for resets

This avoids deadlock in case a reset is triggered during self-test.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: I2C adapter initialisation fixes
Ben Hutchings [Fri, 18 Jul 2008 17:59:12 +0000 (18:59 +0100)]
sfc: I2C adapter initialisation fixes

As recommended by Jean Delvare:
- Increase timeout to 50 ms
- Leave adapter class clear so that unwanted drivers do not probe our bus
- Use strlcpy() for name initialisation

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: make ioport free
Taku Izumi [Fri, 11 Jul 2008 22:17:44 +0000 (15:17 -0700)]
e1000: make ioport free

This patch makes e1000 driver ioport-free.
This corrects behavior in probe function so as not to request ioport
resources as long as they are not really needed.  This is based on the
ioport-free patch of e1000 driver from Auke Kok and Tomohiro Kusumi.

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@jp.fujitsu.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jeff Kirsher<jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: delete non NAPI code from the driver
Francois Romieu [Fri, 11 Jul 2008 22:17:38 +0000 (15:17 -0700)]
e1000: delete non NAPI code from the driver

Compile-tested only.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: remove email reference
Jeff Kirsher [Fri, 11 Jul 2008 22:17:33 +0000 (15:17 -0700)]
e1000: remove email reference

The email linux-nics@intel.com is no longer available, remove all
references.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: Move assignments in tests before test
Joe Perches [Fri, 11 Jul 2008 22:17:28 +0000 (15:17 -0700)]
e1000: Move assignments in tests before test

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: checkpatch clean
Joe Perches [Fri, 11 Jul 2008 22:17:23 +0000 (15:17 -0700)]
e1000: checkpatch clean

Redefine DPRINTK macro using do while(0)
__FUNCTION__ to __func__
structs {} on separate lines
Surround negative constants with ()

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: Remove spaces after casts and function names
Joe Perches [Fri, 11 Jul 2008 22:17:18 +0000 (15:17 -0700)]
e1000: Remove spaces after casts and function names

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: Move extern function definitions to e1000.h
Joe Perches [Fri, 11 Jul 2008 22:17:13 +0000 (15:17 -0700)]
e1000: Move extern function definitions to e1000.h

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: Use hw, er32, and ew32
Joe Perches [Fri, 11 Jul 2008 22:17:08 +0000 (15:17 -0700)]
e1000: Use hw, er32, and ew32

Use struct e1000_hw *hw = adapter->hw; where necessary
Change macros E1000_READ_REG and E1000_WRITE_REG to er32 and ew32

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000: neaten function declarations
Joe Perches [Fri, 11 Jul 2008 22:17:02 +0000 (15:17 -0700)]
e1000: neaten function declarations

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoFix typo in meth driver
Christoph Lameter [Fri, 11 Jul 2008 21:12:34 +0000 (16:12 -0500)]
Fix typo in meth driver

An | in an if statement to check a bit? I think this needs to be a &.
As a result of this typo meth will always operate in promiscuous mode.

Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoatl1e: Atheros L1E Gigabit Ethernet driver
Jie Yang [Fri, 18 Jul 2008 03:37:13 +0000 (11:37 +0800)]
atl1e: Atheros L1E Gigabit Ethernet driver

Full patch for the Atheros L1E Gigabit Ethernet driver.
Supportring AR8121, AR8113 and AR8114

Signed-off-by: Jie Yang <jie.yang @atheros.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: remove device ID for unsupported device
Jesse Brandeburg [Sat, 12 Jul 2008 00:34:58 +0000 (17:34 -0700)]
ixgbe: remove device ID for unsupported device

The ixgbe driver was untested with device ID 8086:10c8 but still advertises
support.  Currently if this device is present in the system when the driver
is loaded, the system will panic.
Remove this device ID until full support can be tested with available
hardware.  This patch is necessary for 2.6.24, 2.6.25 and 2.6.26

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosparc32: pass -m32 when building vmlinux.lds
Stephen Rothwell [Tue, 22 Jul 2008 22:47:17 +0000 (15:47 -0700)]
sparc32: pass -m32 when building vmlinux.lds

Otherwise it breaks since we merged asm/page.h

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: bunch of drivers: avoid WARN at net/core/dev.c:1328
Anton Vorontsov [Tue, 22 Jul 2008 22:41:24 +0000 (15:41 -0700)]
netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328

The drivers were touching net queue before it has been started, so
without this patch, the drivers will potentially WARN at
net/core/dev.c:1328.

I don't have the hardware for the drivers below, so this patch is
untested, and thus should be carefully peer reviewed.

tc35815.c
au1000_eth.c
bfin_mac.c
macb.c
^ The four drivers are using phylib, they're calling netif_start_queue()
in open() callback. So trivially remove netif_tx_schedule_all().
Phylib will handle netif_carrier_*().

cpmac.c
fec_mpc52xx.c
fs_enet/fs_enet-main.c
sh_eth.c
^ The same as above, but these were also needlessly calling
netif_carrier_*() functions. So removed queue calls and also remove
carrier calls, since phylib will handle it. fs_enet-main.c also didn't
call netif_start_queue() at open(), this is fixed now.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago8139too: Fall back to PIO when MMIO fails.
Dave Jones [Tue, 15 Jul 2008 23:54:52 +0000 (19:54 -0400)]
8139too: Fall back to PIO when MMIO fails.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139too: Force usage of PIO on OQO2
Dave Jones [Tue, 15 Jul 2008 23:54:53 +0000 (19:54 -0400)]
8139too: Force usage of PIO on OQO2

The OQO model 2 has an RTL8139 from Atheros that doesn't like MMIO.
It fails on modprobe, with a 'PCI Bus error' message.

Force it to always use polled IO.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139too: Make PIO/MMIO a runtime decision through a module parameter.
Dave Jones [Tue, 15 Jul 2008 23:54:53 +0000 (19:54 -0400)]
8139too: Make PIO/MMIO a runtime decision through a module parameter.

This is needed to support devices that only work with PIO without
penalising devices that work fine with MMIO in distro kernels.
It also allows us to eventually use PIO as a fallback when setting
up MMIO fails.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet/phy: Fix 88e1111 copper/fiber selection in RGMII mode
Wang Jian [Wed, 16 Jul 2008 13:46:20 +0000 (21:46 +0800)]
net/phy: Fix 88e1111 copper/fiber selection in RGMII mode

MII_M1111_HWCFG_FIBER_COPPER_RES is a bit of MII_M1111_PHY_EXT_SR, not
MII_M1111_PHY_EXT_CR.

Signed-off-by: Wang Jian <lark@linux.net.cn>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet/phy: Fix copper/fiber auto-selection for 88e1111
Wang Jian [Wed, 16 Jul 2008 13:46:17 +0000 (21:46 +0800)]
net/phy: Fix copper/fiber auto-selection for 88e1111

The 27.15 bit (MII_M1111_HWCFG_FIBER_COPPER_AUTO) is disable bit. When
set to 1, copper/fiber auto selection is disabled. The current code
to enable but actually disable auto selection.

Signed-off-by: Wang Jian <lark@linux.net.cn>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet: tun.c fix cast
Harvey Harrison [Wed, 16 Jul 2008 19:45:34 +0000 (12:45 -0700)]
net: tun.c fix cast

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet: igb_main.c fix sparse integer as NULL pointer warning
Harvey Harrison [Wed, 16 Jul 2008 19:45:27 +0000 (12:45 -0700)]
net: igb_main.c fix sparse integer as NULL pointer warning

drivers/net/igb/igb_main.c:388:20: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoDM9000: Remove magic numbers
Ben Dooks [Thu, 17 Jul 2008 19:29:13 +0000 (20:29 +0100)]
DM9000: Remove magic numbers

Remove magic numbers for items that we already have
defined in the register header file.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoMAINTAINERS: Update email address of Ursula Braun
Ursula Braun [Fri, 18 Jul 2008 13:24:58 +0000 (15:24 +0200)]
MAINTAINERS: Update email address of Ursula Braun

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agos390/net/ctcm: message cleanup
Peter Tiedemann [Fri, 18 Jul 2008 13:24:57 +0000 (15:24 +0200)]
s390/net/ctcm: message cleanup

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agos390/net: Cleanup claw printk messages.
Andy Richter [Fri, 18 Jul 2008 13:24:56 +0000 (15:24 +0200)]
s390/net: Cleanup claw printk messages.

Cc: Martin Schwidefsky <schwidefska@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andy Richter <richtera@us.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: update driver version
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:10 +0000 (19:44 -0700)]
netxen: update driver version

Change driver version to 4.0.0. Netxen firmwares as old as
v3.4.216 are supported.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: enable tso6, intr coalescing.
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:09 +0000 (19:44 -0700)]
netxen: enable tso6, intr coalescing.

Enable tso6 and ipv6 checksum, interrupt coalescing for NX3031.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: cut-through rx changes
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:08 +0000 (19:44 -0700)]
netxen: cut-through rx changes

NX3031 supports cut-through operation where ingress packets are
directly dma'ed into host buffers to reduce latency.

This requires larger dma buffers (2kb) and different alignemnt.

The buffer posting logic is changed a bit. The free rx buffers
are maintained in linked list, since the received reference
handles can be out of order. However rx descriptors are still
posted sequentially, indexed by producer.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: mtu, mac, link status changes
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:07 +0000 (19:44 -0700)]
netxen: mtu, mac, link status changes

MAC addr, multicast filters, mtu are set through firmware commands
in firmware v4.0.0+ because of virtualization of physical ports.
Link status is also read from registers allocated by firmware for
each virtual port.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: add netxen_nic_ctx.c
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:06 +0000 (19:44 -0700)]
netxen: add netxen_nic_ctx.c

Contains rx and tx ring context management and certain
firmware commands for netxen firmware v4.0.0+.

This patch gathers all HW context management code into
netxen_nic_ctx.c.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: remove netxen_nic_isr.c
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:05 +0000 (19:44 -0700)]
netxen: remove netxen_nic_isr.c

It had only couple of functions which are moved to main.c

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: pci probe and firmware init changes
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:04 +0000 (19:44 -0700)]
netxen: pci probe and firmware init changes

Add initialization code in pci probe for new chip and retain
compatibility with old revisions.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: add 2MB PCI memory support
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:03 +0000 (19:44 -0700)]
netxen: add 2MB PCI memory support

New revision of netxen chip has 2MB PCI memory. Older chips
had 128MB addressable PCI memory. To retain compatibility,
this patch adds function pointers based on pci bar0 size.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: add defs for new chip/boards
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:02 +0000 (19:44 -0700)]
netxen: add defs for new chip/boards

Add macros for new chip revision and board configurations.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: hw multicast filtering
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:01 +0000 (19:44 -0700)]
netxen: hw multicast filtering

Enable multicast address filtering capabilities in the hardware.
Upto 16 multicast addresses can be programmed for each physical
port. Support "allmulti" mode, if enabled.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: cleanup unused variables/functions
Dhananjay Phadke [Tue, 22 Jul 2008 02:44:00 +0000 (19:44 -0700)]
netxen: cleanup unused variables/functions

o Reduce access to global arrays in data path.
o Remove duplicate/unused variables, unecessary alignment constraints.
o Use correct pci_dev instead of fallback device for consistent
  allocations.
o Disable ethtool set_eeprom functionality for now, it was only used
  for flashing firmware.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet 8390p: fix interface usage
Ingo Molnar [Tue, 22 Jul 2008 07:23:34 +0000 (09:23 +0200)]
net 8390p: fix interface usage

various drivers were using the wrong APIs:

 drivers/built-in.o: In function `hp_probe1':
 hp.c:(.init.text+0xa280): undefined reference to `NS8390_init'

fixed via:

cd drivers/net/; sed -i 's/NS8390_/NS8390p_/g' \
  $(grep -l NS8390_ $(grep 8390p.o Makefile | cut -d' ' -f3 | \
      sed 's/.o$/.c/g'))

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoipv6: icmp6_dst_gc return change
Stephen Hemminger [Tue, 22 Jul 2008 21:35:50 +0000 (14:35 -0700)]
ipv6: icmp6_dst_gc return change

Change icmp6_dst_gc to return the one value the caller cares about rather
than using call by reference.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: use kcalloc
Stephen Hemminger [Tue, 22 Jul 2008 21:35:07 +0000 (14:35 -0700)]
ipv6: use kcalloc

Th fib_table_hash is an array, so use kcalloc.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: use spin_trylock_bh
Stephen Hemminger [Tue, 22 Jul 2008 21:34:35 +0000 (14:34 -0700)]
ipv6: use spin_trylock_bh

Now there is spin_trylock_bh, use it rather than open coding.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: use round_jiffies
Stephen Hemminger [Tue, 22 Jul 2008 21:34:09 +0000 (14:34 -0700)]
ipv6: use round_jiffies

This timer normally happens once a minute, there is no need to cause an
early wakeup for it, so align it to next second boundary to safe power.
It can't be deferred because then it could take too long on cleanup or DoS.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetns: dont alloc ipv6 fib timer list
Stephen Hemminger [Tue, 22 Jul 2008 21:33:45 +0000 (14:33 -0700)]
netns: dont alloc ipv6 fib timer list

FIB timer list is a trivial size structure, avoid indirection and just
put it in existing ns.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosparc: Fixes the DRM layer build on sparc.
David S. Miller [Tue, 22 Jul 2008 21:30:55 +0000 (14:30 -0700)]
sparc: Fixes the DRM layer build on sparc.

By providing an ioremap_wc().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: make struct ipv6_devconf static
Adrian Bunk [Tue, 22 Jul 2008 21:21:58 +0000 (14:21 -0700)]
ipv6: make struct ipv6_devconf static

struct ipv6_devconf can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: remove sctp_assoc_proc_exit()
Adrian Bunk [Tue, 22 Jul 2008 21:21:30 +0000 (14:21 -0700)]
sctp: remove sctp_assoc_proc_exit()

Commit 20c2c1fd6c842caf70dcb1d94b9d58861949fd3d
(sctp: add sctp/remaddr table to complete RFC remote address table OID)
added an unused sctp_assoc_proc_exit() function that seems to have been
unintentionally created when copying the assocs code.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: make sctp_outq_flush() static
Adrian Bunk [Tue, 22 Jul 2008 21:20:45 +0000 (14:20 -0700)]
sctp: make sctp_outq_flush() static

sctp_outq_flush() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: make qdisc_class_hash_alloc() static
Adrian Bunk [Tue, 22 Jul 2008 21:20:11 +0000 (14:20 -0700)]
pkt_sched: make qdisc_class_hash_alloc() static

This patch makes the needlessly global qdisc_class_hash_alloc() static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetns: make get_proc_net() static
Adrian Bunk [Tue, 22 Jul 2008 21:19:19 +0000 (14:19 -0700)]
netns: make get_proc_net() static

get_proc_net() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep.
David S. Miller [Tue, 22 Jul 2008 21:16:42 +0000 (14:16 -0700)]
netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep.

The new address list lock needs to handle the same device layering
issues that the _xmit_lock one does.

This integrates work done by Patrick McHardy.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Fix build failure with 'make mandocs'.
Dave Jones [Tue, 22 Jul 2008 21:09:06 +0000 (14:09 -0700)]
net: Fix build failure with 'make mandocs'.

The function header comments have to go with the functions
they are documenting, or things go horribly wrong when we
try to process them with the docbook tools.

Warning(include/linux/netdevice.h:1006): No description found for parameter 'dev_queue'
Warning(include/linux/netdevice.h:1033): No description found for parameter 'dev_queue'
Warning(include/linux/netdevice.h:1067): No description found for parameter 'dev_queue'
Warning(include/linux/netdevice.h:1093): No description found for parameter 'dev_queue'
Warning(include/linux/netdevice.h:1474): No description found for parameter 'txq'
Error(net/core/dev.c:1674): cannot understand prototype: 'u32 simple_tx_hashrnd; '

Signed-off-by: Dave Jones <davej@redhat.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Tue, 22 Jul 2008 20:40:24 +0000 (13:40 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: fix crash due to missing debugctlmsr on AMD K6-3
  x86: add PTE_FLAGS_MASK
  x86: rename PTE_MASK to PTE_PFN_MASK
  x86: fix pte_flags() to only return flags, fix lguest (updated)
  x86: use setup_clear_cpu_cap with disable_apic, fix
  x86: move the last Dprintk instance to pr_debug()

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
Linus Torvalds [Tue, 22 Jul 2008 20:17:15 +0000 (13:17 -0700)]
Merge git://git./linux/kernel/git/rusty/linux-2.6-for-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
  remove CONFIG_KMOD from core kernel code
  remove CONFIG_KMOD from lib
  remove CONFIG_KMOD from sparc64
  rework try_then_request_module to do less in non-modular kernels
  remove mention of CONFIG_KMOD from documentation
  make CONFIG_KMOD invisible
  modules: Take a shortcut for checking if an address is in a module
  module: turn longs into ints for module sizes
  Shrink struct module: CONFIG_UNUSED_SYMBOLS ifdefs
  module: reorder struct module to save space on 64 bit builds
  module: generic each_symbol iterator function
  module: don't use stop_machine for waiting rmmod

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Tue, 22 Jul 2008 20:16:01 +0000 (13:16 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (49 commits)
  powerpc: Fix build bug with binutils < 2.18 and GCC < 4.2
  powerpc/eeh: Don't panic when EEH_MAX_FAILS is exceeded
  fbdev: Teaches offb about palette on radeon r5xx/r6xx
  powerpc/cell/edac: Log a syndrome code in case of correctable error
  powerpc/cell: Add DMA_ATTR_WEAK_ORDERING dma attribute and use in Cell IOMMU code
  powerpc: Indicate which oprofile counters to use while in compat mode
  powerpc/boot: Change spaces to tabs
  powerpc: Remove duplicate 6xx option in Kconfig
  powerpc: Use PPC_LONG and PPC_LONG_ALIGN in lib/string.S
  powerpc: Use PPC_LONG_ALIGN in uaccess.h
  powerpc: Add a #define for aligning to a long-sized boundary
  powerpc: Fix OF parsing of 64 bits PCI addresses
  powerpc: Use WARN_ON(1) instead of __WARN()
  powerpc: Fix support for latencytop
  powerpc/ps3: Update ps3_defconfig
  powerpc/ps3: Add a sub-match id to ps3_system_bus
  powerpc: Add a 6xx defconfig
  powerpc/dma: Use the struct dma_attrs in iommu code
  powerpc/cell: Add support for power button of future IBM cell blades
  powerpc/cell: Cleanup sysreset_hack for IBM cell blades
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
Linus Torvalds [Tue, 22 Jul 2008 20:13:47 +0000 (13:13 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-core-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (79 commits)
  arm: bus_id -> dev_name() and dev_set_name() conversions
  sparc64: fix up bus_id changes in sparc core code
  3c59x: handle pci_name() being const
  MTD: handle pci_name() being const
  HP iLO driver
  sysdev: Convert the x86 mce tolerant sysdev attribute to generic attribute
  sysdev: Add utility functions for simple int/ulong variable sysdev attributes
  sysdev: Pass the attribute to the low level sysdev show/store function
  driver core: Suppress sysfs warnings for device_rename().
  kobject: Transmit return value of call_usermodehelper() to caller
  sysfs-rules.txt: reword API stability statement
  debugfs: Implement debugfs_remove_recursive()
  HOWTO: change email addresses of James in HOWTO
  always enable FW_LOADER unless EMBEDDED=y
  uio-howto.tmpl: use unique output names
  uio-howto.tmpl: use standard copyright/legal markings
  sysfs: don't call notify_change
  sysdev: fix debugging statements in registration code.
  kobject: should use kobject_put() in kset-example
  kobject: reorder kobject to save space on 64 bit builds
  ...

16 years agomyri10ge: use ioremap_wc
Brice Goglin [Mon, 21 Jul 2008 08:26:25 +0000 (10:26 +0200)]
myri10ge: use ioremap_wc

Switch to ioremap_wc(). We keep the MTRR code since ioremap_wc()
will use UC_MINUS when falling back to uncachable, and thus let
the MTRR WC take precedence.

Also rename the error path better.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agomyri10ge: remove wcfifo
Brice Goglin [Mon, 21 Jul 2008 08:25:50 +0000 (10:25 +0200)]
myri10ge: remove wcfifo

Remove the wcfifo since it never gave any performance improvement.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agode4x5: Remove developer debug feature about set/clear promisc
Wang Chen [Tue, 22 Jul 2008 05:13:18 +0000 (13:13 +0800)]
de4x5: Remove developer debug feature about set/clear promisc

IFF_PROMISC flag shouldn't be set or cleared by drivers, because
whether device be promisc mode is decided by how many upper layer
callers being referenced to it.
And the promisc changing feature of de4x5 ioctl is developer debug
feature, we can remove it now.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoqeth: fix build error caused by VLAN changes
frank.blaschka@de.ibm.com [Tue, 22 Jul 2008 07:39:25 +0000 (09:39 +0200)]
qeth: fix build error caused by VLAN changes

Adrian Bunk reports this build error:

CC      drivers/s390/net/qeth_l3_main.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/net/qeth_l3_main.c:
In function 'qeth_l3_hard_start_xmit':
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/net/qeth_l3_main.c:
2654: error: implicit declaration of function 'VLAN_TX_SKB_CB'
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/net/qeth_l3_main.c:
2654: error: invalid type argument of '->' (have 'int')
make[3]: *** [drivers/s390/net/qeth_l3_main.o] Error 1

The intention of the driver appears to be to invalidate the VLAN tag.
Change it to set skb->vlan_tci to zero, which has the same effect.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agofs_enet: Remove unused fields in the fs_mii_bb_platform_info structure.
Laurent Pinchart [Tue, 22 Jul 2008 15:43:42 +0000 (17:43 +0200)]
fs_enet: Remove unused fields in the fs_mii_bb_platform_info structure.

The mdio_port, mdio_bit, mdc_port and mdc_bit fields in the
fs_mii_bb_platform_info structure are left-overs from the move to the Phy
Abstraction Layer subsystem. They are not used anymore and can be safely
removed.

Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoMerge branch 'r8169-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
Jeff Garzik [Tue, 22 Jul 2008 20:07:11 +0000 (16:07 -0400)]
Merge branch 'r8169-davem' of git://git./linux/kernel/git/romieu/netdev-2.6 into upstream-fixes

16 years agoport_fixups: Fix ups for tty port changes
Alan Cox [Tue, 22 Jul 2008 14:25:07 +0000 (15:25 +0100)]
port_fixups: Fix ups for tty port changes

I missed the cpm_uart one. Thanks to Kumar Gala for reporting it. A double
check found samsung also needed fixing up.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoistallion: Use helpers
Alan Cox [Tue, 22 Jul 2008 12:44:14 +0000 (13:44 +0100)]
istallion: Use helpers

The ldisc needs to be referenced properly when used. The tty layer has a
helper for this which should have been used but this driver got missed
originally.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosynclink_gt fix locking in error path of rx enable
Paul Fulghum [Tue, 22 Jul 2008 10:23:24 +0000 (11:23 +0100)]
synclink_gt fix locking in error path of rx enable

Fix locking in error path of rx_enable() introduced by
synclink_gt-add-rx-dma-buffer-fill-level-control patch.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosynclink_gt: add rx DMA buffer fill level control
Paul Fulghum [Tue, 22 Jul 2008 10:22:14 +0000 (11:22 +0100)]
synclink_gt: add rx DMA buffer fill level control

Add run time control for receive DMA buffer fill level to allow
application to control receive latency when using stream oriented serial
protocols that pass receive data to application only after a DMA buffer
fills.  This was previously a compile time option, but run time control is
needed when application changes data rate (and latency requirements) or
uses different data rates on different ports.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosynclink_gt: leave transmitter in reset state after configuration
Paul Fulghum [Tue, 22 Jul 2008 10:22:04 +0000 (11:22 +0100)]
synclink_gt: leave transmitter in reset state after configuration

Leave the transmitter in reset state after configuration so that transmit
signal is held at mark until transmitter is explicitly enabled by
application, otherwise transmitter sends idle pattern.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosynclink_gt: improve TIOCOUTQ accuracy
Paul Fulghum [Tue, 22 Jul 2008 10:21:55 +0000 (11:21 +0100)]
synclink_gt: improve TIOCOUTQ accuracy

Improve the accuracy of TIOCOUTQ value as implemented in chars_in_buffer()
method by walking and counting tx DMA buffers, reading controller tx FIFO
level and accounting for controller tx shift register.  The greatly
improves application control of transmit latency at lower data rates.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>