]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoLinux 2.6.26-rc2 v2.6.26-rc2
Linus Torvalds [Mon, 12 May 2008 00:09:41 +0000 (17:09 -0700)]
Linux 2.6.26-rc2

17 years agoMerge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
Linus Torvalds [Mon, 12 May 2008 00:09:24 +0000 (17:09 -0700)]
Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  i2c: Convert some more new-style drivers to use module aliasing
  i2c: Match dummy devices by type
  i2c-sibyte: Mark i2c_sibyte_add_bus() as static
  i2c-sibyte: Correct a comment about frequency
  i2c: Improve the functionality documentation
  i2c: Improve smbus-protocol documentation
  i2c-piix4: Blacklist two mainboards
  i2c-piix4: Increase the intitial delay for the ServerWorks CSB5
  i2c-mpc: Compare to NO_IRQ instead of zero

17 years agoAdd new 'cond_resched_bkl()' helper function
Linus Torvalds [Sun, 11 May 2008 23:04:48 +0000 (16:04 -0700)]
Add new 'cond_resched_bkl()' helper function

It acts exactly like a regular 'cond_resched()', but will not get
optimized away when CONFIG_PREEMPT is set.

Normal kernel code is already preemptable in the presense of
CONFIG_PREEMPT, so cond_resched() is optimized away (see commit
02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 "sched: do not do
cond_resched() when CONFIG_PREEMPT").

But when wanting to conditionally reschedule while holding a lock, you
need to use "cond_sched_lock(lock)", and the new function is the BKL
equivalent of that.

Also make fs/locks.c use it.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agosparc32: Fix build.
Robert Reif [Sun, 11 May 2008 22:47:05 +0000 (15:47 -0700)]
sparc32: Fix build.

Fix sparc32 build error due to undefined bool type.

CC [M] fs/ocfs2/dlm/userdlm.o
In file included from include/asm/sigcontext.h:6,
from include/asm/signal.h:5,
from include/linux/signal.h:4,
from fs/ocfs2/dlm/userdlm.c:30:
include/asm/ptrace.h:42: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘pt_regs_is_syscall’
include/asm/ptrace.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘pt_regs_clear_syscall’
make[3]: *** [fs/ocfs2/dlm/userdlm.o] Error 1
make[2]: *** [fs/ocfs2/dlm] Error 2
make[1]: *** [fs/ocfs2] Error 2
make: *** [fs] Error 2

Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoi2c: Convert some more new-style drivers to use module aliasing
Jean Delvare [Sun, 11 May 2008 18:37:06 +0000 (20:37 +0200)]
i2c: Convert some more new-style drivers to use module aliasing

Update 3 more new-style i2c drivers to use standard module aliasing
instead of the old driver_name/type driver matching scheme. These
video drivers aren't used yet so converting them is trivial.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Match dummy devices by type
Jean Delvare [Sun, 11 May 2008 18:37:06 +0000 (20:37 +0200)]
i2c: Match dummy devices by type

As the old driver_name/type matching scheme is going away soon, change
the dummy device mechanism to use the new matching scheme.

This has the downside that dummy i2c clients can no longer choose
their name, they'll all appear as "dummy" in sysfs and in log
messages. I don't think it is a problem in practice though, as there
is little reason to use these i2c clients to log messages.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-sibyte: Mark i2c_sibyte_add_bus() as static
Maciej W. Rozycki [Sun, 11 May 2008 18:37:05 +0000 (20:37 +0200)]
i2c-sibyte: Mark i2c_sibyte_add_bus() as static

The i2c_sibyte_add_bus() function is not called, nor meant to, from
outside, so mark it as static; fixing a sparse warning too.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-sibyte: Correct a comment about frequency
Maciej W. Rozycki [Sun, 11 May 2008 18:37:05 +0000 (20:37 +0200)]
i2c-sibyte: Correct a comment about frequency

The frequency may have been once hardcoded to 100 kHz, but currently it is
passed as an argument to i2c_sibyte_add_bus(), so update the comment to
match code.  While at it, reformat a nearby comment for consistency.  No
functional changes.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Improve the functionality documentation
Jean Delvare [Sun, 11 May 2008 18:37:05 +0000 (20:37 +0200)]
i2c: Improve the functionality documentation

Attempt to make the documentation about the I2C/SMBus functionality
checking API clearer.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c: Improve smbus-protocol documentation
David Brownell [Sun, 11 May 2008 18:37:05 +0000 (20:37 +0200)]
i2c: Improve smbus-protocol documentation

Improve the smbus-protocol documentation file somewhat:

 - Use the names of the SMBus protocol operations (from the 2.0
   specification), not made-up-for-Linux names.

 - Add the name of the call used to execute each operation ... and
   point out that there are mismatches, where functions execute
   different protocol operations than their names specify.

The most confusing examples are that "Read Byte" isn't executed by
i2c_smbus_read_byte(), and that "Write Byte" isn't executed by
i2c_smbus_write_byte().  When coding, that's not as bad as it may
seem; but that case would seem to be worth fixing.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-piix4: Blacklist two mainboards
Jean Delvare [Sun, 11 May 2008 18:37:05 +0000 (20:37 +0200)]
i2c-piix4: Blacklist two mainboards

We had a report that running sensors-detect on a Sapphire AM2RD790
motherbord killed the CPU. While the exact cause is still unknown,
I'd rather play it safe and prevent any access to the SMBus on that
machine by not letting the i2c-piix4 driver attach to the SMBus host
device on that machine. Also blacklist a similar board made by DFI.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-piix4: Increase the intitial delay for the ServerWorks CSB5
David Milburn [Sun, 11 May 2008 18:37:05 +0000 (20:37 +0200)]
i2c-piix4: Increase the intitial delay for the ServerWorks CSB5

Per the PIIX4 errata, there maybe a delay between setting the
start bit in the Smbus Host Controller Register and the transaction
actually starting. If the driver doesn't delay long enough, it
may appear that the transaction is complete when actually it
hasn't started, this may lead to bus collisions.

While 1 ms appears to be enough for most chips, the ServerWorks CSB5
wants 2 ms.

Signed-off-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agoi2c-mpc: Compare to NO_IRQ instead of zero
Jon Smirl [Sun, 11 May 2008 18:37:04 +0000 (20:37 +0200)]
i2c-mpc: Compare to NO_IRQ instead of zero

Alter the mpc i2c driver to use the NO_IRQ symbol instead of the constant
zero when checking for valid interrupts. NO_IRQ=-1 on ppc and NO_IRQ=0 on
powerpc so the checks against zero are not correct.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years ago[CIFS] don't allow demultiplex thread to exit until kthread_stop is called
Steve French [Sun, 11 May 2008 15:53:33 +0000 (15:53 +0000)]
[CIFS] don't allow demultiplex thread to exit until kthread_stop is called

cifs_demultiplex_thread can exit under several conditions:

1) if it's signaled
2) if there's a problem with session setup
3) if kthread_stop is called on it

