openwrt/staging/blogic.git
19 years agokmalloc/kzalloc changes:
Stefan Richter [Mon, 7 Nov 2005 11:31:45 +0000 (06:31 -0500)]
kmalloc/kzalloc changes:
dv1394, eth1394, ieee1394, ohci1394, pcilynx, raw1394, sbp2c, video1394:
 - use kzalloc
 - provide safer size arguments to kmalloc and kzalloc
 - omit some casts

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
19 years agoRemove version strings from eth1394, ohci1394, sbp2.
Stefan Richter [Mon, 7 Nov 2005 11:31:42 +0000 (06:31 -0500)]
Remove version strings from eth1394, ohci1394, sbp2.
Their version information is not trustworthy.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
19 years agosbp2, ohci1394 cleanups:
Stefan Richter [Mon, 7 Nov 2005 11:31:39 +0000 (06:31 -0500)]
sbp2, ohci1394 cleanups:
sbp2: various code formatting cleanups
ohci1394: remove form feed characters

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
19 years agosbp2: Remove our tracking of device type,
Ben Collins [Mon, 7 Nov 2005 11:31:34 +0000 (06:31 -0500)]
sbp2: Remove our tracking of device type,
since we no longer need to worry about it.
Depends on patch "ieee1394: remove sbp2's TYPE_RBC and 10byte handling".

Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
19 years agosbp2: Merge TYPE_RBC and 10byte removal patch from scsi maintainers.
Ben Collins [Mon, 7 Nov 2005 11:31:24 +0000 (06:31 -0500)]
sbp2: Merge TYPE_RBC and 10byte removal patch from scsi maintainers.
Added more cleanups to remove unused code.

