]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agousb/mcs7830: Don't use buffers from stack for USB transfers
Christian Eggers [Wed, 21 Jan 2009 20:56:24 +0000 (12:56 -0800)]
usb/mcs7830: Don't use buffers from stack for USB transfers

mcs7830_set_reg() and mcs7830_get_reg() are called with buffers
from stack which must not be used directly for USB transfers.
This causes corruption of the stack particulary on non x86
architectures because DMA may be used for these transfers.

Signed-off-by: Christian Eggers <christian.eggers@kathrein.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agox86: optimise page fault entry, cleanup
Johannes Weiner [Wed, 21 Jan 2009 19:45:41 +0000 (20:45 +0100)]
x86: optimise page fault entry, cleanup

tsk is already assigned to current, drop the redundant second
assignment.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agousbnet: allow type check of devdbg arguments in non-debug build
Steve Glendinning [Wed, 21 Jan 2009 20:35:43 +0000 (12:35 -0800)]
usbnet: allow type check of devdbg arguments in non-debug build

Improve usbnet's devdbg to always type-check diagnostic arguments,
like dev_dbg (device.h).  This makes no change to the resulting size of
usbnet modules.

This patch also removes an #ifdef DEBUG directive from rndis_wlan so
it's devdbg statements are always type-checked at compile time.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetfilter: ctnetlink: fix scheduling while atomic
Patrick McHardy [Wed, 21 Jan 2009 20:19:49 +0000 (12:19 -0800)]
netfilter: ctnetlink: fix scheduling while atomic

Caused by call to request_module() while holding nf_conntrack_lock.

Reported-and-tested-by: Kövesdi György <kgy@teledigit.hu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoBtrfs: fiemap support
Yehuda Sadeh [Wed, 21 Jan 2009 19:39:14 +0000 (14:39 -0500)]
Btrfs: fiemap support

Now that bmap support is gone, this is the only way to get extent
mappings for userland.  These are still not valid for IO, but they
can tell us if a file has holes or how much fragmentation there is.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
17 years agoBtrfs: stop providing a bmap operation to avoid swapfile corruptions
Chris Mason [Wed, 21 Jan 2009 18:11:13 +0000 (13:11 -0500)]
Btrfs: stop providing a bmap operation to avoid swapfile corruptions

Swapfiles use bmap to build a list of extents belonging to the file,
and they assume these extents won't change over the life of the file.
They also use resulting list to do IO directly to the block device.

This causes problems for btrfs in a few ways:

btrfs returns logical block numbers through bmap, and these are not suitable
for IO.  They might translate to different devices, raid etc.

COW means that file block mappings are going to change frequently.

Using swapfiles on btrfs will lead to corruption, so we're avoiding the
problem for now by dropping bmap support entirely.  A later commit
will add fiemap support for people that really want to know how
a file is laid out.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: fix tree logs parallel sync
Yan Zheng [Wed, 21 Jan 2009 17:54:03 +0000 (12:54 -0500)]
Btrfs: fix tree logs parallel sync

To improve performance, btrfs_sync_log merges tree log sync
requests. But it wrongly merges sync requests for different
tree logs. If multiple tree logs are synced at the same time,
only one of them actually gets synced.

This patch has following changes to fix the bug:

Move most tree log related fields in btrfs_fs_info to
btrfs_root. This allows merging sync requests separately
for each tree log.

Don't insert root item into the log root tree immediately
after log tree is allocated. Root item for log tree is
inserted when log tree get synced for the first time. This
allows syncing the log root tree without first syncing all
log trees.

At tree-log sync, btrfs_sync_log first sync the log tree;
then updates corresponding root item in the log root tree;
sync the log root tree; then update the super block.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agox86: fix PTE corruption issue while mapping RAM using /dev/mem
Suresh Siddha [Tue, 13 Jan 2009 18:21:30 +0000 (10:21 -0800)]
x86: fix PTE corruption issue while mapping RAM using /dev/mem

Beschorner Daniel reported:
> hwinfo problem since 2.6.28, showing this in the oops:
> Corrupted page table at address 7fd04de3ec00

Also, PaX Team reported a regression with this commit:

> commit 9542ada803198e6eba29d3289abb39ea82047b92
> Author: Suresh Siddha <suresh.b.siddha@intel.com>
> Date:   Wed Sep 24 08:53:33 2008 -0700
>
>     x86: track memtype for RAM in page struct

This commit breaks mapping any RAM page through /dev/mem, as the
reserve_memtype() was not initializing the return attribute type and as such
corrupting the PTE entry that was setup with the return attribute type.

Because of this bug, application mapping this RAM page through /dev/mem
will die with "Corrupted page table at address xxxx" message in the kernel
log and also the kernel identity mapping which maps the underlying RAM
page gets converted to UC.

Fix this by initializing the return attribute type before calling
reserve_ram_pages_type()

Reported-by: PaX Team <pageexec@freemail.hu>
Reported-and-tested-by: Beschorner Daniel <Daniel.Beschorner@facton.com>
Tested-and-Acked-by: PaX Team <pageexec@freemail.hu>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoi.MX31: framebuffer driver
Guennadi Liakhovetski [Wed, 21 Jan 2009 17:32:34 +0000 (10:32 -0700)]
i.MX31: framebuffer driver

