]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
18 years agodrm: Initialize the AGP structure's base address at init rather than enable.
Eric Anholt [Thu, 22 Nov 2007 06:40:37 +0000 (16:40 +1000)]
drm: Initialize the AGP structure's base address at init rather than enable.

Not all drivers call enable (intel), but they would still like to use this
member in driver code.

Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agodrm: move two function extern into the correct block
Dave Airlie [Mon, 5 Nov 2007 03:07:28 +0000 (13:07 +1000)]
drm: move two function extern into the correct block

18 years agodrm: run cleanfile across drm tree
Dave Airlie [Mon, 5 Nov 2007 02:50:58 +0000 (12:50 +1000)]
drm: run cleanfile across drm tree

Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agodrm: some minor cleanups and changes to make memory manager merging easier.
Dave Airlie [Mon, 5 Nov 2007 02:37:41 +0000 (12:37 +1000)]
drm: some minor cleanups and changes to make memory manager merging easier.

Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agoIB/mlx4: Consolidate code to get an entry from a struct mlx4_buf
Roland Dreier [Thu, 7 Feb 2008 05:07:54 +0000 (21:07 -0800)]
IB/mlx4: Consolidate code to get an entry from a struct mlx4_buf

We use struct mlx4_buf for kernel QP, CQ and SRQ buffers, and the code
to look up an entry is duplicated in get_cqe_from_buf() and the QP and
SRQ versions of get_wqe().  Factor this out into mlx4_buf_offset().

This will also make it easier to switch over to using vmap() for buffers.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years ago[CPUFREQ] Add missing printk levels to e_powersaver
Dave Jones [Thu, 7 Feb 2008 03:00:31 +0000 (22:00 -0500)]
[CPUFREQ] Add missing printk levels to e_powersaver

Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Fix sparse warning in powernow-k8
Dave Jones [Thu, 7 Feb 2008 02:55:26 +0000 (21:55 -0500)]
[CPUFREQ] Fix sparse warning in powernow-k8

arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1238:9: warning: symbol '__ptr' shadows an earlier one
arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1238:9: originally declared here

Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Support Model D parts and newer in e_powersaver
Jesse Ahrens [Thu, 17 Jan 2008 21:25:08 +0000 (15:25 -0600)]
[CPUFREQ] Support Model D parts and newer in e_powersaver

Patch by VIA that updates e_powersaver.c to work with our model D parts
and newer.

From: Jesse Ahrens <jahrens@centtech.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Powernow-k8: Update to support the latest Turion processors
Mark Langsdorf [Fri, 14 Dec 2007 19:00:23 +0000 (13:00 -0600)]
[CPUFREQ] Powernow-k8: Update to support the latest Turion processors

The latest series of Turion X2 processors have a new XFAM
model.  Add support for them to powernow-k8.h.

Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] fix configuration help message
Stefano Brivio [Thu, 29 Nov 2007 18:37:41 +0000 (19:37 +0100)]
[CPUFREQ] fix configuration help message

cpufreq support can't be built as a module. Fix the related configuration
help message.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h
Yinghai Lu [Wed, 21 Nov 2007 03:38:27 +0000 (19:38 -0800)]
[CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h

powernow-k8: Found 1 Quad-Core AMD Opteron(tm) Processor 8354 processors (4 cpu cores) (version 2.20.00)
powernow-k8:    0 : fid 0x0 did 0x0 (2200 MHz)
powernow-k8:    1 : fid 0x0 did 0x0 (2000 MHz)
powernow-k8:    2 : fid 0x0 did 0x0 (1700 MHz)
powernow-k8:    3 : fid 0x0 did 0x0 (1400 MHz)
powernow-k8:    4 : fid 0x0 did 0x0 (1100 MHz)

actually index for CPU_HW_PSTATE is pstate instead of fid/vid
So print it out as pstate.

powernow-k8: Found 1 Quad-Core AMD Opteron(tm) Processor 8354 processors (4 cpu cores) (version 2.20.00)
powernow-k8:    0 : pstate 0 (2200 MHz)
powernow-k8:    1 : pstate 1 (2000 MHz)
powernow-k8:    2 : pstate 2 (1700 MHz)
powernow-k8:    3 : pstate 3 (1400 MHz)
powernow-k8:    4 : pstate 4 (1100 MHz)

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Cc: "Langsdorf, Mark" <mark.langsdorf@amd.com>
Cc: "Herrmann3, Andreas" <Andreas.Herrmann3@amd.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock
Venki Pallipadi [Fri, 26 Oct 2007 17:18:21 +0000 (10:18 -0700)]
[CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock

Eliminate cpufreq_userspace scaling_setspeed deadlock.

Luming Yu recently uncovered yet another cpufreq related deadlock.
One thread that continuously switches the governors and the other thread that
repeatedly cats the contents of cpufreq directory causes both these threads to
go into a deadlock.

Detailed examination of the deadlock showed the exact flow before the deadlock
as:

Thread 1 Thread 2
________ ________
cats files under /sys/devices/.../cpufreq/
Set governor to userspace
  Adds a new sysfs entry for
  scaling_setspeed
cats files under /sys/devices/.../cpufreq/

Set governor to performance
  Holds cpufreq_rw_sem in write
  mode
  Sends a STOP notify to
  userspace governor
cat /sys/devices/.../cpufreq/scaling_setspeed
  Gets a handle on the above sysfs entry with
  sysfs_get_active
  Blocks while trying to get cpufreq_rw_sem
  in read mode
  Remove a sysfs entry for
  scaling_setspeed
    Blocks on sysfs_deactivate
    while waiting for earlier
    get_active (on other thread)
    to drain

At this point both threads go into deadlock and any other thread that tries to
do anything with sysfs cpufreq will also block.

There seems to be no easy way to avoid this deadlock as long as
cpufreq_userspace adds/removes the sysfs entry under same kobject as cpufreq.
Below patch moves scaling_setspeed to cpufreq.c, keeping it always and calling
back the governor on read/write. This is the cleanest fix I could think of,
even though adding two callbacks in governor structure just for this seems
unnecessary.

Note that the change makes scaling_setspeed under /sys/.../cpufreq permanent
and returns <unsupported> when governor is not userspace.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data
Dave Young [Wed, 21 Nov 2007 22:52:15 +0000 (14:52 -0800)]
[CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data

In preemptible kernel will report BUG: using smp_processor_id() in
preemptible, so use boot_cpu_data instead of current_cpu_data.

discussion in :
http://lkml.org/lkml/2007/7/25/32

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
CC: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c
Fenghua Yu [Wed, 21 Nov 2007 22:52:15 +0000 (14:52 -0800)]
[CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c

In freq_table.c, show_available_freqs()'s comment is oberviously wrong.
Change the comment to a new one to avoid confusion.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] drivers/cpufreq: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:06 +0000 (17:48 -0800)]
[CPUFREQ] drivers/cpufreq: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] arch/x86: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:01 +0000 (17:48 -0800)]
[CPUFREQ] arch/x86: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Remove pointless Kconfig dependancy
Dave Jones [Tue, 20 Nov 2007 03:21:13 +0000 (22:21 -0500)]
[CPUFREQ] Remove pointless Kconfig dependancy