Signed-off-by: Ben Collins <bcollins@debian.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
19 years agosbp2_command_orb_lock must be held when accessing the _orb_inuse list.
Jody McIntyre [Mon, 7 Nov 2005 11:29:39 +0000 (06:29 -0500)]
sbp2_command_orb_lock must be held when accessing the _orb_inuse list.
Fixes an oops in sbp2util_find_command_for_SCpnt after sbp2scsi_abort:
https://bugzilla.novell.com/show_bug.cgi?id=113734

Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Mon, 7 Nov 2005 00:59:14 +0000 (16:59 -0800)]
Merge /pub/scm/linux/kernel/git/sam/kbuild

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-drvmodel
Linus Torvalds [Mon, 7 Nov 2005 00:58:38 +0000 (16:58 -0800)]
Merge kernel.org:/home/rmk/linux-2.6-drvmodel

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 7 Nov 2005 00:58:11 +0000 (16:58 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Mon, 7 Nov 2005 00:57:34 +0000 (16:57 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years ago[PATCH] ppc64: support 64k pages
Benjamin Herrenschmidt [Mon, 7 Nov 2005 00:06:55 +0000 (11:06 +1100)]
[PATCH] ppc64: support 64k pages

Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel
base page size to 64K.  The resulting kernel still boots on any
hardware.  On current machines with 4K pages support only, the kernel
will maintain 16 "subpages" for each 64K page transparently.

Note that while real 64K capable HW has been tested, the current patch
will not enable it yet as such hardware is not released yet, and I'm
still verifying with the firmware architects the proper to get the
information from the newer hypervisors.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] Fix /proc/cpuinfo format for ARM SMP
Russell King [Sun, 6 Nov 2005 21:41:08 +0000 (21:41 +0000)]
[ARM] Fix /proc/cpuinfo format for ARM SMP

glibc expects to count lines beginning with "processor" to determine
the number of processors, not lines beginning with "Processor".  So,
give glibc the format it expects.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Don't call dump_cpu_info unless we're booting
Russell King [Sun, 6 Nov 2005 19:49:21 +0000 (19:49 +0000)]
[ARM] Don't call dump_cpu_info unless we're booting

We don't want to call dump_cpu_info() from cpu_init() after boot since
it produces a lot of unnecessary noise - since cpu_init() gets called
on resume and hotplug cpu insertion events.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix second missing declaration of cache_is_vivt()
Russell King [Sun, 6 Nov 2005 19:47:04 +0000 (19:47 +0000)]
[ARM] Fix second missing declaration of cache_is_vivt()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix missing declaration of cache_is_vivt()
Russell King [Sun, 6 Nov 2005 15:46:57 +0000 (15:46 +0000)]
[ARM] Fix missing declaration of cache_is_vivt()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix another use of // as a comment
Russell King [Sun, 6 Nov 2005 15:45:00 +0000 (15:45 +0000)]
[ARM] Fix another use of // as a comment

// disagrees with ld's script parsing ability.  Don't use it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3113/1: PXA: Allow machines to override (and also reuse) pxa pm functions
Richard Purdie [Sun, 6 Nov 2005 15:03:23 +0000 (15:03 +0000)]
[ARM] 3113/1: PXA: Allow machines to override (and also reuse) pxa pm functions

Patch from Richard Purdie

Update the PXA pm.c file to allow machines (such as the Sharp
Zaurus) to override the standard pm functions but reuse/wrap them
where needed.

The init call is made slightly earlier to give machine code an init
level to override them in removing any race.

Signed-off-by: Richard Purdie
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3115/1: small optimizations to exception vector entry code
Nicolas Pitre [Sun, 6 Nov 2005 14:42:37 +0000 (14:42 +0000)]
[ARM] 3115/1: small optimizations to exception vector entry code

Patch from Nicolas Pitre

Since we know the value of cpsr on entry, we can replace the bic+orr with
a single eor.  Also remove a possible result delay (at least on XScale).

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3114/1: use ixp2000_reg_wrb in ixp2000 uengine loader
Lennert Buytenhek [Sun, 6 Nov 2005 14:34:13 +0000 (14:34 +0000)]
[ARM] 3114/1: use ixp2000_reg_wrb in ixp2000 uengine loader

Patch from Lennert Buytenhek

Make the uengine loader use ixp2000_reg_wrb in the right places.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3089/1: ixp4xx AHB/PCI endianness fix
Alessandro Zummo [Sun, 6 Nov 2005 14:34:12 +0000 (14:34 +0000)]
[ARM] 3089/1: ixp4xx AHB/PCI endianness fix

Patch from Alessandro Zummo

  This patch fixes AHB/PCI endianness problems when the
 processor is in little-endian mode.

 The patch configures the CSR register closely following the directives
 in [1], paragraph 4.1, page 19.

 According to the considerations in [1], page 11, while the AHB bus
 supports both endian modes, on the IXP4XX it always uses big-endian.

 The PCI bus is connected to the South AHB. A wrong setting in the CSR
 register will thus cause a malfunctional PCI bus.

 A schematic diagram of the bus interconnections on the IXP4XX
 can be found in [1], page 18.

 The patch has been verified to work on the NSLU2 in
 both LE and BE modes.

 The author is Peter Korsgaard.

 [1] IntelĀ® IXP4XX Product Line of Network Processors and IXC1100
 Control Plane Processor:
 Understanding Big Endian and Little Endian Modes

 http://www.intel.com/design/network/applnots/25423701.pdf

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3088/1: PXA: Add machine support for the Sharp SL-6000x series of PDAs
Dirk Opfer [Sun, 6 Nov 2005 14:27:52 +0000 (14:27 +0000)]
[ARM] 3088/1: PXA: Add machine support for the Sharp SL-6000x series of PDAs

Patch from Dirk Opfer

This patch adds basic machine support for the Sharp SL-6000x (Tosa) PDAs.

Signed-off-by: Dirk Opfer
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agokconfig: fix xconfig on fedora 2 & 3 (x86_64)
Sam Ravnborg [Sun, 6 Nov 2005 10:05:21 +0000 (11:05 +0100)]
kconfig: fix xconfig on fedora 2 & 3 (x86_64)

From: Than Ngo <than@redhat.com>
qt as installed on fedora core (2 and 3) does not work with vanilla
kernel. The linker fails to locate the qt lib:

Actual Results:  # make xconfig
  HOSTLD  scripts/kconfig/qconf
  /usr/bin/ld: cannot find -lqt
  collect2: ld returned 1 exit status

Than Ngo has provided following fix for the bug.

Cc: Than Ngo <than@redhat.com>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
19 years ago[PATCH] kbuild: permanently fix kernel configuration include mess
Russell King [Sun, 30 Oct 2005 21:42:11 +0000 (22:42 +0100)]
[PATCH] kbuild: permanently fix kernel configuration include mess

Include autoconf.h into every kernel compilation via the gcc command line
using -imacros.  This ensures that we have the kernel configuration
included from the start, rather than relying on each file having #include
<linux/config.h> as appropriate.  History has shown that this is something
which is difficult to get right.

Since we now include the kernel configuration automatically, make
configcheck becomes meaningless, so remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
19 years ago[SERIAL] Support Au1x00 8250 UARTs using the generic 8250 driver.
Pantelis Antoniou [Sun, 6 Nov 2005 09:07:03 +0000 (09:07 +0000)]
[SERIAL] Support Au1x00 8250 UARTs using the generic 8250 driver.

The offsets of the registers are in a different place, and
some parts cannot handle a full set of modem control signals.

Signed-off-by: Pantelis Antoniou <pantelis@embeddedalley.ocm>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] reset tss->io_bitmap_owner in sys_ioperm()
Bart Oldeman [Sat, 5 Nov 2005 23:54:07 +0000 (12:54 +1300)]
[PATCH] reset tss->io_bitmap_owner in sys_ioperm()