The first two are problems. If kthread_stop is called on the thread,
there is no guarantee that it will still be up. We need to have the
thread stay up until kthread_stop is called on it.

One option would be to not even try to tear things down until after
kthread_stop is called. However, in the case where there is a problem
setting up the session, there's no real reason to try continuing the
loop.

This patch allows the thread to clean up and prepare for exit under all
three conditions, but it has the thread go to sleep until kthread_stop
is called. This allows us to simplify the shutdown code somewhat since
we can be reasonably sure that the thread won't exit after being
signaled but before kthread_stop is called.

It also removes the places where the thread itself set the tsk variable
since it appeared that it could have a potential race where the thread
might never be shut down.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Acked-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years ago[CIFS] when not using unix extensions, check for and set ATTR_READONLY on create...
Jeff Layton [Fri, 9 May 2008 22:28:02 +0000 (22:28 +0000)]
[CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir

When creating a directory on a CIFS share without POSIX extensions,
and the given mode has no write bits set, set the ATTR_READONLY bit.

When creating a file, set ATTR_READONLY if the create mode has no write
bits set and we're not using unix extensions.

There are some comments about this being problematic due to the VFS
splitting creates into 2 parts. I'm not sure what that's actually
talking about, but I'm assuming that it has something to do with how
mknod is implemented. In the simple case where we have no unix
extensions and we're just creating a regular file, there's no reason
we can't set ATTR_READONLY.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years ago[CIFS] add local struct inode pointer to cifs_setattr
Jeff Layton [Fri, 9 May 2008 21:26:11 +0000 (21:26 +0000)]
[CIFS]  add local struct inode pointer to cifs_setattr

Clean up cifs_setattr a bit by adding a local inode pointer, and
changing all of the direntry->d_inode references to it. This also adds a
bit of micro-optimization. d_inode shouldn't change over the life of
this function, so we only need to dereference it once.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years ago[CIFS] cifs_find_tcp_session cleanup
Cyrill Gorcunov [Fri, 9 May 2008 18:17:21 +0000 (18:17 +0000)]
[CIFS] cifs_find_tcp_session cleanup

This patch cleans up cifs_find_tcp_session so it become
less indented. Also the error of skipping IPv6 matched
addresses fixed.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agousb-serial: Add ThinkOptics WavIT
Bernhard Beck [Sun, 11 May 2008 16:23:13 +0000 (09:23 -0700)]
usb-serial: Add ThinkOptics WavIT

Add ThinkOptics WavIt to cp2101 device table

Signed-off-by: Bernhard Beck <kernel@goodcoffee.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sun, 11 May 2008 16:55:48 +0000 (09:55 -0700)]
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:
  sparc: Fix debugger syscall restart interactions.
  sparc: Fix ptrace() detach.
  sparc32: Don't twiddle PT_DTRACE in exec.
  sparc video: remove open boot prom code

17 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Sun, 11 May 2008 16:52:45 +0000 (09:52 -0700)]
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:
  [libata] revert new check-ready Status register logic

17 years ago[SCSI] aha152x: Fix oops on module removal
James Bottomley [Sat, 10 May 2008 19:08:40 +0000 (14:08 -0500)]
[SCSI] aha152x: Fix oops on module removal

Reported-by: Frank de Jong <frapex@xs4all.nl>
> after trying to unload the module:
> BUG: unable to handle kernel paging request at 00100100
> IP: [<fb9ff667>] :aha152x:aha152x_exit+0x47/0x6a
> *pde = 00000000
> Oops: 0000 [#1] PREEMPT SMP
> Modules linked in: aha152x(-) w83781d hwmon_vid tun ne 8390 bonding
> usb_storage snd_usb_audio snd_usb_lib snd_rawmidi pwc snd_seq_device
> compat_ioctl32 snd_hwdep videodev v4l1_compat 3c59x mii intel_agp
> agpgart snd_pcm_oss snd_pcm snd_timer snd_page_alloc snd_mixer_oss snd
>
> Pid: 2837, comm: rmmod Not tainted (2.6.25.3 #1)
> EIP: 0060:[<fb9ff667>] EFLAGS: 00210212 CPU: 0
> EIP is at aha152x_exit+0x47/0x6a [aha152x]
> EAX: 00000001 EBX: 000ffdc4 ECX: f7c517a8 EDX: 00000001
> ESI: 00000000 EDI: 00000003 EBP: e7880000 ESP: e7881f58
>   DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> Process rmmod (pid: 2837, ti=e7880000 task=f27eb580 task.ti=e7880000)
> Stack: fba03700 c01419d2 31616861 00783235 e795ee70 c0157709 b7f24000 e79ae000
>         c0158271 ffffffff b7f25000 e79ae004 e795e370 b7f25000 e795e37c e795e370
>         009ae000 fba03700 00000880 e7881fa8 00000000 bf93ec20 bf93ec20 c0102faa
> Call Trace:
>   [<c01419d2>] sys_delete_module+0x112/0x1a0
>   [<c0157709>] remove_vma+0x39/0x50
>   [<c0158271>] do_munmap+0x181/0x1f0
>   [<c0102faa>] sysenter_past_esp+0x5f/0x85
>   [<c0490000>] rsc_parse+0x0/0x3c0

The problem is that the driver calls aha152x_release() under a
list_for_each_entry().  Unfortunately, aha152x_release() deletes from
the list in question.  Fix this by using list_for_each_entry_safe().

Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years ago[SCSI] aha152x: fix init suspiciously returned 1, it should follow 0/-E convention
James Bottomley [Sat, 10 May 2008 13:33:58 +0000 (08:33 -0500)]
[SCSI] aha152x: fix init suspiciously returned 1, it should follow 0/-E convention

Reported-by: Frank de Jong <frapex@xs4all.nl>
> [1.] One line summary of the problem:
> linux-2.6.25.3, aha152x'->init suspiciously returned 1, it should
> follow 0/-E convention. The module / driver works okay. Unloading the
> module is impossible.

The driver is apparently returning 0 on failure and 1 on success.
That's a bit unfortunate.  Fix it by altering to -ENODEV and 0.

Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
17 years agosparc: Fix debugger syscall restart interactions.
David S. Miller [Sun, 11 May 2008 09:07:19 +0000 (02:07 -0700)]
sparc: Fix debugger syscall restart interactions.

So, forever, we've had this ptrace_signal_deliver implementation
which tries to handle all of the nasties that can occur when the
debugger looks at a process about to take a signal.  It's meant
to address all of these issues inside of the kernel so that the
debugger need not be mindful of such things.

Problem is, this doesn't work.

The idea was that we should do the syscall restart business first, so
that the debugger captures that state.  Otherwise, if the debugger for
example saves the child's state, makes the child execute something
else, then restores the saved state, we won't handle the syscall
restart properly because we lose the "we're in a syscall" state.

The code here worked for most cases, but if the debugger actually
passes the signal through to the child unaltered, it's possible that
we would do a syscall restart when we shouldn't have.

In particular this breaks the case of debugging a process under a gdb
which is being debugged by yet another gdb.  gdb uses sigsuspend
to wait for SIGCHLD of the inferior, but if gdb itself is being
debugged by a top-level gdb we get a ptrace_stop().  The top-level gdb
does a PTRACE_CONT with SIGCHLD to let the inferior gdb see the
signal.  But ptrace_signal_deliver() assumed the debugger would cancel
out the signal and therefore did a syscall restart, because the return
error was ERESTARTNOHAND.

Fix this by simply making ptrace_signal_deliver() a nop, and providing
a way for the debugger to control system call restarting properly:

1) Report a "in syscall" software bit in regs->{tstate,psr}.
   It is set early on in trap entry to a system call and is fully
   visible to the debugger via ptrace() and regsets.

2) Test this bit right before doing a syscall restart.  We have
   to do a final recheck right after get_signal_to_deliver() in
   case the debugger cleared the bit during ptrace_stop().