X86_ELAN already depends on X86_32

Signed-off-by: Dave Jones <davej@redhat.com>
18 years agoACPI: create /sys/firmware/acpi/interrupts
Len Brown [Wed, 6 Feb 2008 06:26:55 +0000 (01:26 -0500)]
ACPI: create /sys/firmware/acpi/interrupts

See Documentation/ABI/testing/sysfs-firmware-acpi

Based-on-original-patch-by: Luming Yu <luming.yu@intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: Taint kernel on ACPI table override (format corrected)
Éric Piel [Mon, 4 Feb 2008 23:04:50 +0000 (00:04 +0100)]
ACPI: Taint kernel on ACPI table override (format corrected)

When an ACPI table is overridden (for now this can happen only for DSDT)
display a big warning and taint the kernel with flag A.

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: basic initramfs DSDT override support
Markus Gaugusch [Mon, 4 Feb 2008 23:04:06 +0000 (00:04 +0100)]
ACPI: basic initramfs DSDT override support

The basics of DSDT from initramfs. In case this option is selected,
populate_rootfs() is called a bit earlier to have the initramfs content
available during ACPI initialization.

This is a very similar path to the one available at
http://gaugusch.at/kernel.shtml but with some update in the
documentation, default set to No and the change of populate_rootfs() the
"Jeff Mahony way" (which avoids reading the initramfs twice).

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoMerge branch 'virtex-for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-virtex into...
Josh Boyer [Thu, 7 Feb 2008 03:06:45 +0000 (21:06 -0600)]
Merge branch 'virtex-for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.25

18 years ago[POWERPC] 4xx: PCIe indirect DCR spinlock fix.
Valentine Barshak [Tue, 5 Feb 2008 18:36:49 +0000 (05:36 +1100)]
[POWERPC] 4xx: PCIe indirect DCR spinlock fix.

Since we have mfdcri() and mtdcri() as macros, we can't use constructions,
such as "mtdcri(base, reg, mfdcri(base, reg) | val)".  In this case the
mfdcri() stuff is not evaluated first.  It's evaluated inside the mtdcri()
macro and we have the dcr_ind_lock spinlock acquired twice.

To avoid this error, I've added __mfdcri()/__mtdcri() inline functions that
take the lock after register name fix-up.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
18 years ago[POWERPC] Add missing native dcr dcr_ind_lock spinlock
Valentine Barshak [Mon, 4 Feb 2008 14:57:55 +0000 (01:57 +1100)]
[POWERPC] Add missing native dcr dcr_ind_lock spinlock

The include/asm-powerpc/dcr-native.h declares extern spinlock_t dcr_ind_lock;
but it's actually isn't defined. This patch adds a missing dcr_ind_lock.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
18 years ago[POWERPC] 4xx: Fix offset value on Warp board
Sean MacLennan [Sat, 26 Jan 2008 05:39:39 +0000 (16:39 +1100)]
[POWERPC] 4xx: Fix offset value on Warp board