This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous
displays, vertical panning supported, no overlay support.

Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years agoBtrfs: open_ctree() error handling can oops on fs_info
Qinghuang Feng [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: open_ctree() error handling can oops on fs_info

a bug in open_ctree:

struct btrfs_root *open_ctree(..)
{
....
if (!extent_root || !tree_root || !fs_info ||
    !chunk_root || !dev_root || !csum_root) {
err = -ENOMEM;
goto fail;
//When code flow goes to "fail", fs_info may be NULL or uninitialized.
}
....

fail:
btrfs_close_devices(fs_info->fs_devices);// !
btrfs_mapping_tree_free(&fs_info->mapping_tree);// !

kfree(extent_root);
kfree(tree_root);
bdi_destroy(&fs_info->bdi);// !
...
)

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: fix stop searching test in replace_one_extent
Yan Zheng [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: fix stop searching test in replace_one_extent

replace_one_extent searches tree leaves for references to a given extent. It
stops searching if it goes beyond the last possible position.

The last possible position is computed by adding the starting offset of a found
file extent to the full size of the extent. The code uses physical size of the
extent as the full size. This is incorrect when compression is used.

The fix is get the full size from ram_bytes field of file extent item.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoBtrfs: change/remove typedef
Jan Engelhardt [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: change/remove typedef

Change one typedef to a regular enum, and remove an unused one.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: remove duplicated #include
Huang Weiyi [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: remove duplicated #include

Removed duplicated #include "compat.h"in
fs/btrfs/extent-tree.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: Fix infinite loop in btrfs_extent_post_op
Yan Zheng [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: Fix infinite loop in btrfs_extent_post_op

btrfs_extent_post_op calls finish_current_insert and del_pending_extents. They
both may enter infinite loops.

finish_current_insert enters infinite loop if it only finds some backrefs to
update.  The fix is to check for pending backref updates before restarting the
loop.

The infinite loop in del_pending_extents is due to a the skipped variable
not being properly reset before looping around.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoBtrfs: fix locking issue in btrfs_remove_block_group
Yan Zheng [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: fix locking issue in btrfs_remove_block_group

We should hold the block_group_cache_lock while modifying the
block groups red-black tree. Thank you,

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoBtrfs: simplify iteration codes
Qinghuang Feng [Wed, 21 Jan 2009 15:59:08 +0000 (10:59 -0500)]
Btrfs: simplify iteration codes

Merge list_for_each* and list_entry to list_for_each_entry*

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: check return value for kthread_run() correctly
Qinghuang Feng [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: check return value for kthread_run() correctly

kthread_run() returns the kthread or ERR_PTR(-ENOMEM), not NULL.

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: Remove extra KERN_INFO in the middle of a line
Roland Dreier [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: Remove extra KERN_INFO in the middle of a line

The "devid <xxx> transid <xxx>" printk in btrfs_scan_one_device()
actually follows another printk that doesn't end in a newline (since the
intention is for the two printks to make one line of output), so the
KERN_INFO just ends up messing up the output:

    device label exp <6>devid 1 transid 9 /dev/sda5

Fix this by changing the extra KERN_INFO to KERN_CONT.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: removed unused #include <version.h>'s
Huang Weiyi [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: removed unused #include <version.h>'s

Removed unused #include <version.h>'s in btrfs

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: cleanup xattr code
Josef Bacik [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: cleanup xattr code

Andrew's review of the xattr code revealed some minor issues that this patch
addresses.  Just an error return fix, got rid of a useless statement and
commented one of the trickier parts of __btrfs_getxattr.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: MAINTAINERS entry
Joe Perches [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: MAINTAINERS entry

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: cleanup fs/btrfs/super.c::btrfs_control_ioctl()
Wang Cong [Wed, 21 Jan 2009 15:49:16 +0000 (10:49 -0500)]
Btrfs: cleanup fs/btrfs/super.c::btrfs_control_ioctl()

- Remove the unused local variable 'len';
- Check return value of kmalloc().

Signed-off-by: Wang Cong <wangcong@zeuux.org>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoocfs2: Remove ocfs2_dquot_initialize() and ocfs2_dquot_drop()
Jan Kara [Mon, 12 Jan 2009 16:44:34 +0000 (17:44 +0100)]
ocfs2: Remove ocfs2_dquot_initialize() and ocfs2_dquot_drop()

Since ->acquire_dquot and ->release_dquot callbacks aren't called under
dqptr_sem anymore, we don't have to start a transaction and obtain locks
so early. So we can just remove all this complicated stuff.

Signed-off-by: Jan Kara <jack@suse.cz>
Acked-by: Mark Fasheh <mfasheh@suse.de>
17 years agotrace: set max latency variable to zero on default
Steven Rostedt [Fri, 16 Jan 2009 04:40:11 +0000 (23:40 -0500)]
trace: set max latency variable to zero on default

Impact: trace max latencies on start of latency tracing

This patch sets the max latency to zero whenever one of the
irq variant tracers or the wakeup tracer is set to current tracer.

Most developers expect to see output when starting up a latency
tracer. But since the max_latency is already set to max, and
it takes a latency greater than max_latency to be recorded, there
is no trace. This is not the expected behavior and has even confused
myself.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotrace: stop all recording to ring buffer on ftrace_dump
Steven Rostedt [Wed, 14 Jan 2009 19:50:19 +0000 (14:50 -0500)]
trace: stop all recording to ring buffer on ftrace_dump

Impact: limit ftrace dump output

Currently ftrace_dump only calls ftrace_kill that is a fast way
to prevent the function tracer functions from being called (just sets
a flag and clears the function to call, nothing else). It is better
to also turn off any recording to the ring buffers as well.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotrace: print ftrace_dump at KERN_EMERG log level
Steven Rostedt [Wed, 14 Jan 2009 17:24:42 +0000 (12:24 -0500)]
trace: print ftrace_dump at KERN_EMERG log level

Impact: fix to print out ftrace_dump when expected

I was debugging a hard race condition to only find out that
after I hit the race, my log level was not at level to show
KERN_INFO. The time it took to trigger the race was wasted because
I did not capture the trace.

Since ftrace_dump is only called from kernel oops (and only when
it is set in the kernel command line to do so), or when a
developer adds it to their own local tree, the log level of
the print should be at KERN_EMERG to make sure the print appears.

ftrace_dump is not called by a normal user setup, and will not
add extra unwanted print out to the console. There is no reason
it should be at KERN_INFO.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoring_buffer: reset write when reserve buffer fail
Lai Jiangshan [Mon, 12 Jan 2009 03:06:18 +0000 (11:06 +0800)]
ring_buffer: reset write when reserve buffer fail

Impact: reset struct buffer_page.write when interrupt storm

if struct buffer_page.write is not reset, any succedent committing
will corrupted ring_buffer:

static inline void
rb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer)
{
......
cpu_buffer->commit_page->commit =
cpu_buffer->commit_page->write;
......
}

when "if (RB_WARN_ON(cpu_buffer, next_page == reader_page))", ring_buffer
is disabled, but some reserved buffers may haven't been committed.
we need reset struct buffer_page.write.

when "if (unlikely(next_page == cpu_buffer->commit_page))", ring_buffer
is still available, we should not corrupt it.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: fix a regression while suspend to disk
Frederic Weisbecker [Wed, 14 Jan 2009 21:33:27 +0000 (13:33 -0800)]
tracing/function-graph-tracer: fix a regression while suspend to disk

Impact: fix a crash while kernel image restore

When the function graph tracer is running and while suspend to disk, some racy
and dangerous things happen against this tracer.

The current task will save its registers including the stack pointer which
contains the return address hooked by the tracer. But the current task will
continue to enter other functions after that to save the memory, and then
it will store other return addresses, and finally loose the old depth which
matches the return address saved in the old stack (during the registers saving).

So on image restore, the code will return to wrong addresses.
And there are other things: on restore, the task will have it's "current"
pointer overwritten during registers restoring....switching from one task to
another... That would be insane to try to trace function graphs at these
stages.

This patch makes the function graph tracer listening on power events, making
it's tracing disabled for the current task (the one that performs the
hibernation work) while suspend/resume to disk, making the tracing safe
during hibernation.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: ad1816a: enable hardware timer
Krzysztof Helt [Wed, 21 Jan 2009 14:14:09 +0000 (15:14 +0100)]
ALSA: ad1816a: enable hardware timer

Enable hardware timer with 10 usec resolution.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: do not create OPL3 timers if there is no OPL3 irq wired
Krzysztof Helt [Wed, 21 Jan 2009 14:08:03 +0000 (15:08 +0100)]
ALSA: do not create OPL3 timers if there is no OPL3 irq wired

Most cards have OPL3 FM synthetiser but
they do not have OPL3 interrupt wired to
a sound chip or CPU.

Do not create OPL3 timers for such cards
as the timers are useless witthout interrupt.

This patch removes OPL3 timers for following
alsa drivers: snd-ad1816a, snd-opti93x,
snd-opti92x, snd-sc6000, snd-cmi8330.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoASoC: Complete Beagleboard support
Steve Sakoman [Wed, 21 Jan 2009 07:05:27 +0000 (23:05 -0800)]
ASoC: Complete Beagleboard support

Commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 in the asoc tree
did not include the necessary Kconfig and Makefile changes.  This patch
completes the support for Beagleboard

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agox86: make UV support configurable
Nick Piggin [Tue, 20 Jan 2009 03:36:04 +0000 (04:36 +0100)]
x86: make UV support configurable

Make X86 SGI Ultraviolet support configurable. Saves about 13K of text size
on my modest config.

   text    data     bss     dec     hex filename
6770537 1158680  694356 8623573  8395d5 vmlinux
6757492 1157664  694228 8609384  835e68 vmlinux.nouv

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: uaccess: rename __put_user_u64() to __put_user_asm_u64()
Hiroshi Shimamoto [Tue, 20 Jan 2009 00:37:41 +0000 (16:37 -0800)]
x86: uaccess: rename __put_user_u64() to __put_user_asm_u64()

Impact: cleanup

rename __put_user_u64() to __put_user_asm_u64() like __get_user_asm_u64().

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: uaccess: fix style problems
Hiroshi Shimamoto [Tue, 20 Jan 2009 00:34:26 +0000 (16:34 -0800)]
x86: uaccess: fix style problems

Impact: cleanup

Fix coding style problems in arch/x86/include/asm/uaccess.h.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: mtrr fix debug boot parameter
Thomas Renninger [Tue, 20 Jan 2009 09:37:39 +0000 (10:37 +0100)]
x86: mtrr fix debug boot parameter

while looking at:

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

I realized that the mtrr.show param cannot work, because
the code is processed much too early.

This patch:
 - Declares mtrr.show as early_param
 - Stays consistent with the previous param (which I doubt
   that it ever worked), so mtrr.show=1 would still work
 - Declares mtrr_show as initdata

Signed-off-by: Thomas Renninger <trenn@suse.de>
Acked-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: fix page attribute corruption with cpa()
Suresh Siddha [Tue, 20 Jan 2009 22:20:21 +0000 (14:20 -0800)]
x86: fix page attribute corruption with cpa()

Impact: fix sporadic slowdowns and warning messages

This patch fixes a performance issue reported by Linus on his
Nehalem system. While Linus reverted the PAT patch (commit
58dab916dfb57328d50deb0aa9b3fc92efa248ff) which exposed the issue,
existing cpa() code can potentially still cause wrong(page attribute
corruption) behavior.

This patch also fixes the "WARNING: at arch/x86/mm/pageattr.c:560" that
various people reported.

In 64bit kernel, kernel identity mapping might have holes depending
on the available memory and how e820 reports the address range
covering the RAM, ACPI, PCI reserved regions. If there is a 2MB/1GB hole
in the address range that is not listed by e820 entries, kernel identity
mapping will have a corresponding hole in its 1-1 identity mapping.

If cpa() happens on the kernel identity mapping which falls into these holes,
existing code fails like this:

__change_page_attr_set_clr()
__change_page_attr()
returns 0 because of if (!kpte). But doesn't
set cpa->numpages and cpa->pfn.
cpa_process_alias()
uses uninitialized cpa->pfn (random value)
which can potentially lead to changing the page
attribute of kernel text/data, kernel identity
mapping of RAM pages etc. oops!

This bug was easily exposed by another PAT patch which was doing
cpa() more often on kernel identity mapping holes (physical range between
max_low_pfn_mapped and 4GB), where in here it was setting the
cache disable attribute(PCD) for kernel identity mappings aswell.

Fix cpa() to handle the kernel identity mapping holes. Retain
the WARN() for cpa() calls to other not present address ranges
(kernel-text/data, ioremap() addresses)

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: uv cleanup, build fix #2
Ingo Molnar [Wed, 21 Jan 2009 10:30:07 +0000 (11:30 +0100)]
x86: uv cleanup, build fix #2

Fix more build-failure fallout from the UV cleanup - the UV drivers
were not updated to include <asm/uv/uv.h>.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: make x86_32 use tlb_64.c, build fix, clean up X86_L1_CACHE_BYTES
Ingo Molnar [Wed, 21 Jan 2009 09:32:44 +0000 (10:32 +0100)]
x86: make x86_32 use tlb_64.c, build fix, clean up X86_L1_CACHE_BYTES

Fix:

  arch/x86/mm/tlb.c:47: error: ‘CONFIG_X86_INTERNODE_CACHE_BYTES’ undeclared here (not in a function)

The CONFIG_X86_INTERNODE_CACHE_BYTES symbol is only defined on 64-bit,
because vsmp support is 64-bit only. Define it on 32-bit too - where it
will always be equal to X86_L1_CACHE_BYTES.

Also move the default of X86_L1_CACHE_BYTES (which is separate from the
more commonly used L1_CACHE_SHIFT kconfig symbol) from 128 bytes to
64 bytes.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agodma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.
Paul Mundt [Wed, 21 Jan 2009 09:51:53 +0000 (18:51 +0900)]
dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.

When doing large allocations (larger than the per-device coherent area)
the generic memory allocators are silently fallen back on regardless of
consideration for the per-device constraints.

In the DMA_MEMORY_EXCLUSIVE case falling back on generic memory is not
an option, as it tends not to be addressable by the DMA hardware in
question. This issue showed up with the 8139too breakage on the
Dreamcast, where non-addressable buffers were silently allocated due to
the size mismatch calculation -- while it should have simply errored out
upon being unable to satisfy the allocation with the given device
constraints.

This restores fall back behaviour to what it was before the oversized
request change caused multiple regressions.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agodma-coherent: per-device coherent area is in pages, not bytes.
Adrian McMenamin [Wed, 21 Jan 2009 09:47:38 +0000 (18:47 +0900)]
dma-coherent: per-device coherent area is in pages, not bytes.

Commit 58c6d3dfe436eb8cfb451981d8fdc9044eaf42da ("dma-coherent: catch
oversized requests to dma_alloc_from_coherent()") attempted to add a
sanity check to bail out on allocations larger than the coherent area.

Unfortunately when this was implemented, the fact the coherent area
is tracked in pages rather than bytes was overlooked, which subsequently
broke every single dma_alloc_from_coherent() user, forcing the allocation
silently through generic memory instead.

Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk >
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoMerge branch 'x86/mm' into core/percpu
Ingo Molnar [Wed, 21 Jan 2009 09:39:51 +0000 (10:39 +0100)]
Merge branch 'x86/mm' into core/percpu

Conflicts:
arch/x86/mm/fault.c

17 years agosh: fix unaligned and nonexistent address handling
SUGIOKA Toshinobu [Wed, 21 Jan 2009 00:42:10 +0000 (09:42 +0900)]
sh: fix unaligned and nonexistent address handling

unaligned and nonexistent address causes wrong exception
handling in traps_32.c(handle_unaligned_access).

'handle_unalinged_ins' should return -EFAULT if address error
is fixed up with kernel exception table, otherwise
'handle_unaligned_access' increases already fixed program counter
and then crash.

for example
   ioctl(fd, TCGETA, (struct termio *)-1)
never return and stay in TASK_UNINTERRUPTIBLE state forever
in my kernel.

Signed-off-by: SUGIOKA Toshinobu <sugioka@itonet.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agox86: uv cleanup, build fix
Ingo Molnar [Wed, 21 Jan 2009 09:24:27 +0000 (10:24 +0100)]
x86: uv cleanup, build fix

Fix:

 arch/x86/mm/srat_64.c: In function ‘acpi_numa_processor_affinity_init’:
 arch/x86/mm/srat_64.c:141: error: implicit declaration of function ‘get_uv_system_type’
 arch/x86/mm/srat_64.c:141: error: ‘UV_X2APIC’ undeclared (first use in this function)
 arch/x86/mm/srat_64.c:141: error: (Each undeclared identifier is reported only once
 arch/x86/mm/srat_64.c:141: error: for each function it appears in.)

A couple of UV definitions were moved to asm/uv/uv.h, but srat_64.c did
not include that header. Add it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, mm: move tlb.c to arch/x86/mm/
Ingo Molnar [Wed, 21 Jan 2009 09:08:53 +0000 (10:08 +0100)]
x86, mm: move tlb.c to arch/x86/mm/

Impact: cleanup

Now that it's unified, move the (SMP) TLB flushing code from arch/x86/kernel/
to arch/x86/mm/, where it belongs logically.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'cpus4096' into core/percpu
Ingo Molnar [Wed, 21 Jan 2009 09:14:17 +0000 (10:14 +0100)]
Merge branch 'cpus4096' into core/percpu

Conflicts:
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
arch/x86/kernel/tlb_32.c

Merge it here because both the cpumask changes and the ongoing percpu
work is touching the TLB code. The percpu changes take precedence, as
they eliminate tlb_32.c altogether.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc...
Ingo Molnar [Wed, 21 Jan 2009 09:04:52 +0000 (10:04 +0100)]
Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu

17 years agonommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases().
Paul Mundt [Wed, 21 Jan 2009 08:45:47 +0000 (17:45 +0900)]
nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases().

Presently we do not support these interfaces, so make them BUG() wrappers
as per the rest of the vmap interface on nommu. Fixes up the modular xfs
build.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: fix sh-sci / early printk build on sh7723
Magnus Damm [Tue, 20 Jan 2009 03:18:22 +0000 (12:18 +0900)]
sh: fix sh-sci / early printk build on sh7723

This patch adds the SCSPTR register to the sh-sci driver in
the case of sh7723 to make sure early printk builds properly.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: export the sh7343 JPU to user space
Magnus Damm [Thu, 25 Dec 2008 09:55:26 +0000 (18:55 +0900)]
sh: export the sh7343 JPU to user space

This patch exports the sh7343 JPU to user space using uio_pdrv_genirq,
very similar to the sh7722 JPU patch by Hayama-san.

While at it fix up the end of the sh7722 JPU iomem resource.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: update defconfigs.
Paul Mundt [Tue, 13 Jan 2009 03:38:06 +0000 (12:38 +0900)]
sh: update defconfigs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoserial: sh-sci: Fix up SH7720/SH7721 SCI build.
Paul Mundt [Fri, 9 Jan 2009 07:32:08 +0000 (16:32 +0900)]
serial: sh-sci: Fix up SH7720/SH7721 SCI build.

Missing definitions for PORT_xxx defs.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Kill off obsolete busses from arch/sh/Kconfig.
Paul Mundt [Fri, 9 Jan 2009 06:12:30 +0000 (15:12 +0900)]
sh: Kill off obsolete busses from arch/sh/Kconfig.

ISA can go away now that the hd6446x PCMCIA drivers no longer exist
in-tree. The rationale for enabling CONFIG_ISA in the first place is
likewise no longer valid given that the subsystem has changed since
the time that assertion was valid.

While we are at it, kill off SBUS, MCA, EISA, and so on. These are
not supported and never will be.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: sh7785lcr/highlander/hp6xx need linux/irq.h.
Paul Mundt [Fri, 9 Jan 2009 06:11:58 +0000 (15:11 +0900)]
sh: sh7785lcr/highlander/hp6xx need linux/irq.h.

More build fixes..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Migo-R MMC support using spi_gpio and mmc_spi.
Magnus Damm [Wed, 7 Jan 2009 11:36:10 +0000 (20:36 +0900)]
sh: Migo-R MMC support using spi_gpio and mmc_spi.

This patch adds CN9 MMC support for MigoR using the mmc_spi
driver on top of the bitbanging spi_gpio driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoRevert "x86: signal: change type of paramter for sys_rt_sigreturn()"
Ingo Molnar [Tue, 20 Jan 2009 08:31:49 +0000 (09:31 +0100)]
Revert "x86: signal: change type of paramter for sys_rt_sigreturn()"

This reverts commit 4217458dafaa57d8e26a46f5d05ab8c53cf64191.

Justin Madru bisected this commit, it was causing weird Firefox
crashes.

The reason is that GCC mis-optimizes (re-uses) the on-stack parameters of
the calling frame, which corrupts the syscall return pt_regs state and
thus corrupts user-space register state.

So we go back to the slightly less clean but more optimization-safe
method of getting to pt_regs. Also add a comment to explain this.

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

Reported-and-bisected-by: Justin Madru <jdm64@gawab.com>
Tested-by: Justin Madru <jdm64@gawab.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: use early clobbers in usercopy*.c
Andi Kleen [Fri, 16 Jan 2009 14:22:11 +0000 (15:22 +0100)]
x86: use early clobbers in usercopy*.c

Impact: fix rare (but currently harmless) miscompile with certain configs and gcc versions

Hugh Dickins noticed that strncpy_from_user() was miscompiled
in some circumstances with gcc 4.3.

Thanks to Hugh's excellent analysis it was easy to track down.

Hugh writes:

> Try building an x86_64 defconfig 2.6.29-rc1 kernel tree,
> except not quite defconfig, switch CONFIG_PREEMPT_NONE=y
> and CONFIG_PREEMPT_VOLUNTARY off (because it expands a
> might_fault() there, which hides the issue): using a
> gcc 4.3.2 (I've checked both openSUSE 11.1 and Fedora 10).
>
> It generates the following:
>
0000000000000000 <__strncpy_from_user>:
>    0:   48 89 d1                mov    %rdx,%rcx
>    3:   48 85 c9                test   %rcx,%rcx
>    6:   74 0e                   je     16 <__strncpy_from_user+0x16>
>    8:   ac                      lods   %ds:(%rsi),%al
>    9:   aa                      stos   %al,%es:(%rdi)
>    a:   84 c0                   test   %al,%al
>    c:   74 05                   je     13 <__strncpy_from_user+0x13>
>    e:   48 ff c9                dec    %rcx
>   11:   75 f5                   jne    8 <__strncpy_from_user+0x8>
>   13:   48 29 c9                sub    %rcx,%rcx
>   16:   48 89 c8                mov    %rcx,%rax
>   19:   c3                      retq
>
> Observe that "sub %rcx,%rcx; mov %rcx,%rax", whereas gcc 4.2.1
> (and many other configs) say "sub %rcx,%rdx; mov %rdx,%rax".
> Isn't it returning 0 when it ought to be returning strlen?

The asm constraints for the strncpy_from_user() result were missing an
early clobber, which tells gcc that the last output arguments
are written before all input arguments are read.

Also add more early clobbers in the rest of the file and fix 32-bit
usercopy.c in the same way.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
[ since this API is rarely used and no in-kernel user relies on a 'len'
  return value (they only rely on negative return values) this miscompile
  was never noticed in the field. But it's worth fixing it nevertheless. ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosh: ap325rxa MMC support using spi_gpio and mmc_spi
Magnus Damm [Wed, 7 Jan 2009 11:35:21 +0000 (20:35 +0900)]
sh: ap325rxa MMC support using spi_gpio and mmc_spi

This patch adds CN3 MMC support for ap325rxa using the mmc_spi
driver on top of the bitbanging spi_gpio driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: mach-x3proto: needs linux/irq.h.
Paul Mundt [Wed, 7 Jan 2009 08:45:02 +0000 (17:45 +0900)]
sh: mach-x3proto: needs linux/irq.h.

Since commit ba84be2338d3a2b6020d39279335bb06fcd332e1
("remove linux/hardirq.h from asm-generic/local.h"), the asm/irq.h
definitions that mach-x3proto/setup.c depends on are no longer available,
causing the build to die. So, include linux/irq.h explicitly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Drop the BKL from sys_execve() on SH-5.
Paul Mundt [Wed, 7 Jan 2009 08:42:32 +0000 (17:42 +0900)]
sh: Drop the BKL from sys_execve() on SH-5.

Brings it in line with the SH implementation, the BKL is not
necessary here.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: convert rsk7203 to use smsc911x.
Steve Glendinning [Wed, 7 Jan 2009 08:22:24 +0000 (17:22 +0900)]
sh: convert rsk7203 to use smsc911x.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: convert magicpanelr2 platform to use smsc911x.
Steve Glendinning [Wed, 7 Jan 2009 08:21:29 +0000 (17:21 +0900)]
sh: convert magicpanelr2 platform to use smsc911x.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: convert ap325rxa platform to use smsc911x.
Steve Glendinning [Wed, 7 Jan 2009 08:20:07 +0000 (17:20 +0900)]
sh: convert ap325rxa platform to use smsc911x.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: mach-migor: Add tw9910 support.
Kuninori Morimoto [Mon, 5 Jan 2009 07:25:16 +0000 (16:25 +0900)]
sh: mach-migor: Add tw9910 support.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: mach-migor: Delete soc_camera_platform setup.
Kuninori Morimoto [Tue, 2 Dec 2008 07:42:24 +0000 (16:42 +0900)]
sh: mach-migor: Delete soc_camera_platform setup.

Migo-R can use ov772x camera driver in Linux 2.6.29.
Therefore, soc_camera_platform setting is no longer needed.
This patch removes it.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: mach-migor: Add ov772x support.
Kuninori Morimoto [Tue, 2 Dec 2008 07:38:34 +0000 (16:38 +0900)]
sh: mach-migor: Add ov772x support.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoasm-sh/posix_types_{32,64}.h: drop __GLIBC__/__USE_ALL usage
Mike Frysinger [Fri, 2 Jan 2009 07:52:57 +0000 (02:52 -0500)]
asm-sh/posix_types_{32,64}.h: drop __GLIBC__/__USE_ALL usage

Bring sh in line with all the other ports.  Not sure how sh missed this
change as all the other arches were being updated ...

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoarch/sh/mm: Move a dereference below a NULL test
Julia Lawall [Fri, 26 Dec 2008 07:27:24 +0000 (08:27 +0100)]
arch/sh/mm: Move a dereference below a NULL test

If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/).

// <smpl>
@disable is_null@
identifier f;
expression E;
identifier fld;
statement S;
@@

+ if (E == NULL) S
  f(...,E->fld,...);
- if (E == NULL) S

@@
identifier f;
expression E;
identifier fld;
statement S;
@@

+ if (!E) S
  f(...,E->fld,...);
- if (!E) S
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agox86: rename tlb_64.c to tlb.c
Tejun Heo [Wed, 21 Jan 2009 08:26:06 +0000 (17:26 +0900)]
x86: rename tlb_64.c to tlb.c

Impact: file rename

tlb_64.c is now the tlb code for both 32 and 64.  Rename it to tlb.c.

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: make x86_32 use tlb_64.c
Tejun Heo [Wed, 21 Jan 2009 08:26:06 +0000 (17:26 +0900)]
x86: make x86_32 use tlb_64.c

Impact: less contention when issuing invalidate IPI, cleanup

Make x86_32 use the same tlb code as 64bit.  The 64bit code uses
multiple IPI vectors for tlb shootdown to reduce contention.  This
patch makes x86_32 allocate the same 8 IPIs as x86_64 and share the
code paths.

Note that the usage of asmlinkage is inconsistent for x86_32 and 64
and calls for further cleanup.  This has been noted with a FIXME
comment in tlb_64.c.

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: prepare for tlb merge
Tejun Heo [Wed, 21 Jan 2009 08:26:06 +0000 (17:26 +0900)]
x86: prepare for tlb merge

Impact: clean up, ipi vector number reordering for x86_32

Make the following changes to prepare for tlb merge.

* reorder x86_32 ip vectors

* adjust tlb_32.c and tlb_64.c such that their logics coincide exactly
- on spurious invalidate ipi, tlb_32 acks the irq
- tlb_64 now has proper memory barriers around clearing
          flush_cpumask (no change in generated code)

* unexport flush_tlb_page from tlb_32.c, there's no user

* use unsigned int for cpu id

* drop unnecessary includes from tlb_64.c

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: uv cleanup
Tejun Heo [Wed, 21 Jan 2009 08:26:06 +0000 (17:26 +0900)]
x86: uv cleanup

Impact: cleanup

Make the following uv related cleanups.

* collect visible uv related definitions and interfaces into uv/uv.h
  and use it.  this cleans up the messy situation where on 64bit, uv
  is defined properly, on 32bit generic it's dummy and on the rest
  undefined.  after this clean up, uv is defined on 64 and dummy on
  32.

* update uv_flush_tlb_others() such that it takes cpumask of
  to-be-flushed cpus as argument, instead of that minus self, and
  returns yet-to-be-flushed cpumask, instead of modifying the passed
  in parameter.  this interface change will ease dummy implementation
  of uv_flush_tlb_others() and makes uv tlb flush related stuff
  defined in tlb_uv proper.

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: merge irq_regs.h
Brian Gerst [Wed, 21 Jan 2009 08:26:06 +0000 (17:26 +0900)]
x86: merge irq_regs.h

Impact: cleanup, better irq_regs code generation for x86_64

Make 64-bit use the same optimizations as 32-bit.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: merge mmu_context.h
Brian Gerst [Wed, 21 Jan 2009 08:26:06 +0000 (17:26 +0900)]
x86: merge mmu_context.h

Impact: cleanup

tj: * changed cpu to unsigned as was done on mmu_context_64.h as cpu
      id is officially unsigned int
    * added missing ';' to 32bit version of deactivate_mm()

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: set %fs to __KERNEL_PERCPU unconditionally for x86_32
Brian Gerst [Wed, 21 Jan 2009 08:26:05 +0000 (17:26 +0900)]
x86: set %fs to __KERNEL_PERCPU unconditionally for x86_32

Impact: cleanup

%fs is currently set to __KERNEL_DS at boot, and conditionally
switched to __KERNEL_PERCPU for secondary cpus.  Instead, initialize
GDT_ENTRY_PERCPU to the same attributes as GDT_ENTRY_KERNEL_DS and
set %fs to __KERNEL_PERCPU unconditionally.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: fix percpu_write with 64-bit constants
Brian Gerst [Wed, 21 Jan 2009 08:26:05 +0000 (17:26 +0900)]
x86: fix percpu_write with 64-bit constants

Impact: slightly better code generation for percpu_to_op()

The processor will sign-extend 32-bit immediate values in 64-bit
operations.  Use the 'e' constraint ("32-bit signed integer constant,
or a symbolic reference known to fit that range") for 64-bit constants.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: clean up gdt_page definition
Brian Gerst [Wed, 21 Jan 2009 08:26:05 +0000 (17:26 +0900)]
x86: clean up gdt_page definition

Impact: cleanup && more compact percpu area layout with future changes

Move 64-bit GDT to page-aligned section and clean up comment
formatting.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agox86: update canary handling during switch
Tejun Heo [Wed, 21 Jan 2009 08:26:05 +0000 (17:26 +0900)]
x86: update canary handling during switch

Impact: cleanup

In switch_to(), instead of taking offset to irq_stack_union.stack,
make it a proper percpu access using __percpu_arg() and per_cpu_var().

Signed-off-by: Tejun Heo <tj@kernel.org>
17 years agoALSA: sscape: use common MPU401 macros
Krzysztof Helt [Wed, 21 Jan 2009 07:19:27 +0000 (08:19 +0100)]
ALSA: sscape: use common MPU401 macros

Remove local macros which redefines the
common ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: cmi8330: add OPL3 support
Krzysztof Helt [Wed, 21 Jan 2009 07:18:16 +0000 (08:18 +0100)]
ALSA: cmi8330: add OPL3 support

Add OPL3 handling to the driver
and volume control for FM synthesis.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years ago[ARM] pxa/magician: use named initializers for gpio_keys setup
Philipp Zabel [Sat, 17 Jan 2009 17:45:44 +0000 (18:45 +0100)]
[ARM] pxa/magician: use named initializers for gpio_keys setup

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/magician: Use SZ_64M for physmap resource
Philipp Zabel [Sat, 17 Jan 2009 17:45:43 +0000 (18:45 +0100)]
[ARM] pxa/magician: Use SZ_64M for physmap resource

Improves readability over the custom #define.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/magician: enable power I2C for max158xx
Philipp Zabel [Sat, 17 Jan 2009 17:45:42 +0000 (18:45 +0100)]
[ARM] pxa/magician: enable power I2C for max158xx

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/magician: setup SSP1 pins for audio
Philipp Zabel [Sat, 17 Jan 2009 17:45:41 +0000 (18:45 +0100)]
[ARM] pxa/magician: setup SSP1 pins for audio

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/magician: Enable backlight
Philipp Zabel [Sat, 17 Jan 2009 17:45:40 +0000 (18:45 +0100)]
[ARM] pxa/magician: Enable backlight

Magician uses the generic PWM backlight driver,
so select HAVE_PWM.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/magician: Update defconfig
Philipp Zabel [Sat, 17 Jan 2009 17:01:04 +0000 (18:01 +0100)]
[ARM] pxa/magician: Update defconfig

This is the touched up result of make magician_defconfig in 2.6.29-rc2.
- Enabled USB host and bluetooth: magician has a CSR BlueCore3 connected
  to the PXA27x OHCI internally.
- Made I2C built-in.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: update xm_x2xx_defconfig
Mike Rapoport [Wed, 3 Dec 2008 07:38:07 +0000 (09:38 +0200)]
[ARM] pxa: update xm_x2xx_defconfig

Update xm_x2xx_defconfig to allow use of EM-X270 updated features

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/em-x270: updates for 2.6.29
Mike Rapoport [Wed, 3 Dec 2008 07:38:10 +0000 (09:38 +0200)]
[ARM] pxa/em-x270: updates for 2.6.29

The patch includes the following updates to EM-X270:
- Added DA9030 support
- Added NOR flash support
- Added QCI with mt9m112 sensor support
- Updated LCD support

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: PalmLD initial support
Marek Vasut [Thu, 20 Nov 2008 21:50:46 +0000 (22:50 +0100)]
[ARM] pxa: PalmLD initial support

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: PalmT5 initial support
Marek Vasut [Wed, 19 Nov 2008 23:58:38 +0000 (00:58 +0100)]
[ARM] pxa: PalmT5 initial support

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years agoALSA: hda - Remove old models for STAC9872 from the document
Takashi Iwai [Wed, 21 Jan 2009 06:43:23 +0000 (07:43 +0100)]
ALSA: hda - Remove old models for STAC9872 from the document

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Clean up old VAIO hack codes for STAC9872
Takashi Iwai [Wed, 21 Jan 2009 06:41:22 +0000 (07:41 +0100)]
ALSA: hda - Clean up old VAIO hack codes for STAC9872

Get rid of old VAIO static hack codes for STAC9872 and use the BIOS
auto-parser for all models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'topic/hda' into next/hda
Takashi Iwai [Wed, 21 Jan 2009 06:34:08 +0000 (07:34 +0100)]
Merge branch 'topic/hda' into next/hda

17 years agoklist.c: bit 0 in pointer can't be used as flag
Jesper Nilsson [Wed, 14 Jan 2009 10:19:08 +0000 (11:19 +0100)]
klist.c: bit 0 in pointer can't be used as flag

The commit a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86
(klist: don't iterate over deleted entries) introduces use of the
low bit in a pointer to indicate if the knode is dead or not,
assuming that this bit is always free.

This is not true for all architectures, CRIS for example may align data
on byte borders.

The result is a bunch of warnings on bootup, devices not being
added correctly etc, reported by Hinko Kocevar <hinko.kocevar@cetrtapot.si>:

------------[ cut here ]------------
WARNING: at lib/klist.c:62 ()
Modules linked in:

Stack from c1fe1cf0:
       c01cc7f4 c1fe1d11 c000eb4e c000e4de 00000000 00000000 c1f4f78f c1f50c2d
       c01d008c c1fdd1a0 c1fdd1a0 c1fe1d38 c0192954 c1fe0000 00000000 c1fe1dc0
       00000002 7fffffff c1fe1da8 c0192d50 c1fe1dc0 00000002 7fffffff c1ff9fcc
Call Trace: [<c000eb4e>] [<c000e4de>] [<c0192954>] [<c0192d50>] [<c001d49e>] [<c000b688>] [<c0192a3c>]
       [<c000b63e>] [<c000b63e>] [<c001a542>] [<c00b55b0>] [<c00411c0>] [<c00b559c>] [<c01918e6>] [<c0191988>]
       [<c01919d0>] [<c00cd9c8>] [<c00cdd6a>] [<c0034178>] [<c000409a>] [<c0015576>] [<c0029130>] [<c0029078>]
       [<c0029170>] [<c0012336>] [<c00b4076>] [<c00b4770>] [<c006d6e4>] [<c006d974>] [<c006dca0>] [<c0028d6c>]
       [<c0028e12>] [<c0006424>] <4>---[ end trace 4eaa2a86a8e2da22 ]---
------------[ cut here ]------------
Repeat ad nauseam.

Wed, Jan 14, 2009 at 12:11:32AM +0100, Bastien ROUCARIES wrote:
> Perhaps using a pointerhackalign trick on this structure where
> #define pointerhackalign(x) __attribute__ ((aligned (x)))
> and declare
> struct klist_node {
> ...
> }  pointerhackalign(2);
>
> Because  __attribute__ ((aligned (x))) could only increase alignment
> it will safe to do that and serve as documentation purpose :)

That works, but we need to do it not for the struct klist_node,
but for the struct we insert into the void * in klist_node,
which is struct klist.

Reported-by: Hinko Kocevar <hinko.kocevar@cetrtapot.si
Cc: Bastien ROUCARIES <roucaries.bastien@gmail.com>
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodebugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n
Inaky Perez-Gonzalez [Tue, 20 Jan 2009 20:17:28 +0000 (12:17 -0800)]
debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n

Toralf Förster <toralf.foerster@gmx.de> reported a build failure in
the WiMAX stack when CONFIG_DEBUG_FS=n

http://linuxwimax.org/pipermail/wimax/2009-January/000449.html

This is due to debugfs_create_size_t() missing an stub that returns
-ENODEV when the DEBUGFS subsystem is not configured in (like the rest
of the debugfs API).

This patch adds said stub.

Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosysfs: fix problems with binary files
Greg Kroah-Hartman [Tue, 20 Jan 2009 23:51:16 +0000 (15:51 -0800)]
sysfs: fix problems with binary files

Some sysfs binary files don't like having 0 passed to them as a size.
Fix this up at the root by just returning to the vfs if userspace asks
us for a zero sized buffer.

Thanks to Pavel Roskin for pointing this out.

Reported-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPNP: fix broken pnp lowercasing for acpi module aliases
Kay Sievers [Thu, 8 Jan 2009 02:06:42 +0000 (03:06 +0100)]
PNP: fix broken pnp lowercasing for acpi module aliases

Based on a patch from Brian, who identified the issue.

Signed-off-by: Bryan Kadzban <bryan@kadzban.is-a-geek.net>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodriver core: Convert '/' to '!' in dev_set_name()
Roland Dreier [Sat, 10 Jan 2009 06:27:42 +0000 (22:27 -0800)]
driver core: Convert '/' to '!' in dev_set_name()

Commit 3ada8b7e ("block: struct device - replace bus_id with dev_name(),
dev_set_name()") deleted the code in register_disk() that changed a '/'
to a '!' in the device name when registering a disk, but dev_set_name()
does not perform this conversion.

This leads to amusing problems with disks that have '/' in their names:
for example a failure to boot with the root partition on a cciss device,
even though the kernel says it knows about the root device:

    VFS: Cannot open root device "cciss/c0d0p6" or unknown-block(0,0)
    Please append a correct "root=" boot option; here are the available partitions:
    6800        71652960 cciss/c0d0 driver: cciss
      6802               1 cciss/c0d0p2
      6805         2931831 cciss/c0d0p5
      6806        34354908 cciss/c0d0p6
    6810        71652960 cciss/c0d1 driver: cciss

Fix this by adding code to change '/' to '!' in dev_set_name() to handle
this until dev_set_name() is converted to use kobject_set_name().

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years ago[ARM] pxa: stop and disable IRQ for each DMA channels at startup
Eric Miao [Wed, 21 Jan 2009 03:29:19 +0000 (11:29 +0800)]
[ARM] pxa: stop and disable IRQ for each DMA channels at startup

Some broken bootloaders will leave the DMA channel state unclean, which
we should really initialize correctly here.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years agoALSA: hda: 83xxx port 0xe DAC selection
Matthew Ranostay [Tue, 20 Jan 2009 21:50:25 +0000 (16:50 -0500)]
ALSA: hda: 83xxx port 0xe DAC selection

On the 92hd8xxx codecs port 0xe needs the connection selected to be the
last DAC in the list.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agogro: Fix merging of paged packets
Herbert Xu [Sat, 17 Jan 2009 19:48:13 +0000 (19:48 +0000)]
gro: Fix merging of paged packets

The previous fix to paged packets broke the merging because it
reset the skb->len before we added it to the merged packet.  This
wasn't detected because it simply resulted in the truncation of
the packet while the missing bit is subsequently retransmitted.

The fix is to store skb->len before we clobber it.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>