my patch "x86: initialise tss->io_bitmap_owner to something" (commit ID
d5cd4aadd3d220afac8e3e6d922e333592551f7d) introduced a problem with a
program (DOSEMU) that called ioperm after already doing some port i/o.

The problem is that a process switch return causes tss->io_bitmap_base
to be set to IO_BITMAP_OFFSET so that the fault (that *really* sets the
io bitmap) never triggers.

This fixes that regression.

Signed-off-by: Bart Oldeman <bartoldeman@users.sourceforge.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Set the vga cursor even when hidden
Samuel Thibault [Sat, 5 Nov 2005 21:19:50 +0000 (22:19 +0100)]
[PATCH] Set the vga cursor even when hidden

Some visually impaired people use hardware devices which directly read
the vga screen. When newt for instance asks to hide the cursor for
better visual aspect, the kernel puts the vga cursor out of the screen,
so that the cursor position can't be read by the hardware device. This
is a great loss for such people.

Here is a patch which uses the same technique as CUR_NONE for hiding the
cursor while still moving it.

Mario, you should apply it to the speakup kernel for access floppies
asap. I'll submit a 2.4 patch too.

Signed-off-by: samuel.thibault@ens-lyon.org
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[DRIVER MODEL] Fix sgivwfb
Russell King [Sat, 5 Nov 2005 21:22:39 +0000 (21:22 +0000)]
[DRIVER MODEL] Fix sgivwfb

Statically allocated devices in module data is a potential cause
of oopsen.  The device may be in use by a userspace process, which
will keep a reference to the device.  If the module is unloaded,
the module data will be freed.  Subsequent use of the platform
device will cause a kernel oops.

Use generic platform device allocation/release code in modules.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[DRIVER MODEL] Fix gbefb
Russell King [Sat, 5 Nov 2005 21:22:13 +0000 (21:22 +0000)]
[DRIVER MODEL] Fix gbefb

Statically allocated devices in module data is a potential cause
of oopsen.  The device may be in use by a userspace process, which
will keep a reference to the device.  If the module is unloaded,
the module data will be freed.  Subsequent use of the platform
device will cause a kernel oops.

Use generic platform device allocation/release code in modules.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[DRIVER MODEL] Fix arcfb
Russell King [Sat, 5 Nov 2005 21:21:38 +0000 (21:21 +0000)]
[DRIVER MODEL] Fix arcfb

Release code in driver modules is a potential cause of oopsen.
The device may be in use by a userspace process, which will keep
a reference to the device.  If the module is unloaded, the module
text will be freed.  Subsequently, when the last reference is
dropped, the release code will be called, which no longer exists.

Use generic platform device allocation/release code in modules.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[DRIVER MODEL] Fix macsonic
Russell King [Sat, 5 Nov 2005 21:21:10 +0000 (21:21 +0000)]
[DRIVER MODEL] Fix macsonic

Release code in driver modules is a potential cause of oopsen.
The device may be in use by a userspace process, which will keep
a reference to the device.  If the module is unloaded, the module
text will be freed.  Subsequently, when the last reference is
dropped, the release code will be called, which no longer exists.

Use generic platform device allocation/release code in modules.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[DRIVER MODEL] Fix jazzsonic
Russell King [Sat, 5 Nov 2005 21:20:47 +0000 (21:20 +0000)]
[DRIVER MODEL] Fix jazzsonic

Release code in driver modules is a potential cause of oopsen.
The device may be in use by a userspace process, which will keep
a reference to the device.  If the module is unloaded, the module
text will be freed.  Subsequently, when the last reference is
dropped, the release code will be called, which no longer exists.

Use generic platform device allocation/release code in modules.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[DRIVER MODEL] Fix depca
Russell King [Sat, 5 Nov 2005 21:20:21 +0000 (21:20 +0000)]
[DRIVER MODEL] Fix depca

Release code in driver modules is a potential cause of oopsen.
The device may be in use by a userspace process, which will keep
a reference to the device.  If the module is unloaded, the module
text will be freed.  Subsequently, when the last reference is
dropped, the release code will be called, which no longer exists.

Use generic platform device allocation/release code in modules.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[DRIVER MODEL] Improved dynamically allocated platform_device interface
Russell King [Sat, 5 Nov 2005 21:19:33 +0000 (21:19 +0000)]
[DRIVER MODEL] Improved dynamically allocated platform_device interface

Re-jig the simple platform device support to allow private data
to be attached to a platform device, as well as allowing the
parent device to be set.

Example usage:

pdev = platform_device_alloc("mydev", id);
if (pdev) {
err = platform_device_add_resources(pdev, &resources,
    ARRAY_SIZE(resources));
if (err == 0)
err = platform_device_add_data(pdev, &platform_data,
       sizeof(platform_data));
if (err == 0)
err = platform_device_add(pdev);
} else {
err = -ENOMEM;
}
if (err)
platform_device_put(pdev);

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sat, 5 Nov 2005 20:04:02 +0000 (12:04 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

19 years ago[PATCH] phy address mask support for generic phy layer
Matt Porter [Wed, 2 Nov 2005 23:13:06 +0000 (16:13 -0700)]
[PATCH] phy address mask support for generic phy layer

Adds a phy_mask field to struct mii_bus and uses it.  This field
indicates each phy address to be ignored when probing the mdio bus.

This support is needed for the fs_enet and ibm_emac drivers to be
converted to the generic phy layer among other drivers. Many systems
lock up on probing certain phy addresses or probing doesn't return
0xffff when nothing is found at the address. A new driver I'm
working on also makes use of this mask.

Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] pcnet32: Prevent hang with 79c976
Don Fry [Tue, 1 Nov 2005 21:13:35 +0000 (13:13 -0800)]
[PATCH] pcnet32: Prevent hang with 79c976

Some boards using the 79c976 pcnet32 chip will hang the system if the
ethtool --register-dump is performed with the device operational.  The
request to read bcr30 is retried by the PCI device infinitely without
returning data, hanging the system.

Tested ia32 and ppc64.

Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] pcnet32: AT2700/2701 and Bugzilla 2699 & 4551
Don Fry [Tue, 1 Nov 2005 20:50:57 +0000 (12:50 -0800)]
[PATCH] pcnet32: AT2700/2701 and Bugzilla 2699 & 4551

This patch is a better fix for Allied Telesyn 2700/2701 FX boards than
the change made in early January this year.  It allows the user to
select the speed/duplex via module_param, but if no selection is made,
forces the speed to 100 FD.  It fixes both Bugzilla bugs 2669 and 4551.
Tested ia32 and ppc64 by myself, and by the originator of bug 2669.

Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] pcnet32: show name of failing device
Don Fry [Tue, 1 Nov 2005 20:04:33 +0000 (12:04 -0800)]
[PATCH] pcnet32: show name of failing device

Display the name eth%d or pci_name() of device which fails to allocate
memory.  When changing ring size via ethtool, it also releases the
lock before returning on error.  Added comment that the caller of
pcnet32_alloc_ring must call pcnet32_free_ring on error, to avoid leak.
Tested ia32 by forcing allocation errors.

Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] S2io: Updated documentation
Ravinandan Arakali [Tue, 1 Nov 2005 20:24:25 +0000 (15:24 -0500)]
[PATCH] S2io: Updated documentation

Hi,
This patch provides updated documentation on the Neterion(S2io) driver.

Please review the patch.

Signed-off-by: Ravinandan Arakali <ravinandan.arakali@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] S2io: Multi buffer mode support
Ananda Raju [Mon, 31 Oct 2005 21:55:31 +0000 (16:55 -0500)]
[PATCH] S2io: Multi buffer mode support

Hi,
This patch  provides dynamic two buffer-mode and 3 buffer-mode options.
Previously 2 buffer-mode was compilation option. Now with this patch applied
one can load driver in 2 buffer-mode with module-load parameter

ie.
#insmod s2io.ko rx_ring_mode=2

This patch also provides 3 buffer-mode which provides header separation
functionality. In 3 buffer-mode skb->data will have L2/L3/L4 headers and
"skb_shinfo(skb)->frag_list->data" will have have L4 payload.
one can load driver in 3 buffer-mode with same above module-load parameter

ie.
#insmod s2io.ko rx_ring_mode=3

Please review the patch.

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years ago[PATCH] drivers/net/wireless/airo.c unsigned comparason
Gabriel A. Devenyi [Fri, 4 Nov 2005 00:30:47 +0000 (19:30 -0500)]
[PATCH] drivers/net/wireless/airo.c unsigned comparason

fid is declared as a u32 (unsigned int), and then a few lines later, it is checked for a value < 0, which is clearly useless.
In the two locations this function is used, in one it is *explicitly* given a negative number, which would be ignored with the
current definition.