3) Clear the bit in trap return so we don't accidently try to set
   that bit in the real register.

As a result we also get a ptrace_{is,clear}_syscall() for sparc32 just
like sparc64 has.

M68K has this same exact bug, and is now the only other user of the
ptrace_signal_deliver hook.  It needs to be fixed in the same exact
way as sparc.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Fix ptrace() detach.
David S. Miller [Sun, 11 May 2008 04:11:23 +0000 (21:11 -0700)]
sparc: Fix ptrace() detach.

Forever we had a PTRACE_SUNOS_DETACH which was unconditionally
recognized, regardless of the personality of the process.

Unfortunately, this value is what ended up in the GLIBC sys/ptrace.h
header file on sparc as PTRACE_DETACH and PT_DETACH.

So continue to recognize this old value.  Luckily, it doesn't conflict
with anything we actually care about.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoRemove *.rej pattern from .gitignore
S.Çağlar Onur [Fri, 2 May 2008 11:10:08 +0000 (14:10 +0300)]
Remove *.rej pattern from .gitignore

With commit 3f1b0e1f287547903f11fa1e6de7d2765597766e ".gitignore update"
Linus's current git tree starts to ignore any "*.rej" files.
So "git status" no longer shows these files, but the ones who works with
quilt patchsets, this not makes life easier as expected.
Because sometimes a work flow (at least for me) requires
"quilt push -f" followed by "git status" to see unresolved merge
conflicts, work on these conflicts to correct them and finalize
the patch with "quilt refresh".

And if there are some "*.rej" files exists in tree, for whatever
reason, this means something goes really wrong there and i think
this situation not deserves to be ignored.

Signed-off-by: S.Çağlar Onur <caglar@pardus.org.tr>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agoMAINTAINERS: document names of new kbuild trees
Sam Ravnborg [Sun, 11 May 2008 08:07:03 +0000 (10:07 +0200)]
MAINTAINERS: document names of new kbuild trees

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agokbuild: disable modpost warnings for linkonce sections
Andi Kleen [Thu, 8 May 2008 11:41:11 +0000 (13:41 +0200)]
kbuild: disable modpost warnings for linkonce sections

Disable modpost warnings for linkonce sections

My build gives lots of warnings like

WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

But for .linkonce. duplicated sections are actually ok and expected.
So just disable the warning for this case.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agokbuild: escape meta characters in regular expression in make TAGS
Masatake YAMATO [Wed, 7 May 2008 07:04:31 +0000 (16:04 +0900)]
kbuild: escape meta characters in regular expression in make TAGS

Alexey Dobriyan <adobriyan@gmail.com> introduced a code adds
menuconfig SOMETHING in Kconfig to tags output when you did "make tags".

See http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80ff26241623875636674a31c0540a78c0fb5433

"make tags" may work fine with his code. However make TAGS doesn't work well
because etags command requires backslashes to escape meta characters like
`(', `)' and `|'.