While merging, I found a small bug that I forgot to send. I add an
offset to a value twice.

Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
18 years ago[POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry
Valentine Barshak [Mon, 24 Sep 2007 19:29:52 +0000 (05:29 +1000)]
[POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry

Adds USB EHCI entry to PowerPC 440EPx Sequoia DTS.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
18 years ago[POWERPC] 4xx: Add USB ehci-ppc-of dts bindings.
Valentine Barshak [Mon, 24 Sep 2007 19:27:56 +0000 (05:27 +1000)]
[POWERPC] 4xx: Add USB ehci-ppc-of dts bindings.

Adds EHCI OF bindings to documentation.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
18 years ago[POWERPC] 4xx: Fix Walnut build
Josh Boyer [Wed, 6 Feb 2008 13:04:58 +0000 (07:04 -0600)]
[POWERPC] 4xx: Fix Walnut build

The addition of of_rtc for the Walnut board was only half complete.  Select
OF_RTC in the Kconfig and include the appropriate header to make it compile.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
18 years ago[SCTP]: Make sure the chunk is off the transmitted list prior to freeing.
Vlad Yasevich [Tue, 5 Feb 2008 19:23:44 +0000 (14:23 -0500)]
[SCTP]: Make sure the chunk is off the transmitted list prior to freeing.

In a few instances, we need to remove the chunk from the transmitted list
prior to freeing it.  This is because the free code doesn't do that any
more and so we need to do it manually.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
18 years ago[SCTP]: Fix kernel panic while received ASCONF chunk with bad serial number
Wei Yongjun [Tue, 5 Feb 2008 14:35:04 +0000 (23:35 +0900)]
[SCTP]: Fix kernel panic while received ASCONF chunk with bad serial number

While recevied ASCONF chunk with serial number less then needed, kernel
will treat this chunk as a retransmitted ASCONF chunk and find cached
ASCONF-ACK chunk used sctp_assoc_lookup_asconf_ack(). But this function
will always return NO-NULL. So response with cached ASCONF-ACKs chunk
will cause kernel panic.
In function sctp_assoc_lookup_asconf_ack(), if the cached ASCONF-ACKs
list asconf_ack_list is empty, or if the serial being requested does not
exists, the function as it currectly stands returns the actuall
list_head asoc->asconf_ack_list, this is not a cache ASCONF-ACK chunk
but a bogus pointer.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
18 years ago[SCTP]: Set ports in every address returned by sctp_getladdrs()
Vlad Yasevich [Mon, 28 Jan 2008 19:25:36 +0000 (14:25 -0500)]
[SCTP]: Set ports in every address returned by sctp_getladdrs()

Thomas Dreibholz has reported that port numbers are not filled
in the results of sctp_getladdrs() when the socket was bound
to an ephemeral port.  This is only true, if the address was
not specified either.  So, fill in the port number correctly.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
18 years ago[SCTP]: Correctly reap SSNs when processing FORWARD_TSN chunk
Vlad Yasevich [Tue, 15 Jan 2008 16:41:56 +0000 (11:41 -0500)]
[SCTP]: Correctly reap SSNs when processing FORWARD_TSN chunk

When we recieve a FORWARD_TSN chunk, we need to reap
all the queued fast-forwarded chunks from the ordering queue
 However, if we don't have them queued, we need to see if
the next expected one is there as well.  If it is, start
deliver from that point instead of waiting for the next
chunk to arrive.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
18 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
Linus Torvalds [Thu, 7 Feb 2008 02:06:58 +0000 (18:06 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  9p: fix p9_printfcall export
  9p: transport API reorganization
  9p: add remove function to trans_virtio
  9p: Convert semaphore to spinlock for p9_idpool
  9p: fix mmap to be read-only
  9p: add support for sticky bit
  9p: Fix soft lockup in virtio transport
  9p: fix bug in attach-per-user
  9p: block-based virtio client
  9p: create transport rpc cut-thru
  9p: fix bug in p9_clone_stat

18 years ago9p: fix p9_printfcall export
Andrew Morton [Thu, 7 Feb 2008 01:25:01 +0000 (19:25 -0600)]
9p: fix p9_printfcall export

ERROR: "p9_printfcall" [net/9p/9pnet_virtio.ko] undefined!

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: transport API reorganization
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:03 +0000 (19:25 -0600)]
9p: transport API reorganization

This merges the mux.c (including the connection interface) with trans_fd
in preparation for transport API changes.  Ultimately, trans_fd will need
to be rewritten to clean it up and simplify the implementation, but this
reorganization is viewed as the first step.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: add remove function to trans_virtio
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:04 +0000 (19:25 -0600)]
9p: add remove function to trans_virtio

Request from rusty:
Just cleaning up patches for 2.6.25 merge, and noticed that
net/9p/trans_virtio.c doesn't have a remove function.  This will crash when
removing the module (console doesn't have one because it can't really be
removed).

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: Convert semaphore to spinlock for p9_idpool
Anthony Liguori [Thu, 7 Feb 2008 01:25:04 +0000 (19:25 -0600)]
9p: Convert semaphore to spinlock for p9_idpool

When booting from v9fs, down_interruptible in p9_idpool_get() triggered a BUG
as it was being called with IRQs disabled.  A spinlock seems like the right
thing to be using since the idr functions go out of their way not to sleep.

This patch eliminates the BUG by converting the semaphore to a spinlock.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: fix mmap to be read-only
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:05 +0000 (19:25 -0600)]
9p: fix mmap to be read-only

v9fs was allowing writable mmap which could lead to kernel BUG() cases.
This sets the mmap function to generic_file_readonly_mmap which (correctly)
returns an error to applications which open mmap for writing.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: add support for sticky bit
Anthony Liguori [Thu, 7 Feb 2008 01:25:06 +0000 (19:25 -0600)]
9p: add support for sticky bit

GDM gets unhappy if /var/gdm doesn't have the sticky bit set.  This patch adds
support for the sticky bit in much the same way setuid/setgid is supported.

With this patch, I can launch X from a v9fs rootfs (although I quickly run out
of fds in the server once gnome starts up).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: Fix soft lockup in virtio transport
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:07 +0000 (19:25 -0600)]
9p: Fix soft lockup in virtio transport

This fixes a poorly placed spinlock which could result in a
soft lockup condition.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: fix bug in attach-per-user
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:08 +0000 (19:25 -0600)]
9p: fix bug in attach-per-user

When a new user attached at a directory other than the root, he would end
up in the parent directory of the cwd.  This was due to a logic error in
the code which attaches the user at the mount point and walks back to the
cwd.  This patch fixes that.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: block-based virtio client
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:58 +0000 (19:25 -0600)]
9p: block-based virtio client

This replaces the console-based virto client with a block-based
client using a single request queue.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: create transport rpc cut-thru
Eric Van Hensbergen [Thu, 7 Feb 2008 01:25:09 +0000 (19:25 -0600)]
9p: create transport rpc cut-thru

Add a new transport function which allows a cut-thru directly to
the transport instead of processing request through the mux if the
cut-thru exists.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years ago9p: fix bug in p9_clone_stat
Martin Stava [Tue, 5 Feb 2008 15:27:09 +0000 (09:27 -0600)]
9p: fix bug in p9_clone_stat

This patch fixes a bug in the copying of 9P
stat information where string references
weren't being updated properly.

Signed-off-by: Martin Sava <martin.stava@gmail.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
18 years agodocbook: dmapool: fix fatal changed filename
Randy Dunlap [Thu, 7 Feb 2008 00:29:55 +0000 (16:29 -0800)]
docbook: dmapool: fix fatal changed filename