Thanks to LinuxICC (http://linuxicc.sf.net).

Signed-off-by: Gabriel A. Devenyi <ace@staticwave.ca>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
19 years agoMerge branch 'master'
Jeff Garzik [Sat, 5 Nov 2005 19:38:55 +0000 (14:38 -0500)]
Merge branch 'master'

19 years ago[libata] restore sg on DMA mapping failure
Tejun Heo [Sat, 5 Nov 2005 19:29:01 +0000 (14:29 -0500)]
[libata] restore sg on DMA mapping failure

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6
Linus Torvalds [Sat, 5 Nov 2005 18:31:35 +0000 (10:31 -0800)]
Merge /linux/kernel/git/jejb/scsi-for-linus-2.6

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-mmc
Linus Torvalds [Sat, 5 Nov 2005 17:47:46 +0000 (09:47 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-mmc

19 years ago[SCSI] sd: Fix refcounting
Alan Stern [Fri, 4 Nov 2005 19:44:41 +0000 (14:44 -0500)]
[SCSI] sd: Fix refcounting

Currently the driver takes a reference only for requests coming by way
of the gendisk, not for requests coming by way of the struct device or
struct scsi_device.  Such requests can arrive in the rescan, flush,
and shutdown pathways.

The patch also makes the scsi_disk keep a reference to the underlying
scsi_device, and it erases the scsi_device's pointer to the scsi_disk
when the scsi_device is removed (since the pointer should no longer be
used).

This resolves Bugzilla entry #5237.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[MMC] Use controller id instead of driver name for printks
Pierre Ossman [Sat, 5 Nov 2005 10:36:35 +0000 (10:36 +0000)]
[MMC] Use controller id instead of driver name for printks

The printks that aren't for debugging should use the name of the controller,
not the driver name. Multiple MMC controllers aren't that common today, but
this is the right way to do things.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Documentation/arm/README: small update
Adrian Bunk [Sat, 5 Nov 2005 10:20:56 +0000 (10:20 +0000)]
[ARM] Documentation/arm/README: small update

- egcs is not supported by kernel 2.6
- gcc 3.3 seems to be a good choice on ARM

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[MMC] Fix chip config in wbsd
Pierre Ossman [Sat, 5 Nov 2005 10:16:50 +0000 (10:16 +0000)]
[MMC] Fix chip config in wbsd

There is a broken if clause in the wbsd driver that can cause the
driver to try and configure the chip even though none is found. This
results in i/o on invalid ports.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoFix ips.c compile
James Bottomley [Sat, 5 Nov 2005 05:22:55 +0000 (23:22 -0600)]
Fix ips.c compile

It looks like one of the ips patches was missing a closing brace in a
function

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoMerge by Hand
James Bottomley [Sat, 5 Nov 2005 04:29:52 +0000 (22:29 -0600)]
Merge by Hand

Conflicts in dec_esp.c (Thanks Bacchus), scsi_transport_iscsi.c and
scsi_transport_fc.h

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[libata] ATAPI pad allocation fixes/cleanup
Jeff Garzik [Sat, 5 Nov 2005 03:08:00 +0000 (22:08 -0500)]
[libata] ATAPI pad allocation fixes/cleanup

Use ata_pad_{alloc,free} in two drivers, to factor out common code.

Add ata_pad_{alloc,free} to two other drivers, which needed the padding
but had not been updated.

19 years agoMerge branch 'master'
Jeff Garzik [Sat, 5 Nov 2005 02:39:31 +0000 (21:39 -0500)]
Merge branch 'master'

19 years ago[PATCH] nvidiafb: Geforce 7800 series support added
Calin A. Culianu [Sat, 5 Nov 2005 01:38:04 +0000 (20:38 -0500)]
[PATCH] nvidiafb: Geforce 7800 series support added

This adds support for the Nvidia Geforce 7800 series of cards to the
nvidiafb framebuffer driver.  All it does is add the PCI device id for
the 7800, 7800 GTX, 7800 GO, and 7800 GTX GO cards to the module device
table for the nvidiafb.ko driver, so that nvidiafb.ko will actually work
on these cards.

I also added the relevant PCI device ids to linux/pci_ids.h

I tested it on my 7800 GTX here and it works like a charm.  I now can
get framebuffer support on this card! Woo hoo!! Nothing like 200x75 text
mode to make your eyes BLEED.  ;)

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge branch 'srp' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Sat, 5 Nov 2005 00:32:36 +0000 (16:32 -0800)]
Merge branch 'srp' of /linux/kernel/git/roland/infiniband

19 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Sat, 5 Nov 2005 00:31:54 +0000 (16:31 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc-merge
Linus Torvalds [Sat, 5 Nov 2005 00:27:50 +0000 (16:27 -0800)]
Merge /linux/kernel/git/paulus/powerpc-merge

19 years agopowerpc: Fix vmlinux.lds.S for 32-bit
Paul Mackerras [Fri, 4 Nov 2005 23:36:59 +0000 (10:36 +1100)]
powerpc: Fix vmlinux.lds.S for 32-bit

We can't currently use asm-ppc/page.h in vmlinux.lds.S, so until
we have a merged page.h, define PAGE_SIZE and KERNELBASE locally.
Also gets rid of some dynamic executable cruft that we had for
32-bit.  With -Ttext=$(KERNELBASE) this didn't cause any problem,
but when we changed to putting . = KERNELBASE in the vmlinux.lds.S
this cruft caused the text to get linked at 0xa0 instead of
0xc0000000.  Oops.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Merge smp.c and smp.h
Paul Mackerras [Fri, 4 Nov 2005 23:33:55 +0000 (10:33 +1100)]
powerpc: Merge smp.c and smp.h

This also moves setup_cpu_maps to setup-common.c (calling it
smp_setup_cpu_maps) and uses it on both 32-bit and 64-bit.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoNFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled
Chuck Lever [Tue, 1 Nov 2005 21:53:32 +0000 (16:53 -0500)]
NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled

 Fix some dprintk's so that NLM, NFS client, and RPC client compile
 cleanly if CONFIG_SYSCTL is disabled.

 Test plan:
 Compile kernel with CONFIG_NFS enabled and CONFIG_SYSCTL disabled.

Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoSUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled
Chuck Lever [Tue, 1 Nov 2005 17:24:48 +0000 (12:24 -0500)]
SUNRPC: allow sunrpc.o to link when CONFIG_SYSCTL is disabled

 The sunrpc module should build properly even when CONFIG_SYSCTL is
 disabled.

 Reported by Jan-Benedict Glaw.

 Test plan:
 Compile kernel with CONFIG_NFS as a module and built-in, and CONFIG_SYSCTL
 enabled and disabled.

Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Teach NFSv4 to cache locks when we hold a delegation
Trond Myklebust [Fri, 4 Nov 2005 20:39:36 +0000 (15:39 -0500)]
NFSv4: Teach NFSv4 to cache locks when we hold a delegation

 Now that we have a method of dealing with delegation recalls, actually
 enable the caching of posix and BSD locks.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Recover locks too when returning a delegation
Trond Myklebust [Fri, 4 Nov 2005 20:38:11 +0000 (15:38 -0500)]
NFSv4: Recover locks too when returning a delegation

 Delegations allow us to cache posix and BSD locks, however when the
 delegation is recalled, we need to "flush the cache" and send
 the cached LOCK requests to the server.

 This patch sets up the mechanism for doing so.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Fix recovery of flock() locks.
Trond Myklebust [Fri, 4 Nov 2005 20:35:30 +0000 (15:35 -0500)]
NFSv4: Fix recovery of flock() locks.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Return any delegations before sillyrenaming the file
Trond Myklebust [Fri, 4 Nov 2005 20:35:02 +0000 (15:35 -0500)]
NFSv4: Return any delegations before sillyrenaming the file

 I missed this one... Any form of rename will result in a delegation
 recall, so it is more efficient to return the one we hold before
 trying the rename.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Fix the handling of the error NFS4ERR_OLD_STATEID
Trond Myklebust [Fri, 4 Nov 2005 20:33:50 +0000 (15:33 -0500)]
NFSv4: Fix the handling of the error NFS4ERR_OLD_STATEID

 Ensure that we retry the failed operation...

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Fix problem with OPEN_DOWNGRADE
Trond Myklebust [Fri, 4 Nov 2005 20:33:38 +0000 (15:33 -0500)]
NFSv4: Fix problem with OPEN_DOWNGRADE

 RFC 3530 states that for OPEN_DOWNGRADE "The share_access and share_deny
 bits specified must be exactly equal to the union of the share_access and
 share_deny bits specified for some subset of the OPENs in effect for
 current openowner on the current file.

 Setattr is currently violating the NFSv4 rules for OPEN_DOWNGRADE in that
 it may cause a downgrade from OPEN4_SHARE_ACCESS_BOTH to
 OPEN4_SHARE_ACCESS_WRITE despite the fact that there exists no open file
 with O_WRONLY access mode.

 Fix the problem by replacing nfs4_find_state() with a modified version of
 nfs_find_open_context().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years agoNFSv4: Fix a race between open() and close()
Trond Myklebust [Fri, 4 Nov 2005 20:32:58 +0000 (15:32 -0500)]
NFSv4: Fix a race between open() and close()

 We must not remove the nfs4_state structure from the inode open lists
 before we are in sequence lock.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
19 years ago[USB]: Make early handoff a final fixup instead of a header one.
David S. Miller [Fri, 4 Nov 2005 19:17:24 +0000 (11:17 -0800)]
[USB]: Make early handoff a final fixup instead of a header one.

At header fixup time, it is not yet legal to ioremap() PCI
device registers, yet that is what this quirk code needs to
do.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] improve scheduler fairness a bit
Oleg Nesterov [Fri, 4 Nov 2005 15:54:30 +0000 (18:54 +0300)]
[PATCH] improve scheduler fairness a bit

Do not transfer remaining time slice to another cpu on process exit.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[MMC] Response to write commands is R1 nor R1b
Russell King [Fri, 4 Nov 2005 18:43:39 +0000 (18:43 +0000)]
[MMC] Response to write commands is R1 nor R1b

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Fri, 4 Nov 2005 18:42:53 +0000 (10:42 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 4 Nov 2005 18:40:11 +0000 (10:40 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6
Linus Torvalds [Fri, 4 Nov 2005 18:39:28 +0000 (10:39 -0800)]
Merge /pub/scm/linux/kernel/git/acme/net-2.6

19 years ago[PATCH] ARM: Reverted 2918/1: [update] Base port of Comdial MP1000 platfrom
Russell King [Fri, 4 Nov 2005 17:28:34 +0000 (17:28 +0000)]
[PATCH] ARM: Reverted 2918/1: [update] Base port of Comdial MP1000 platfrom

No longer maintained

19 years ago[PATCH] ARM: Reverted 2921/1: Support for the RTC / nvram on the Comdial MP1000
Russell King [Fri, 4 Nov 2005 17:26:57 +0000 (17:26 +0000)]
[PATCH] ARM: Reverted 2921/1: Support for the RTC / nvram on the Comdial MP1000

No longer maintained

19 years ago[PATCH] ARM: Reverted 2919/1: CS8900A ethernet driver modifications for the Comdial...
Russell King [Fri, 4 Nov 2005 17:26:56 +0000 (17:26 +0000)]
[PATCH] ARM: Reverted 2919/1: CS8900A ethernet driver modifications for the Comdial MP1000

No longer maintained

19 years ago[ARM] 3097/1: change library link ordering
Nicolas Pitre [Fri, 4 Nov 2005 17:17:30 +0000 (17:17 +0000)]
[ARM] 3097/1: change library link ordering

Patch from Nicolas Pitre

We have an optimized sha1 routine (arch/arm/lib/sha1.S) meant to
override the generic one in lib/sha1.c.

Unfortunately lib/lib.a is listed _before_ arch/arm/lib/lib.a in the
link argument list and therefore the architecture specific lib functions
are not picked up before the generic versions.

This patch is a quick fix to change that ordering for ARM.  Here's what
the kbuild maintainer had to say about it (was also CC'd on lkml):

On Wed, 2 Nov 2005, Sam Ravnborg wrote:
> This looks like an obvious way to achive correct ordering.
> We could change it so arch defines always took precedence but
> the above is so simple that it is not worth the effort.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3087/1: PXA2xx flash platform device conversion
Todd Poynor [Fri, 4 Nov 2005 17:15:45 +0000 (17:15 +0000)]
[ARM] 3087/1: PXA2xx flash platform device conversion

Patch from Todd Poynor

Add platform devices for flash to Lubbock and Mainstone board files.
Once in place, the two existing mtd map drivers for the boards will be
converted to use a single pxa2xx map driver in the linux-mtd tree.
Take 4: flash_platform_data .map_name vs. .name cleaned up, resync with
merged irda patch context.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3086/1: ixp2xxx error irq handling
Dave Jiang [Fri, 4 Nov 2005 17:15:44 +0000 (17:15 +0000)]
[ARM] 3086/1: ixp2xxx error irq handling

Patch from Dave Jiang

This provides support for IXP2xxx error interrupt handling. Previously there was a patch to remove this (although the original stuff was broken). Well, now the error bits are needed again. These are used extensively by the micro-engine drivers according to Deepak and also we will need it for the new EDAC code that Alan Cox is trying to push into the main kernel.

Re-submit of 3072/1, generated against git tree pulled today. AFAICT, this git tree pulled in all the ARM changes that's in arm.diff. Please let me know if there are additional changes. Thx!

Signed-off-by: Dave Jiang <djiang@mvista.com>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3094/1: remove PLD stuff from old uaccess code
Nicolas Pitre [Fri, 4 Nov 2005 17:15:43 +0000 (17:15 +0000)]
[ARM] 3094/1: remove PLD stuff from old uaccess code

Patch from Nicolas Pitre

ARM processors that have pld instructions are not using those copy_user
implementation anymore.  Let's remove the useless PLD lines which were
half wrong anyway.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge git://oak/home/sfr/kernels/iseries/work
Paul Mackerras [Fri, 4 Nov 2005 06:03:39 +0000 (17:03 +1100)]
Merge git://oak/home/sfr/kernels/iseries/work

19 years agopowerpc: merge tlbflush.h
Stephen Rothwell [Fri, 4 Nov 2005 05:58:59 +0000 (16:58 +1100)]
powerpc: merge tlbflush.h

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoMerge branch 'for-paulus' of git://kernel/home/michael/src/work/
Paul Mackerras [Fri, 4 Nov 2005 05:17:32 +0000 (16:17 +1100)]
Merge branch 'for-paulus' of git://kernel/home/michael/src/work/

19 years agopowerpc: Merge smp-tbsync.c (the generic timebase sync routine)
Paul Mackerras [Fri, 4 Nov 2005 02:28:58 +0000 (13:28 +1100)]
powerpc: Merge smp-tbsync.c (the generic timebase sync routine)

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge with Paulus
Michael Ellerman [Fri, 4 Nov 2005 01:12:52 +0000 (12:12 +1100)]
Merge with Paulus

19 years agopowerpc: Fix random memory corruption in merged elf.h
Michael Ellerman [Thu, 3 Nov 2005 10:10:48 +0000 (21:10 +1100)]
powerpc: Fix random memory corruption in merged elf.h

The merged verison of ELF_CORE_COPY_REGS is basically the PPC64 version, with
a memset that came from PPC and a few types abstracted out into #defines. But
it's not _quite_ right.

The first problem is we calculate the number of registers with:
        nregs = sizeof(struct pt_regs) / sizeof(ELF_GREG_TYPE)

For a 32-bit process on a 64-bit kernel that's bogus because the registers are
64 bits, but ELF_GREG_TYPE is u32, so nregs == 88 which is wrong.

The other problem is the memset, which assumes a struct pt_regs is smaller
than a struct elf_regs. For a 32-bit process on a 64-bit kernel that's false.

The fix is to calculate the number of regs using sizeof(unsigned long), which
should always be right, and just memset the whole damn thing _before_ copying
the registers in.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
19 years agopowerpc: Implement smp_release_cpus() in C not asm
Michael Ellerman [Fri, 4 Nov 2005 01:09:42 +0000 (12:09 +1100)]
powerpc: Implement smp_release_cpus() in C not asm

There's no reason for smp_release_cpus() to be asm, and most people can make
more sense of C code. Add an extern declaration to smp.h and remove the custom
one in machine_kexec.c

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoMerge git://oss.sgi.com:8090/oss/git/xfs-2.6
Linus Torvalds [Fri, 4 Nov 2005 00:25:58 +0000 (16:25 -0800)]
Merge git://oss.sgi.com:8090/oss/git/xfs-2.6

19 years ago[XFS] Remove no-longer-used qsort source.
Nathan Scott [Thu, 3 Nov 2005 23:51:01 +0000 (10:51 +1100)]
[XFS] Remove no-longer-used qsort source.

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years agopowerpc: merge tlb.h
Stephen Rothwell [Thu, 3 Nov 2005 23:20:27 +0000 (10:20 +1100)]
powerpc: merge tlb.h

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years ago[IB] mthca: check P_Key index in modify QP
Jack Morgenstein [Thu, 3 Nov 2005 22:58:33 +0000 (14:58 -0800)]
[IB] mthca: check P_Key index in modify QP

Make sure that the P_Key index passed into mthca_modify_qp() is
within the device's P_Key table.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[XFS] Fix an inode32 regression - if no options are presented, must still
Nathan Scott [Thu, 3 Nov 2005 22:49:07 +0000 (09:49 +1100)]
[XFS] Fix an inode32 regression - if no options are presented, must still
set default flags.

SGI-PV: 945242
SGI-Modid: xfs-linux-melb:xfs-kern:24292a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[SERIAL] 8250_early.c passing 0 instead of NULL
Ben Dooks [Thu, 3 Nov 2005 21:07:37 +0000 (21:07 +0000)]
[SERIAL] 8250_early.c passing 0 instead of NULL

Fix sparse warning about passing `0` to  simple_strtoul()

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix IXDP2x01 config files
Deepak Saxena [Thu, 3 Nov 2005 21:05:39 +0000 (21:05 +0000)]
[ARM] Fix IXDP2x01 config files

IXDP2401 config file has wrong baudrate and both boards have 3 UARTs.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Merge SMP tree
Russell King [Thu, 3 Nov 2005 21:02:39 +0000 (21:02 +0000)]
[ARM] Merge SMP tree

19 years ago[ARM] 3092/1: remove excessive print format padding
Nicolas Pitre [Thu, 3 Nov 2005 20:40:50 +0000 (20:40 +0000)]
[ARM] 3092/1: remove excessive print format padding

Patch from Nicolas Pitre

Using a llx format to print addresses that might possibly be (only) 36
bits wide make sense.  However making it a zero padded 16 char wide
field is a bit excessive and useless.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM SMP] Do not clear cpu_vm_mask for VIPT caches
Russell King [Thu, 3 Nov 2005 20:32:45 +0000 (20:32 +0000)]
[ARM SMP] Do not clear cpu_vm_mask for VIPT caches

Since we do not invalidate TLBs/caches on MM switches, we should not
clear the cpu_vm_mask for the CPU.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[IB] umad: fix hot remove of IB devices
Roland Dreier [Thu, 3 Nov 2005 20:01:18 +0000 (12:01 -0800)]
[IB] umad: fix hot remove of IB devices

Fix hotplug of devices for ib_umad module: when a device goes away,
kill off all MAD agents for open files associated with that device,
and make sure that the device is not touched again after ib_umad
returns from its remove_one function.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[ARM SMP] Add configuration option for ARMv6K processors
Russell King [Thu, 3 Nov 2005 15:48:21 +0000 (15:48 +0000)]
[ARM SMP] Add configuration option for ARMv6K processors

The 'K' extension adds several new instructions to the ARMv6 ISA
which are primerily useful for SMP.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>