Here is a patch.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sun, 11 May 2008 04:14:05 +0000 (21:14 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier.
  [ARM] Orion: clean up addr-map.c after window setting code purge
  [ARM] Orion: pass proper t_clk into mv643xx_eth
  [ARM] Orion: use mv643xx_eth driver mbus window handling
  [ARM] pxa: Fix RCSR handling
  [ARM] lubbock: fix compilation
  [ARM] 5032/1: Added cpufreq support for pxa27x CPU
  [ARM] 5031/1: Indentation correction in cpu-pxa.c.
  [ARM] 5028/1: pxafb: fix broken "backward compatibility way" in framebuffer
  [ARM] 4882/2: Correction for S3C2410 clkout generation
  [ARM] 5027/1: Fixed random memory corruption on pxa suspend cycle.
  [ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver
  [ARM] 5023/1: Fix broken gpio interrupts on ep93xx
  ns9xxx: fix sparse warning
  ns9xxx: check for irq lockups
  ns9xxx: fix handle_prio_irq to unmask irqs with lower priority

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
Linus Torvalds [Sun, 11 May 2008 04:10:48 +0000 (21:10 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: rdc: leds build/config fix
  x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)
  x86: revert commit 709f744 ("x86: bitops asm constraint fixes")
  x86: restrict keyboard io ports reservation to make ipmi driver work
  x86: fix fpu restore from sig return
  x86: remove spew print out about bus to node mapping
  x86: revert printk format warning change which is for linux-next
  x86: cleanup PAT cpu validation
  x86: geode: define geode_has_vsa2() even if CONFIG_MGEODE_LX is not set
  x86: GEODE: cache results from geode_has_vsa2() and uninline
  x86: revert geode config dependency

17 years agoBKL: revert back to the old spinlock implementation
Linus Torvalds [Sun, 11 May 2008 03:58:02 +0000 (20:58 -0700)]
BKL: revert back to the old spinlock implementation

The generic semaphore rewrite had a huge performance regression on AIM7
(and potentially other BKL-heavy benchmarks) because the generic
semaphores had been rewritten to be simple to understand and fair.  The
latter, in particular, turns a semaphore-based BKL implementation into a
mess of scheduling.

The attempt to fix the performance regression failed miserably (see the
previous commit 00b41ec2611dc98f87f30753ee00a53db648d662 'Revert
"semaphore: fix"'), and so for now the simple and sane approach is to
instead just go back to the old spinlock-based BKL implementation that
never had any issues like this.

This patch also has the advantage of being reported to fix the
regression completely according to Yanmin Zhang, unlike the semaphore
hack which still left a couple percentage point regression.

As a spinlock, the BKL obviously has the potential to be a latency
issue, but it's not really any different from any other spinlock in that
respect.  We do want to get rid of the BKL asap, but that has been the
plan for several years.

These days, the biggest users are in the tty layer (open/release in
particular) and Alan holds out some hope:

  "tty release is probably a few months away from getting cured - I'm
   afraid it will almost certainly be the very last user of the BKL in
   tty to get fixed as it depends on everything else being sanely locked."

so while we're not there yet, we do have a plan of action.

Tested-by: Yanmin Zhang <yanmin_zhang@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Alexander Viro <viro@ftp.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoRevert "semaphore: fix"
Linus Torvalds [Sun, 11 May 2008 03:43:22 +0000 (20:43 -0700)]
Revert "semaphore: fix"

This reverts commit bf726eab3711cf192405d21688a4b21e07b6188a, as it has
been reported to cause a regression with processes stuck in __down(),
apparently because some missing wakeup.

Quoth Sven Wegener:
 "I'm currently investigating a regression that has showed up with my
  last git pull yesterday.  Bisecting the commits showed bf726e
  "semaphore: fix" to be the culprit, reverting it fixed the issue.

  Symptoms: During heavy filesystem usage (e.g.  a kernel compile) I get
  several compiler processes in uninterruptible sleep, blocking all i/o
  on the filesystem.  System is an Intel Core 2 Quad running a 64bit
  kernel and userspace.  Filesystem is xfs on top of lvm.  See below for
  the output of sysrq-w."

See

http://lkml.org/lkml/2008/5/10/45

for full report.

In the meantime, we can just fix the BKL performance regression by
reverting back to the good old BKL spinlock implementation instead,
since any sleeping lock will generally perform badly, especially if it
tries to be fair.

Reported-by: Sven Wegener <sven.wegener@stealer.net>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMake <asm-x86/spinlock.h> use ACCESS_ONCE()
Linus Torvalds [Sun, 11 May 2008 02:52:43 +0000 (19:52 -0700)]
Make <asm-x86/spinlock.h> use ACCESS_ONCE()

..instead of cooking up its own uglier local version of it.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMove ACCESS_ONCE() to <linux/compiler.h>
Linus Torvalds [Sun, 11 May 2008 02:51:16 +0000 (19:51 -0700)]
Move ACCESS_ONCE() to <linux/compiler.h>

It actually makes much more sense there, and we do tend to need it for
non-RCU usage too.  Moving it to <linux/compiler.h> will allow some
other cases that have open-coded the same logic to use the same helper
function that RCU has used.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86: rdc: leds build/config fix
Ingo Molnar [Thu, 1 May 2008 01:46:22 +0000 (03:46 +0200)]
x86: rdc: leds build/config fix

select NEW_LEDS for now until the Kconfig dependencies have been
fixed.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17 years agox86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)
Vaidyanathan Srinivasan [Mon, 5 May 2008 13:52:15 +0000 (19:22 +0530)]
x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)

System topology on intel based system needs to be exported
for non-numa case as well.

All parts of asm-i386/topology.h has come under
#ifdef CONFIG_NUMA after the merge to asm-x86/topology.h

/sys/devices/system/cpu/cpu?/topology/* is populated based on
ENABLE_TOPO_DEFINES

The sysfs cpu topology is not being populated on my dual socket
dual core xeon 5160 processor based (x86 32 bit) system.

CONFIG_NUMA is not set in my case yet the topology is relevant
and useful.

irqbalance daemon application depends on topology to build the
cpus and package list and it fails on Fedora9 beta since the
sysfs topology was not being populated in the 2.6.25 kernel.

I am not sure if it was intentional to not define ENABLE_TOPO_DEFINES
for non-numa systems.

This fix has been tested on the above mentioned dual core, dual socket
system.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@kernel.org
17 years agox86: revert commit 709f744 ("x86: bitops asm constraint fixes")
Simon Holm Thøgersen [Mon, 5 May 2008 13:45:28 +0000 (15:45 +0200)]
x86: revert commit 709f744 ("x86: bitops asm constraint fixes")

709f744 causes my computer to freeze during the start up of X and my
login manger (GDM). It gets to the point where it has shown the default
X mouse cursor logo (a big X / cross) and does not respond to anything
from that point on.

This worked fine before 709f744, and it works fine with 709f744
reverted on top of Linus' current tree (f74d505). The revert had
conflicts, as far as I can tell due to white space changes. The diff I
ended up with is below.

It is 100% reproducible.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17 years agox86: restrict keyboard io ports reservation to make ipmi driver work
Helge Wagner [Tue, 29 Apr 2008 12:20:40 +0000 (14:20 +0200)]
x86: restrict keyboard io ports reservation to make ipmi driver work

On some of our (single board computer) boards (x86) we are using an
IPMI controller that uses I/O ports 0x62 and 0x66 for a KCS (keyboard
controller style) IPMI system interface.

Trying to load the openipmi driver fails, because the ports
(0x62/0x66) are reserved for keyboard. keyboard reserves the full
range 0x60-0x6F while it doesn't need to.

Reserve only ports 0x60 and 0x64 for the legacy PS/2 i8042 keyboad
controller instead of 0x60-0x6F to allow the openipmi driver to work.

[ tglx: added 64bit fixup ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: fix fpu restore from sig return
Suresh Siddha [Wed, 7 May 2008 19:09:52 +0000 (12:09 -0700)]
x86: fix fpu restore from sig return

If the task never used fpu, initialize the fpu before restoring the FP
state from the signal handler context. This will allocate the fpu
state, if the task never needed it before.

Reported-and-bisected-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Tested-by: Eric Sesterhenn <snakebyte@gmx.de>
Cc: Frederik Deweerdt <deweerdt@free.fr>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17 years agox86: remove spew print out about bus to node mapping
Yinghai Lu [Sun, 4 May 2008 20:41:02 +0000 (13:41 -0700)]
x86: remove spew print out about bus to node mapping

Jeff Garzik pointed out that this printout is not needed.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17 years agox86: revert printk format warning change which is for linux-next
Thomas Gleixner [Thu, 8 May 2008 14:38:11 +0000 (16:38 +0200)]
x86: revert printk format warning change which is for linux-next

commit 62179849b40aded9e727cca5006627a1c4d6446e
    x86: fix setup printk format warning

is for linux-next and not for .26

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17 years agosparc32: Don't twiddle PT_DTRACE in exec.
David S. Miller [Sat, 10 May 2008 07:31:28 +0000 (00:31 -0700)]
sparc32: Don't twiddle PT_DTRACE in exec.

That bit isn't used on this platform.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion...
Russell King [Fri, 9 May 2008 22:24:09 +0000 (23:24 +0100)]
Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into fixes

17 years agosctp: add sctp/remaddr table to complete RFC remote address table OID
Neil Horman [Fri, 9 May 2008 22:14:50 +0000 (15:14 -0700)]
sctp: add sctp/remaddr table to complete RFC remote address table OID

Add support for RFC3873 remote address table OID.

      +--(5) sctpAssocRemAddrTable
      |   |
      |   |--(-) sctpAssocId (shared index)
      |   |
      |   +--(1) sctpAssocRemAddrType (index)
      .   |
      .   +--(2) sctpAssocRemAddr (index)
      .   |
          +--(3) sctpAssocRemAddrActive
          |
          +--(4) sctpAssocRemAddrHBActive
          |
          +--(5) sctpAssocRemAddrRTO
          |
          +--(6) sctpAssocRemAddrMaxPathRtx
          |
          +--(7) sctpAssocRemAddrRtx
          |
          +--(8) sctpAssocRemAddrStartTime

This patch places all the requsite data in /proc/net/sctp/remaddr.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: Support the new specification of sctp_connectx()
Vlad Yasevich [Fri, 9 May 2008 22:14:11 +0000 (15:14 -0700)]
sctp: Support the new specification of sctp_connectx()

The specification of sctp_connectx() has been changed to return
an association id.  We've added a new socket option that will
return the association id as the return value from the setsockopt()
call.  The library that implements sctp_connectx() interface will
implement both socket options.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosctp: Bring SCTP_DELAYED_ACK socket option into API compliance
Wei Yongjun [Fri, 9 May 2008 22:13:26 +0000 (15:13 -0700)]
sctp: Bring SCTP_DELAYED_ACK socket option into API compliance

Brings delayed_ack socket option set/get into line with the latest ietf
socket extensions API draft, while maintaining backwards compatibility.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoOMAP3 EVM: enable ethernet support
Steve Sakoman [Thu, 8 May 2008 16:49:13 +0000 (09:49 -0700)]
OMAP3 EVM: enable ethernet support

OMAP3 EVM: enable smc911x driver in defconfig

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 EVM: enable ethernet support
Steve Sakoman [Thu, 8 May 2008 16:48:51 +0000 (09:48 -0700)]
OMAP3 EVM: enable ethernet support

OMAP3 EVM: add ethernet support (smc911x)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agonet:smc911x Modify driver to also work with omap34xx
Steve Sakoman [Thu, 8 May 2008 16:48:31 +0000 (09:48 -0700)]
net:smc911x Modify driver to also work with omap34xx

net:smc911x Modify driver to also work with omap34xx

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoUSB: MUSB: Don't ignore disconnect on suspend
Felipe Balbi [Thu, 17 Apr 2008 14:38:35 +0000 (17:38 +0300)]
USB: MUSB: Don't ignore disconnect on suspend

As soon as a usb device is disconnect we should
fall into a_wait_bcon state, ignoring disconnect
irq will prevent this behaviour.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: remove omap3_noncore_dpll_set_rate fn from CORE DPLL definition
Paul Walmsley [Thu, 8 May 2008 01:19:07 +0000 (19:19 -0600)]
OMAP3 clock: remove omap3_noncore_dpll_set_rate fn from CORE DPLL definition

DPLL3 is the CORE DPLL and cannot use the non-CORE set_rate function since
SDRC is downstream.

Signed-off-by: Paul Walmslsy <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: move sys_clkout2 clk to core_clkdm
Paul Walmsley [Thu, 8 May 2008 01:19:07 +0000 (19:19 -0600)]
OMAP3 clock: move sys_clkout2 clk to core_clkdm

sys_clkout2 belongs in the core_clkdm (3430 TRM section 4.7.2.2).
It's not clear whether it actually is in the CORE clockdomain, or whether
it is technically in a different clockdomain; but this is closer to
reality than the present configuration.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agopowerdomain: convert pwrdm_mutex to rwsem
Paul Walmsley [Fri, 9 May 2008 21:45:24 +0000 (14:45 -0700)]
powerdomain: convert pwrdm_mutex to rwsem

Convert pwrdm_mutex to pwrdm_rwsem to avoid trying to relock mutex in the
event that the pwrdm_for_each() callback function calls something that
triggers a pwrdm_lookup().  Problem found by Jouni Högander
<jouni.hogander@nokia.com>

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoFix remaining sparse warnings in arch/arm/mach-omap2
Paul Walmsley [Wed, 7 May 2008 17:52:02 +0000 (11:52 -0600)]
Fix remaining sparse warnings in arch/arm/mach-omap2

Fix remaining sparse warnings in arch/arm/mach-omap2/. These fixes
mostly consist of:

- tagging appropriate integer<->pointer casts with __force

- marking private structures and functions as static; adding function
  prototypes in .h files for public functions

- assigning NULL to pointers, not 0

- adding prototypes for *_init() functions in the appropriate header
  files, and getting rid of the corresponding open-coded extern
  prototypes in other C files

Also clean up checkpatch issues - this mostly involves converting some
asm/ includes to linux/ includes.

While here, shrink some bitfields in struct omap_pwm_led_platform_data
down to the smallest possible type.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agofix sparse, checkpatch warnings in OMAP2/3 SCM code
Paul Walmsley [Wed, 7 May 2008 17:52:02 +0000 (11:52 -0600)]
fix sparse, checkpatch warnings in OMAP2/3 SCM code

Fix sparse warnings with the OMAP2 SCM code. Involves tagging
appropriate pointer<->integer type conversions with __force.  Also fix
a checkpatch warning re: conversion of asm/ includes to linux/.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agofix sparse, checkpatch warnings in OMAP2/3 IRQ code
Paul Walmsley [Wed, 7 May 2008 17:52:02 +0000 (11:52 -0600)]
fix sparse, checkpatch warnings in OMAP2/3 IRQ code

Fix sparse warnings in mach-omap2/irq.c. Fix by defining
intc_bank_write_reg() and intc_bank_read_reg(), and convert INTC module
register access to use them rather than __raw_{read,write}l.

Also clear up some checkpatch warnings involving includes from asm/
rather than linux/.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agofix sparse, checkpatch warnings in OMAP2/3 SMS/GPMC/SRAM code
Paul Walmsley [Wed, 7 May 2008 17:52:01 +0000 (11:52 -0600)]
fix sparse, checkpatch warnings in OMAP2/3 SMS/GPMC/SRAM code

Fix sparse warnings in SMS, GPMC, SRAM code involving arch/arm/mach-omap2/.
These fixes mostly consist of:

- tagging appropriate integer<->pointer casts with __force

- marking private structures and functions as static; adding function
  prototypes in .h files for public functions

- assigning NULL to pointers in structure initializers, not 0

- adding prototypes for *_init() functions in the appropriate header
  files, and getting rid of the corresponding open-coded extern
  prototypes in other C files

Also clean up some checkpatch issues by converting some asm/ includes
to linux/ includes.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agofix sparse, checkpatch warnings in OMAP2/3 PRCM/PM code
Paul Walmsley [Wed, 7 May 2008 17:52:01 +0000 (11:52 -0600)]
fix sparse, checkpatch warnings in OMAP2/3 PRCM/PM code

Fix sparse & checkpatch warnings in OMAP2/3 PRCM & PM code.  This mostly
consists of:

- converting pointer comparisons to integers in form similar to
  (ptr == 0) to the standard idiom (!ptr)

- labeling a few non-static private functions as static

- tagging appropriate integer<->pointer casts with __force

- adding prototypes for *_init() functions in the appropriate header
  files, and getting rid of the corresponding open-coded extern
  prototypes in other C files

- renaming the variable 'sclk' in mach-omap2/clock.c:omap2_get_apll_clkin
  to avoid shadowing an earlier declaration

Clean up checkpatch issues.  This mostly involves:

- converting some asm/ includes to linux/ includes

- cleaning up some whitespace

- getting rid of braces for conditionals with single following statements

Also take care of a few odds and ends, including:

- getting rid of unlikely() and likely() - none of this code is particularly
  fast-path code, so the performance impact seems slim; and some of those
  likely() and unlikely() indicators are probably not as accurate as the
  ARM's branch predictor

- removing some superfluous casts

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years ago[ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier.
Dmitry Baryshkov [Fri, 9 May 2008 07:56:54 +0000 (08:56 +0100)]
[ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier.

A lot of stuff in spitz/akita/etc. depends on corgi_ssp to be initialised
early. However corgi_ssp initialisation fails, because at that time pxa*-ssp
devices don't have drivers. Move ssp earlier in the makefile so they are
registered before corgi-ssp.

Also move sleep/suspend and cpu-freq to more logical places

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[libata] revert new check-ready Status register logic
Jeff Garzik [Fri, 9 May 2008 19:00:55 +0000 (15:00 -0400)]
[libata] revert new check-ready Status register logic

This behavior differs across multiple controllers, so we cannot use
common logic for all controllers.

Revert back to the basic common behavior, and specific drivers will
be updated from here to take into account the unusual Status return
values.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
Linus Torvalds [Fri, 9 May 2008 17:34:00 +0000 (10:34 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (21 commits)
  Blackfin Serial Driver: abstract away DLAB differences into header
  Blackfin Serial Driver: macro away the IER differences between processors
  [Blackfin] arch: remove useless IRQ_SW_INT defines
  [Blackfin] arch: protect linux/usb/musb.h include until the driver gets mainlined
  [Blackfin] arch: protect linux/usb/isp1362.h include until the driver gets mainlined
  [Blackfin] arch: add EBIU supporting for BF54x EZKIT SMSC LAN911x/LAN921x families embedded ethernet driver
  [Blackfin] arch: Set spi flash partition on bf527 as like bf548.
  [Blackfin] arch: fix bug - Remove module will not free L1 memory used
  [Blackfin] arch: fix wrong header name in comment
  [Blackfin] arch: Fix BUG - spi flash on bf527 ezkit would fail at mount
  [Blackfin] arch: add twi_lcd and twi_keypad i2c board info to bf527-ezkit
  [Blackfin] arch: Add physmap partition for BF527-EZkit
  [Blackfin] arch: fix gdb testing regression
  [Blackfin] arch: disable single stepping when delivering a signal
  [Blackfin] arch: Delete unused (copied from m68k) entries in asm-offsets.c.
  [Blackfin] arch: In the double fault handler, set up the PT_RETI slot
  [Blackfin] arch: Support for CPU_FREQ and NOHZ
  [Blackfin] arch: Functional power management support: Add CPU and platform voltage scaling support
  [Blackfin] arch: fix bug -  breaking the atomic sections code.
  [Blackfin] arch: Equalize include files: Add VR_CTL masks
  ...

17 years agoWhitespace fix to sync with mainline
Tony Lindgren [Fri, 9 May 2008 17:27:09 +0000 (10:27 -0700)]
Whitespace fix to sync with mainline

Whitespace fix to sync with mainline

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fixed comments on global PRM register usage
Kalle Jokiniemi [Tue, 6 May 2008 07:33:01 +0000 (10:33 +0300)]
ARM: OMAP: Fixed comments on global PRM register usage

Fixed comments on global PRM register usage.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck
Högander Jouni [Wed, 23 Apr 2008 13:12:19 +0000 (16:12 +0300)]
ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck

This patch removes following message on dpll5_m2_ck enable and
disable:

clock.c: Enable for dpll5_m2_ck without enable code
clock: clk_disable called on independent clock dpll5_m2_ck
which has no enable_reg

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: PRCM fixes to ssi clock handling
Jouni Högander [Mon, 14 Apr 2008 13:06:11 +0000 (16:06 +0300)]
ARM: OMAP: PRCM fixes to ssi clock handling

ssi_l4_ick should have PARENT_CONTROLS_CLOCK flag.
ST_SSI_STDBY bit in idlest register cannot be used in  omap2_clk_wait_ready

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add fuctional clock enabler for iva2
Hiroshi DOYU [Tue, 1 Apr 2008 07:11:22 +0000 (10:11 +0300)]
ARM: OMAP: Add fuctional clock enabler for iva2

Add fuctional clock enabler for iva2

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks
Jouni Högander [Fri, 28 Mar 2008 12:57:50 +0000 (14:57 +0200)]
ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks

Wrong shift values were used for gpio2-6  fclks (gpt2-6 shift).

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Keymap fix for palmte and palmz71
Eduardo Valentin [Thu, 27 Mar 2008 15:09:42 +0000 (11:09 -0400)]
ARM: OMAP: Keymap fix for palmte and palmz71

Keymap fix for palmte and palmz71

Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox
Hiroshi DOYU [Mon, 30 Jul 2007 11:04:04 +0000 (14:04 +0300)]
ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: DMA: Fix incorrect channel linking
Jarkko Nikula [Mon, 17 Mar 2008 15:01:10 +0000 (17:01 +0200)]
ARM: OMAP: DMA: Fix incorrect channel linking

Function enable_lnk does incorrect channel link on non-omap1 builds if chain
is created manually with omap_request_dma and omap_dma_link_lch functions.

Fix this by making sure that next_linked_ch field is initialized to -1 just
in omap_request_dma.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Warn on disabling clocks with no users
Tony Lindgren [Tue, 7 Aug 2007 12:20:00 +0000 (05:20 -0700)]
ARM: OMAP: Warn on disabling clocks with no users

Instead of BUG(), warn on disabling clocks with no users.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add calls to omap2_set_globals_*()
Paul Walmsley [Wed, 7 May 2008 23:55:13 +0000 (16:55 -0700)]
ARM: OMAP: Add calls to omap2_set_globals_*()

Add the omap2_set_globals_{242x,243x,343x}() functions. These
functions are called early upon boot in the map_io() functions in the
board-specific init files.

This patch was accidentally left out of the earlier series.

This fixes omap2 booting as noted by Kyungmin Park <kmpark@infradead.org>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kyungmin Park <kmpark@infradead.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Update MMC header to fix compile
Tony Lindgren [Thu, 8 May 2008 22:30:33 +0000 (15:30 -0700)]
ARM: OMAP: Update MMC header to fix compile

Update MMC header from linux-omap tree to match the recent
MMC driver updates.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Fri, 9 May 2008 15:10:09 +0000 (08:10 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  [CIFS] fix build warning
  [CIFS] Fixed build warning in is_ip
  [CIFS] cleanup cifsd completion
  [CIFS] Remove over-indented code in find_unc().
  [CIFS] fix typo
  [CIFS] Remove duplicate call to mode_to_acl
  [CIFS] convert usage of implicit booleans to bool
  [CIFS] fixed compatibility issue with samba refferal request
  [CIFS] Fix statfs formatting
  [CIFS] Adds to dns_resolver checking if the server name is an IP addr and skipping upcall in this case.
  [CIFS] Fix spelling mistake
  [CIFS] Update cifs version number

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Fri, 9 May 2008 15:07:58 +0000 (08:07 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (37 commits)
  SH: catch negative denormal_subf1() retval in denormal_add()
  sh: Fix DMAC base address for SH7709S
  sh: update smc91x platform data for se7206.
  sh: Stub in cpu_to_node() and friends for NUMA build.
  sh: intc register modify fix
  sh: no high level trigger on some sh3 cpus
  sh: clean up sh7710 and sh7720 intc tables
  sh: add interrupt ack code to sh3
  sh: unify external irq pin code for sh3
  sh-sci: avoid writing to nonexistent registers
  sh-sci: sh7722 lacks scsptr registers
  sh-sci: improve sh7722 support
  sh: reset hardware from early printk
  sh: drain and wait for early printk
  sh: use sci_out() for early printk
  sh: add memory resources to /proc/iomem
  sh: add kernel bss resource
  sh: fix sh7705 interrupt vector typo
  sh: update smc91x platform data for se7722
  sh: update smc91x platform data for MigoR
  ...

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Fri, 9 May 2008 15:07:21 +0000 (08:07 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] hmac: Avoid calling virt_to_page on key

17 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Fri, 9 May 2008 15:06:31 +0000 (08:06 -0700)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (23 commits)
  [POWERPC] Remove leftover printk in isa-bridge.c
  [POWERPC] Remove duplicate #include
  [POWERPC] Initialize lockdep earlier
  [POWERPC] Document when printk is useable
  [POWERPC] Fix bogus paca->_current initialization
  [POWERPC] Fix of_i2c include for module compilation
  [POWERPC] Make default cputable entries reflect selected CPU family
  [POWERPC] spufs: lockdep annotations for spufs_dir_close
  [POWERPC] spufs: don't requeue victim contex in find_victim if it's not in spu_run
  [POWERPC] 4xx: Fix PCI mem in sequoia DTS
  [POWERPC] 4xx: Add endpoint support to 4xx PCIe driver
  [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core
  [POWERPC] spufs: spu_create should send inotify IM_CREATE event
  [POWERPC] spufs: handle faults while the context switch pending flag is set
  [POWERPC] spufs: fix concurrent delivery of class 0 & 1 exceptions
  [POWERPC] spufs: try to route SPU interrupts to local node
  [POWERPC] spufs: set SPU_CONTEXT_SWITCH_PENDING before synchronising SPU irqs
  [POWERPC] spufs: don't acquire state_mutex interruptible while performing callback
  [POWERPC] spufs: update master runcntl with context lock held
  [POWERPC] spufs: fix post-stopped update of MFC_CNTL register
  ...

17 years agom32r: use generic sys_pipe
Christoph Hellwig [Fri, 9 May 2008 12:44:02 +0000 (14:44 +0200)]
m32r: use generic sys_pipe

m32r can use the generic sys_pipe implementation.

The current sys_pipe implementation on m32r only differes from the
generic one by passing a lot of additional unused registers to sys_pipe.

Reviewed and tested by Hirokazu Takata.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agocris: kill sys_pipe implementation
Christoph Hellwig [Fri, 9 May 2008 10:41:17 +0000 (12:41 +0200)]
cris: kill sys_pipe implementation

The cris implementation of sys_pipe only differs from the generic one
by taking the BKL before calling do_pipe which isn't not nessecary.

Just kill the cris implementation and use the generic one.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 9 May 2008 15:01:19 +0000 (08:01 -0700)]
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:
  sit: Add missing kfree_skb() on pskb_may_pull() failure.
  tipc: Increase buffer header to support worst-case device

17 years agomodule: don't ignore vermagic string if module doesn't have modversions
Rusty Russell [Fri, 9 May 2008 06:25:28 +0000 (16:25 +1000)]
module: don't ignore vermagic string if module doesn't have modversions

Linus found a logic bug: we ignore the version number in a module's
vermagic string if we have CONFIG_MODVERSIONS set, but modversions
also lets through a module with no __versions section for modprobe
--force (with tainting, but still).

We should only ignore the start of the vermagic string if the module
actually *has* crcs to check.  Rather than (say) having an
entertaining hissy fit and creating a config option to work around the
buggy code.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomodule: be more picky about allowing missing module versions
Rusty Russell [Fri, 9 May 2008 06:24:21 +0000 (16:24 +1000)]
module: be more picky about allowing missing module versions

We allow missing __versions sections, because modprobe --force strips
it.  It makes less sense to allow sections where there's no version
for a specific symbol the module uses, so disallow that.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomodule: put modversions in vermagic
Rusty Russell [Fri, 9 May 2008 06:23:17 +0000 (16:23 +1000)]
module: put modversions in vermagic

Don't allow a module built without versions altogether to be inserted
into a kernel which expects modversions.

modprobe --force will strip vermagic as well as modversions, so it
won't be effected, but this will make sure that a
non-CONFIG_MODVERSIONS module won't be accidentally inserted into a
CONFIG_MODVERSIONS kernel.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[ARM] Orion: clean up addr-map.c after window setting code purge
Lennert Buytenhek [Sat, 26 Apr 2008 18:48:11 +0000 (14:48 -0400)]
[ARM] Orion: clean up addr-map.c after window setting code purge

This patch cleans up Orion's addr-map.c a bit after all peripheral
window programming code has been moved out into the relevant drivers.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
17 years ago[ARM] Orion: pass proper t_clk into mv643xx_eth
Lennert Buytenhek [Sat, 26 Apr 2008 18:48:11 +0000 (14:48 -0400)]
[ARM] Orion: pass proper t_clk into mv643xx_eth

Pass the Orion TCLK tick rate into the ethernet driver.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
17 years ago[ARM] Orion: use mv643xx_eth driver mbus window handling
Lennert Buytenhek [Sat, 26 Apr 2008 18:48:11 +0000 (14:48 -0400)]
[ARM] Orion: use mv643xx_eth driver mbus window handling

Make the Orion 5x platform code use the mbus window handling code
that's in the mv643xx_eth driver, instead of programming the GigE
block's mbus window registers by hand.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
17 years agoSH: catch negative denormal_subf1() retval in denormal_add()
Roel Kluin [Fri, 9 May 2008 11:05:10 +0000 (20:05 +0900)]
SH: catch negative denormal_subf1() retval in denormal_add()

'ix' is unsigned but denormal_subf1() may return a negative int.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years ago[POWERPC] Remove leftover printk in isa-bridge.c
Nate Case [Thu, 8 May 2008 16:41:17 +0000 (02:41 +1000)]
[POWERPC] Remove leftover printk in isa-bridge.c

This printk() appears twice in the same function.  Only the latter one
in the inval_range: section appears to be legitimate.

Signed-off-by: Nate Case <ncase@xes-inc.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Remove duplicate #include
Huang Weiyi [Thu, 8 May 2008 13:34:29 +0000 (23:34 +1000)]
[POWERPC] Remove duplicate #include

Remove duplicate #include of <asm/prom.h> in
arch/powerpc/kernel/btext.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Initialize lockdep earlier
Benjamin Herrenschmidt [Wed, 7 May 2008 00:25:34 +0000 (10:25 +1000)]
[POWERPC] Initialize lockdep earlier

This moves lockdep_init() to before udbg_early_init() as the later
can call things that acquire spinlocks etc...  This also makes printk
safer to use earlier.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Document when printk is useable
Benjamin Herrenschmidt [Wed, 7 May 2008 00:00:56 +0000 (10:00 +1000)]
[POWERPC] Document when printk is useable

When debugging early boot problems, it's common to sprinkle printk's
all over the place.  However, on 64-bit powerpc, this can lead to
memory corruption if done too early due to the PACA pointer and
lockdep core not being initialized.

This adds some comments to early_setup() that document when it is
safe to do so in order to save time for whoever has to debug that
stuff next.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix bogus paca->_current initialization
Benjamin Herrenschmidt [Wed, 7 May 2008 00:00:55 +0000 (10:00 +1000)]
[POWERPC] Fix bogus paca->_current initialization

When doing lockdep, I had two patches to initialize paca->_current
early, one bogus, and one correct.  Unfortunately both got merged
as the bad one ended up being part of the main lockdep patch by
mistake.  This causes memory corruption at boot.  This removes
the offending code.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix of_i2c include for module compilation
Jochen Friedrich [Tue, 6 May 2008 18:40:01 +0000 (04:40 +1000)]
[POWERPC] Fix of_i2c include for module compilation

Remove #ifdef CONFIG_OF_I2C as this breaks module compilation.
Drivers using this header should depend on OF_I2C anyways, so
there's no need to make this conditional.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Make default cputable entries reflect selected CPU family
Benjamin Herrenschmidt [Mon, 5 May 2008 05:22:27 +0000 (15:22 +1000)]
[POWERPC] Make default cputable entries reflect selected CPU family

Changes the cputable so that various CPU families that have an exclusive
CONFIG_ option have a more sensible default entry to use if the specific
processor hasn't been identified.

This makes the kernel more generally useful when booted on an unknown
PVR for things like new 4xx variants.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMerge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
Paul Mackerras [Fri, 9 May 2008 10:12:06 +0000 (20:12 +1000)]
Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge

17 years agosh: Fix DMAC base address for SH7709S
Steve Glendinning [Tue, 6 May 2008 10:36:27 +0000 (11:36 +0100)]
sh: Fix DMAC base address for SH7709S

On SH7709S, DMAC can be found at 0xa4000020 (as with most of
the other sh3 cpu subtypes).

Split out definition of DMAC base address from definitions of
DMTE irqs.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosit: Add missing kfree_skb() on pskb_may_pull() failure.
David S. Miller [Fri, 9 May 2008 06:40:26 +0000 (23:40 -0700)]
sit: Add missing kfree_skb() on pskb_may_pull() failure.

Noticed by Paul Marks <paul@pmarks.net>.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosh: update smc91x platform data for se7206.
Paul Mundt [Fri, 9 May 2008 05:13:17 +0000 (14:13 +0900)]
sh: update smc91x platform data for se7206.

Follows the se7722 change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agotipc: Increase buffer header to support worst-case device
Allan Stephens [Fri, 9 May 2008 04:38:24 +0000 (21:38 -0700)]
tipc: Increase buffer header to support worst-case device

This patch increases the headroom TIPC reserves in each sk_buff
to accommodate the largest possible link level device header.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc video: remove open boot prom code
Robert Reif [Fri, 9 May 2008 04:37:30 +0000 (21:37 -0700)]
sparc video: remove open boot prom code

Replace remaining open boot prom code with of.

Boot tested on sparc32 and compile tested on sparc64.

Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>