Docbook fatal error, file was moved:
docproc: linux-2.6.24-git15/drivers/base/dmapool.c: No such file or directory

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years ago[POWERPC] Update default irq servers when boot cpu is removed
Nathan Fontenot [Wed, 6 Feb 2008 20:37:40 +0000 (07:37 +1100)]
[POWERPC] Update default irq servers when boot cpu is removed

The xics code does update the default server information when the boot
cpu is removed.  This patch recognizes when the boot cpu is being
removed and updates the appropriate information based on the new 'boot
cpu'.

Failure to update this information can causes us to leave irqs pinned
to cpus that are being removed, especially when removing the boot cpu.
The cpu is removed from the kernel, but cpu dlpar remove operations
fail since we cannot return the cpu to the hypervisor.

Signed-off-by: Nathan Fonteno <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Remove redundant of_get_cpu_node routine
Nathan Fontenot [Wed, 6 Feb 2008 20:37:35 +0000 (07:37 +1100)]
[POWERPC] Remove redundant of_get_cpu_node routine

It appears that xics.c has its own of_get_cpu_node().  Remove this and
use the common one from prom.c.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Split xics_teardown_cpu()
Nathan Fontenot [Wed, 6 Feb 2008 20:37:31 +0000 (07:37 +1100)]
[POWERPC] Split xics_teardown_cpu()

This splits off the kexec path bits of the xics_teardown_cpu() routine
into its own xics_kexec_teardown_cpu() routine.  With the previous
combined routine the CPPR for a cpu that is being removed may have its
CPPR reset in the plpar_eoi() call (which explicitly sets the CPPR to
a non-zero value).  Splitting of the kexec bits of the code prevents
this from happening in the cpu remove path.

Once again, this does not cause the cpu remove from the kernel to
fail, but it does cause cpu dlpar operations to not be able to return
the cpu to the hypervisor.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Update irq descriptor affinity
Nathan Fontenot [Wed, 6 Feb 2008 20:37:26 +0000 (07:37 +1100)]
[POWERPC] Update irq descriptor affinity

The affinity mask in the virq descriptor needs to be set before we
reset the affinity for the virq.  Without doing this the call to get
the new irq server fails and we end up leaving the virq pinned to the
cpu we are removing.

This does not fail the cpu remove from the kernel, but it does prevent
cpu dlpar remove operations from returning the cpu to the hypervisor.

Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] bootwrapper: Build multiple cuImages
Grant Likely [Wed, 6 Feb 2008 18:18:34 +0000 (05:18 +1100)]
[POWERPC] bootwrapper: Build multiple cuImages

Currently, the kernel uses CONFIG_DEVICE_TREE to wrap a kernel image
with a fdt blob which means for any given configuration only one dts
file can be selected and so support for only one board can be built

This moves the selection of the default .dts file out of the kernel
config and into the bootwrapper makefile.  The makefile chooses which
images to build based on the kernel config and the dts source file
name is taken directly from the image name.  For example "cuImage.ebony"
will use "ebony.dts" as the device tree source file.

In addition, this patch allows a specific image to be requested from the
command line by adding "cuImage.%" and "treeImage.%" targets to the list
of valid built targets in arch/powerpc/Makefile.  This allows the default
dts selection to be overridden.

Another advantage to this change is it allows a single defconfig to be
supplied for all boards using the same chip family and only differing in
the device tree.

Important note: This patch adds two new zImage targets; zImage.dtb.% and
zImage.dtb.initrd.% for zImages with embedded dtb files.  Currently
there are 5 platforms which require this: ps3, ep405, mpc885ads, ep88xc,
adder875-redboot and ep8248e.  This patch *changes the zImage filenames*
for those platforms.  ie. 'zImage.ps3' is now 'zImage.dtb.ps3'.

This new zImage.dtb targets were added so that the .dts file could be
part of the dependancies list for building them.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fake NUMA emulation for PowerPC
Balbir Singh [Fri, 1 Feb 2008 04:57:31 +0000 (15:57 +1100)]
[POWERPC] Fake NUMA emulation for PowerPC

Here's a dumb simple implementation of fake NUMA nodes for PowerPC.
Fake NUMA nodes can be specified using the following command line
option

numa=fake=<node range>

node range is of the format <range1>,<range2>,...<rangeN>

Each of the rangeX parameters is passed using memparse().  I find the
patch useful for fake NUMA emulation on my simple PowerPC machine.
I've tested it on a numa box with the following arguments

numa=fake=512M
numa=fake=512M,768M
numa=fake=256M,512M mem=512M
numa=fake=1G mem=768M
numa=fake=
without any numa= argument

The other side-effect introduced by this patch is that; in the case
where we don't have NUMA information, we now set a node online after
adding each LMB.  This node could very well be node 0, but in the case
that we enable fake NUMA nodes, when we cross node boundaries, we need
to set the new node online.

Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y
Olof Johansson [Thu, 31 Jan 2008 03:34:47 +0000 (14:34 +1100)]
[POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y

Looks like "[POWERPC] kdump shutdown hook support" broke builds when
CONFIG_DEBUGGER=n and CONFIG_KEXEC=y, such as in g5_defconfig:

arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown':
arch/powerpc/kernel/crash.c:388: error: '__debugger_fault_handler' undeclared (first use in this function)
arch/powerpc/kernel/crash.c:388: error: (Each undeclared identifier is reported only once
arch/powerpc/kernel/crash.c:388: error: for each function it appears in.)

Move the debugger hooks to under CONFIG_DEBUGGER || CONFIG_KEXEC, since
that's when the crash code is enabled.

(I should have caught this with my build-script pre-merge, my bad. :( )

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agoMerge branch 'for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into for...
Paul Mackerras [Thu, 7 Feb 2008 00:21:09 +0000 (11:21 +1100)]
Merge branch 'for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into for-2.6.25

18 years agoocfs2: Negotiate locking protocol versions.
Joel Becker [Sat, 26 Jan 2008 01:02:21 +0000 (17:02 -0800)]
ocfs2: Negotiate locking protocol versions.

Currently, when ocfs2 nodes connect via TCP, they advertise their
compatibility level.  If the versions do not match, two nodes cannot speak
to each other and they disconnect. As a result, this provides no forward or
backwards compatibility.

This patch implements a simple protocol negotiation at the dlm level by
introducing a major/minor version number scheme for entities that
communicate.  Specifically, o2dlm has a major/minor version for interaction
with o2dlm on other nodes, and ocfs2 itself has a major/minor version for
interacting with the filesystem on other nodes.

This will allow rolling upgrades of ocfs2 clusters when changes to the
locking or network protocols can be done in a backwards compatible manner.
In those cases, only the minor number is changed and the negotatied protocol
minor is returned from dlm join. In the far less likely event that a
required protocol change makes backwards compatibility impossible, we simply
bump the major number.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Wed, 6 Feb 2008 21:54:09 +0000 (13:54 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86

* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: fix deadlock, make pgd_lock irq-safe
  virtio: fix trivial build bug
  x86: fix mttr trimming
  x86: delay CPA self-test and repeat it
  x86: fix 64-bit sections
  generic: add __FINITDATA
  x86: remove suprious ifdefs from pageattr.c
  x86: mark the .rodata section also NX
  x86: fix iret exception recovery on 64-bit
  cpuidle: dubious one-bit signed bitfield in cpuidle.h
  x86: fix sparse warnings in powernow-k8.c
  x86: fix sparse error in traps_32.c
  x86: trivial sparse/checkpatch in quirks.c
  x86 ptrace: disallow null cs/ss
  MAINTAINERS: RDC R-321x SoC maintainer
  brk randomization: introduce CONFIG_COMPAT_BRK
  brk: check the lower bound properly
  x86: remove X2 workaround
  x86: make spurious fault handler aware of large mappings
  x86: make traps on entry code be debuggable in user space, 64-bit

18 years agox86: fix deadlock, make pgd_lock irq-safe
Ingo Molnar [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: fix deadlock, make pgd_lock irq-safe

lockdep just caught this one:

=================================
[ INFO: inconsistent lock state ]
2.6.24 #38
---------------------------------
inconsistent {in-softirq-W} -> {softirq-on-W} usage.
swapper/1 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (pgd_lock){-+..}, at: [<ffffffff8022a9ea>] mm_init+0x1da/0x250
{in-softirq-W} state was registered at:
  [<ffffffffffffffff>] 0xffffffffffffffff
irq event stamp: 394559
hardirqs last  enabled at (394559): [<ffffffff80267f0a>] get_page_from_freelist+0x30a/0x4c0
hardirqs last disabled at (394558): [<ffffffff80267d25>] get_page_from_freelist+0x125/0x4c0
softirqs last  enabled at (393952): [<ffffffff80232f8e>] __do_softirq+0xce/0xe0
softirqs last disabled at (393945): [<ffffffff8020c57c>] call_softirq+0x1c/0x30

other info that might help us debug this:
no locks held by swapper/1.

stack backtrace:
Pid: 1, comm: swapper Not tainted 2.6.24 #38

Call Trace:
 [<ffffffff8024e1fb>] print_usage_bug+0x18b/0x190
 [<ffffffff8024f55d>] mark_lock+0x53d/0x560
 [<ffffffff8024fffa>] __lock_acquire+0x3ca/0xed0
 [<ffffffff80250ba8>] lock_acquire+0xa8/0xe0
 [<ffffffff8022a9ea>] ? mm_init+0x1da/0x250
 [<ffffffff809bcd10>] _spin_lock+0x30/0x70
 [<ffffffff8022a9ea>] mm_init+0x1da/0x250
 [<ffffffff8022aa99>] mm_alloc+0x39/0x50
 [<ffffffff8028b95a>] bprm_mm_init+0x2a/0x1a0
 [<ffffffff8028d12b>] do_execve+0x7b/0x220
 [<ffffffff80209776>] sys_execve+0x46/0x70
 [<ffffffff8020c214>] kernel_execve+0x64/0xd0
 [<ffffffff8020901e>] ? _stext+0x1e/0x20
 [<ffffffff802090ba>] init_post+0x9a/0xf0
 [<ffffffff809bc5f6>] ? trace_hardirqs_on_thunk+0x35/0x3a
 [<ffffffff8024f75a>] ? trace_hardirqs_on+0xba/0xd0
 [<ffffffff8020c1a8>] ? child_rip+0xa/0x12
 [<ffffffff8020bcbc>] ? restore_args+0x0/0x44
 [<ffffffff8020c19e>] ? child_rip+0x0/0x12

turns out that pgd_lock has been used on 64-bit x86 in an irq-unsafe
way for almost two years, since commit 8c914cb704a11460e.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
18 years agovirtio: fix trivial build bug
Ingo Molnar [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
virtio: fix trivial build bug

fix build bug:

  drivers/virtio/virtio_balloon.c: In function 'fill_balloon':
  drivers/virtio/virtio_balloon.c:98: error: implicit declaration of function 'msleep'

Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fix mttr trimming
Yinghai Lu [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: fix mttr trimming

Pavel Emelyanov reported that his networking card did not work
and bisected it down to:

"
The commit

  093af8d7f0ba3c6be1485973508584ef081e9f93
  x86_32: trim memory by updating e820

broke my e1000 card: on loading driver says that

  e1000: probe of 0000:04:03.0 failed with error -5

and the interface doesn't appear.
"

on a 32-bit kernel, base will overflow when try to do PAGE_SHIFT,
and highest_addr will always less 4G.

So use pfn instead of address to avoid the overflow when more than
4g RAM is installed on a 32-bit kernel.

Many thanks to Pavel Emelyanov for reporting and testing it.

Bisected-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Tested-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: delay CPA self-test and repeat it
Ingo Molnar [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: delay CPA self-test and repeat it

delay the CPA self-test so that any impact (corruption) of
user-space pagetables can be triggered. Repeat the test
every 30 seconds.

this would have prevented the bug fixed by 8cb2a7c1e95e472b5,
at its source.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fix 64-bit sections
Sam Ravnborg [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: fix 64-bit sections

fix 64-bit section warnings.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agogeneric: add __FINITDATA
Ingo Molnar [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
generic: add __FINITDATA

Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: remove suprious ifdefs from pageattr.c
Arjan van de Ven [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: remove suprious ifdefs from pageattr.c

The .rodata section really should just be read only; the config option
is there to make breaking up the 2Mb page an option (so people whos machines
give more performance for the 2Mb case can opt to do so).
But when the page gets split anyway, this is no longer an issue, so
clean up the code and remove the ifdefs

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: mark the .rodata section also NX
Arjan van de Ven [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: mark the .rodata section also NX

The .rodata section shouldn't just be read-only,
but also non-executable. This is free since we've broken
up the 2MB page already anyway.

also update test_nx to check for this.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fix iret exception recovery on 64-bit
Roland McGrath [Wed, 6 Feb 2008 21:39:45 +0000 (22:39 +0100)]
x86: fix iret exception recovery on 64-bit

This change broke recovery of exceptions in iret:

   commit 72fe4858544292ad64600765cb78bc02298c6b1c
   Author: Glauber de Oliveira Costa <gcosta@redhat.com>

       x86: replace privileged instructions with paravirt macros

The ENTRY(native_iret) macro adds alignment padding before the iretq
instruction, so "iret_label" no longer points exactly at the instruction.
It was sloppy to leave the old "iret_label" label behind when replacing
its nearby use.  Removing it would have revealed the other use of the
label later in the file, and upon noticing that use, anyone exercising
the minimum of attention to detail expected of anyone touching this
subtle code would realize it needed to change as well.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agocpuidle: dubious one-bit signed bitfield in cpuidle.h
Harvey Harrison [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
cpuidle: dubious one-bit signed bitfield in cpuidle.h

fix these sparse warnings:

  CHECK   arch/x86/kernel/acpi/cstate.c
include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield
  CHECK   arch/x86/kernel/acpi/processor.c
include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield
  CHECK   arch/x86/kernel/cpu/cpufreq/powernow-k7.c
include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield
  CHECK   arch/x86/kernel/cpu/cpufreq/powernow-k8.c
include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield
  CHECK   arch/x86/kernel/cpu/cpufreq/longhaul.c
include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield
  CHECK   arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fix sparse warnings in powernow-k8.c
Harvey Harrison [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
x86: fix sparse warnings in powernow-k8.c

arch/x86/kernel/cpu/cpufreq/powernow-k8.c:830:7: warning: symbol 'hi' shadows an earlier one
arch/x86/kernel/cpu/cpufreq/powernow-k8.c:824:6: originally declared here
arch/x86/kernel/cpu/cpufreq/powernow-k8.c:830:15: warning: symbol 'lo' shadows an earlier one
arch/x86/kernel/cpu/cpufreq/powernow-k8.c:824:14: originally declared here

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fix sparse error in traps_32.c
Harvey Harrison [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
x86: fix sparse error in traps_32.c

This was being used to ensure the proper alignment of the FXSAVE/FXRSTOR data.
This would create a sparse error in the _correct_ cases, hiding further
warnings.  Use BUILD_BUG_ON instead.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: trivial sparse/checkpatch in quirks.c
Harvey Harrison [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
x86: trivial sparse/checkpatch in quirks.c

arch/x86/kernel/quirks.c:384:3: warning: returning void-valued expression
arch/x86/kernel/quirks.c:387:3: warning: returning void-valued expression
arch/x86/kernel/quirks.c:390:3: warning: returning void-valued expression
arch/x86/kernel/quirks.c:393:3: warning: returning void-valued expression

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86 ptrace: disallow null cs/ss
Roland McGrath [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
x86 ptrace: disallow null cs/ss

In my revamp of the x86 ptrace code for setting register values,
I accidentally omitted a check that was there in the old code.
Allowing %cs to be 0 causes a bad crash in recovery from iret failure.
This patch fixes that regression against 2.6.24, and adds a comment
that should help prevent this subtlety from being overlooked again.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agoMAINTAINERS: RDC R-321x SoC maintainer
Florian Fainelli [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
MAINTAINERS: RDC R-321x SoC maintainer

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agobrk randomization: introduce CONFIG_COMPAT_BRK
Ingo Molnar [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
brk randomization: introduce CONFIG_COMPAT_BRK

based on similar patch from: Pavel Machek <pavel@ucw.cz>

Introduce CONFIG_COMPAT_BRK. If disabled then the kernel is free
(but not obliged to) randomize the brk area.

Heap randomization breaks ancient binaries, so we keep COMPAT_BRK
enabled by default.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agobrk: check the lower bound properly
Jiri Kosina [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
brk: check the lower bound properly

There is a check in sys_brk(), that tries to make sure that we do not
underflow the area that is dedicated to brk heap.

The check is however wrong, as it assumes that brk area starts immediately
after the end of the code (+bss), which is wrong for example in
environments with randomized brk start. The proper way is to check whether
the address is not below the start_brk address.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: remove X2 workaround
Ingo Molnar [Wed, 6 Feb 2008 21:39:44 +0000 (22:39 +0100)]
x86: remove X2 workaround

With the spurious handler fix, the X2 does not lock up anymore.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: make spurious fault handler aware of large mappings
Thomas Gleixner [Wed, 6 Feb 2008 21:39:43 +0000 (22:39 +0100)]
x86: make spurious fault handler aware of large mappings

In very rare cases, on certain CPUs, we could end up in the spurious
fault handler and ignore a large pud/pmd mapping. The resulting pte
pointer points into the mapped physical space and dereferencing it
will fault recursively.

Make the code aware of large mappings and do the permission check
on the pmd/pud entry, when a large pud/pmd mapping is detected.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: make traps on entry code be debuggable in user space, 64-bit
Roland McGrath [Wed, 6 Feb 2008 21:39:43 +0000 (22:39 +0100)]
x86: make traps on entry code be debuggable in user space, 64-bit

Unify the x86-64 behavior for 32-bit processes that set
bogus %cs/%ss values (the only ones that can fault in iret)
match what the native i386 behavior is. (do not kill the task
via do_exit but generate a SIGSEGV signal)

[ tglx@linutronix.de: build fix ]

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years ago[POWERPC] mpc512x: Add MPC512x PSC support to MPC52xx psc driver
John Rigby [Mon, 28 Jan 2008 17:28:56 +0000 (04:28 +1100)]
[POWERPC] mpc512x: Add MPC512x PSC support to MPC52xx psc driver

Add 512x support using the psc_ops framework established
with the previous patch.

All 512x PSCs share the same interrupt so add
IRQF_SHARED to irq flags.

Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
18 years ago[POWERPC] mpc512x: Factor out 5200 dependencies from 52xx psc driver
John Rigby [Mon, 28 Jan 2008 17:28:55 +0000 (04:28 +1100)]
[POWERPC] mpc512x: Factor out 5200 dependencies from 52xx psc driver

PSC devices are different between the mpc5200 and the mpc5121
this patch localizes the differences in preparation for adding mpc5121
support to the psc uart driver.

Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
18 years ago[POWERPC] mpc512x: Device tree for MPC5121 ADS
John Rigby [Mon, 28 Jan 2008 17:28:54 +0000 (04:28 +1100)]
[POWERPC] mpc512x: Device tree for MPC5121 ADS

Minimal /dts-v1/ device tree for mpc5121 ads.

port-number property in uart nodes
will go away after the driver learns to use aliases

Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
18 years ago[POWERPC] mpc512x: Basic platform support
John Rigby [Mon, 28 Jan 2008 17:28:53 +0000 (04:28 +1100)]
[POWERPC] mpc512x: Basic platform support

512x is very similar to 83xx and most
of this is patterned after code from 83xx.

New platform:
    changed:
arch/powerpc/Kconfig
arch/powerpc/platforms/Kconfig
arch/powerpc/platforms/Kconfig.cputype
arch/powerpc/platforms/Makefile
    new:
arch/powerpc/platforms/512x/*
include/asm-powerpc/mpc512x.h

Signed-off-by: John Rigby <jrigby@freescale.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
18 years agoMerge branch 'async-tx-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop...
Linus Torvalds [Wed, 6 Feb 2008 19:16:11 +0000 (11:16 -0800)]
Merge branch 'async-tx-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop into fix

* 'async-tx-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop:
  async_tx: allow architecture specific async_tx_find_channel implementations
  async_tx: replace 'int_en' with operation preparation flags
  async_tx: kill tx_set_src and tx_set_dest methods
  async_tx: kill ASYNC_TX_ASSUME_COHERENT
  iop-adma: use LIST_HEAD instead of LIST_HEAD_INIT
  async_tx: use LIST_HEAD instead of LIST_HEAD_INIT
  async_tx: fix compile breakage, mark do_async_xor __always_inline

18 years agoscsi: megaraid: trivial drop duplicate mutex.h include
Daniel Walker [Wed, 6 Feb 2008 14:50:37 +0000 (06:50 -0800)]
scsi: megaraid: trivial drop duplicate mutex.h include

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Wed, 6 Feb 2008 18:48:34 +0000 (10:48 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
  SELinux: Remove security_get_policycaps()
  security: allow Kconfig to set default mmap_min_addr protection

18 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Wed, 6 Feb 2008 18:47:46 +0000 (10:47 -0800)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  ata_piix.c:piix_init_one() must be __devinit
  sata_via.c: Remove missleading comment.
  libata-core: unblacklist HITACHI drives
  sata_nv: fix ATAPI issues with memory over 4GB (v7)
  ata: drivers/ata/sata_mv.c needs dmapool.h
  libata: kill now unused n_iter and fix sata_fsl
  ahci: fix CAP.NP and PI handling
  sata_mv: Support SoC controllers
  Rename: linux/pata_platform.h to linux/ata_platform.h

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 6 Feb 2008 18:47:18 +0000 (10:47 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (35 commits)
  virtio net: fix oops on interface-up
  Fix PHY Lib support for gianfar and ucc_geth
  forcedeth: preserve registers
  forcedeth: phy status fix
  forcedeth: restart tx/rx
  ipvs: Make wrr "no available servers" error message rate-limited
  [PPPOL2TP]: Label unused warning when CONFIG_PROC_FS is not set.
  [NET_SCHED]: cls_flow: support classification based on VLAN tag
  [VLAN]: Constify skb argument to vlan_get_tag()
  [NET_SCHED]: cls_flow: fix key mask validity check
  [NET_SCHED]: em_meta: fix compile warning
  b43: Fix DMA for 30/32-bit DMA engines
  b43: fix build with CONFIG_SSB_PCIHOST=n
  mac80211: Is not EXPERIMENTAL anymore
  iwl3945-base.c: fix off-by-one errors
  b43legacy: fix DMA slot resource leakage
  b43legacy: drop packets we are not able to encrypt
  b43legacy: fix suspend/resume
  b43legacy: fix PIO crash
  Generic HDLC - use random_ether_addr()
  ...

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 6 Feb 2008 18:46:58 +0000 (10:46 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Temporarily remove IOMMU merging code.
  [SPARC64]: Update defconfig.
  [SPARC]: Add new timerfd syscall entries.

18 years agofb: fix warning: no return statement in function returning non-void
Anton Vorontsov [Wed, 6 Feb 2008 09:40:23 +0000 (01:40 -0800)]
fb: fix warning: no return statement in function returning non-void

Warning is reproducible with selected FB_CFB_REV_PIXELS_IN_BYTE.

  CC      drivers/video/sysfillrect.o
In file included from drivers/video/sysfillrect.c:18:
drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long':
drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void
  CC      drivers/video/syscopyarea.o
In file included from drivers/video/syscopyarea.c:22:
drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long':
drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agovirtio: add missing #include <linux/delay.h>
Johann Felix Soden [Wed, 6 Feb 2008 09:40:22 +0000 (01:40 -0800)]
virtio: add missing #include <linux/delay.h>

Include linux/delay.h to fix compiler error:

drivers/virtio/virtio_balloon.c: In function 'fill_balloon':
drivers/virtio/virtio_balloon.c:98: error: implicit declaration of function 'msleep'

Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext3: fix lock inversion in direct IO
Jan Kara [Wed, 6 Feb 2008 09:40:21 +0000 (01:40 -0800)]
ext3: fix lock inversion in direct IO

We cannot start transaction in ext3_direct_IO() and just let it last during
the whole write because dio_get_page() acquires mmap_sem which ranks above
transaction start (e.g.  because we have dependency chain
mmap_sem->PageLock->journal_start, or because we update atime while holding
mmap_sem) and thus deadlocks could happen.  We solve the problem by
starting a transaction separately for each ext3_get_block() call.

We *could* have a problem that we allocate a block and before its data are
written out the machine crashes and thus we expose stale data.  But that
does not happen because for hole-filling generic code falls back to
buffered writes and for file extension, we add inode to orphan list and
thus in case of crash, journal replay will truncate inode back to the
original size.

[akpm@linux-foundation.org: build fix]
Signed-off-by: Jan Kara <jack@suse.cz>
Cc: <linux-ext4@vger.kernel.org>
Cc: Zach Brown <zach.brown@oracle.com>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agojbd.h: hide kernel only code
Olaf Hering [Wed, 6 Feb 2008 09:40:19 +0000 (01:40 -0800)]
jbd.h: hide kernel only code

Move a few kernel-only things into __KERNEL__.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext3: remove unused code from ext3_find_entry()
Mariusz Kozlowski [Wed, 6 Feb 2008 09:40:18 +0000 (01:40 -0800)]
ext3: remove unused code from ext3_find_entry()

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext[234]: cleanup ext[234]_bg_num_gdb()
Akinobu Mita [Wed, 6 Feb 2008 09:40:17 +0000 (01:40 -0800)]
ext[234]: cleanup ext[234]_bg_num_gdb()

Use ext[234]_bg_has_super() to remove duplicate code.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext[234]: remove unused argument for ext[234]_find_goal()
Akinobu Mita [Wed, 6 Feb 2008 09:40:16 +0000 (01:40 -0800)]
ext[234]: remove unused argument for ext[234]_find_goal()

The argument chain for ext[234]_find_goal() is not used.  This patch removes
it and fixes comment as well.

Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext[234]: use ext[234]_get_group_desc()
Akinobu Mita [Wed, 6 Feb 2008 09:40:16 +0000 (01:40 -0800)]
ext[234]: use ext[234]_get_group_desc()

Use ext[234]_get_group_desc() to get group descriptor from group number.

Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext[234]: fix comment for nonexistent variable
Akinobu Mita [Wed, 6 Feb 2008 09:40:15 +0000 (01:40 -0800)]
ext[234]: fix comment for nonexistent variable

The comment in ext[234]_new_blocks() describes about "i".  But there is no
local variable called "i" in that scope.  I guess it has been renamed to
group_no.

Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext3: change the default behaviour on error
Aneesh Kumar K.V [Wed, 6 Feb 2008 09:40:14 +0000 (01:40 -0800)]
ext3: change the default behaviour on error

ext3 file system was by default ignoring errors and continuing.  This is
not a good default as continuing on error could lead to file system
corruption.  Change the default to mark the file system readonly.  Debian
and ubuntu already does this as the default in their fstab.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: <linux-ext4@vger.kernel.org>
Cc: Eric Sandeen <sandeen@redhat.com>
Cc: Jan Kara <jack@ucw.cz>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext3: return after ext3_error in case of failures
Aneesh Kumar K.V [Wed, 6 Feb 2008 09:40:13 +0000 (01:40 -0800)]
ext3: return after ext3_error in case of failures

This fixes some instances where we were continuing after calling
ext3_error.  ext3_error calls panic only if errors=panic mount option is
set.  So we need to make sure we return correctly after ext3_error call

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agomake jbd/journal.c:__journal_abort_hard() static
Adrian Bunk [Wed, 6 Feb 2008 09:40:12 +0000 (01:40 -0800)]
make jbd/journal.c:__journal_abort_hard() static

__journal_abort_hard() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoBKL-removal: remove incorrect comment refering to lock_kernel() from jbd/jbd2
Andi Kleen [Wed, 6 Feb 2008 09:40:11 +0000 (01:40 -0800)]
BKL-removal: remove incorrect comment refering to lock_kernel() from jbd/jbd2

None of the callers of this function does actually take the BKL as far as I
can see.  So remove the comment refering to the BKL.

Signed-off-by: Andi Kleen <ak@suse.de>
Cc: <linux-ext4@vger.kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoBKL-removal: remove incorrect BKL comment in ext2
Andi Kleen [Wed, 6 Feb 2008 09:40:11 +0000 (01:40 -0800)]
BKL-removal: remove incorrect BKL comment in ext2

No BKL used anywhere, so don't mention it.

Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoBKL-removal: convert ext2 over to use unlocked_ioctl
Andi Kleen [Wed, 6 Feb 2008 09:40:10 +0000 (01:40 -0800)]
BKL-removal: convert ext2 over to use unlocked_ioctl

I checked ext2_ioctl and could not find anything in there that would need the
BKL.  So convert it over to use unlocked_ioctl

Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoext3: add block bitmap validation
Aneesh Kumar K.V [Wed, 6 Feb 2008 09:40:09 +0000 (01:40 -0800)]
ext3: add block bitmap validation

When a new block bitmap is read from disk in read_block_bitmap() there are a
few bits that should ALWAYS be set.  In particular, the blocks given
corresponding to block bitmap, inode bitmap and inode tables.  Validate the
block bitmap against these blocks.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>