linux-2.6
15 years agoBlackfin SPI Driver: fix NULL pointer crash
Mike Frysinger [Tue, 7 Apr 2009 02:00:51 +0000 (19:00 -0700)] 
Blackfin SPI Driver: fix NULL pointer crash

Fix NULL pointer crash when cleaning up from invalid platform resources

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: use bfin_spi_ prefix on all functions
Mike Frysinger [Tue, 7 Apr 2009 02:00:50 +0000 (19:00 -0700)] 
Blackfin SPI Driver: use bfin_spi_ prefix on all functions

Do this because when things crash, we get simple names like "setup" and
"start_queue" which is pretty difficult to trace back to the real thing:
the spi driver

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: fix bug - correct usage of struct spi_transfer.cs_change
Yi Li [Tue, 7 Apr 2009 02:00:49 +0000 (19:00 -0700)] 
Blackfin SPI Driver: fix bug - correct usage of struct spi_transfer.cs_change

According to comments in linux/spi/spi.h:

 * All SPI transfers start with the relevant chipselect active.  Normally
 * it stays selected until after the last transfer in a message. Drivers
 * can affect the chipselect signal using cs_change.
 *
 * (i) If the transfer isn't the last one in the message, this flag is
 * used to make the chipselect briefly go inactive in the middle of the
 * message.  Toggling chipselect in this way may be needed to terminate
 * a chip command, letting a single spi_message perform all of group of
 * chip transactions together.
 *
 * (ii) When the transfer is the last one in the message, the chip may
 * stay selected until the next transfer.  On multi-device SPI busses
 * with nothing blocking messages going to other devices, this is just
 * a performance hint; starting a message to another device deselects
 * this one.  But in other cases, this can be used to ensure correctness.
 * Some devices need protocol transactions to be built from a series of
 * spi_message submissions, where the content of one message is determined
 * by the results of previous messages and where the whole transaction
 * ends when the chipselect goes intactive.

Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: fix bug - spi controller driver does not assert/deassert CS...
Yi Li [Tue, 7 Apr 2009 02:00:44 +0000 (19:00 -0700)] 
Blackfin SPI Driver: fix bug - spi controller driver does not assert/deassert CS correctly

This bug can be observed when two SPI devices are sharing the spi bus: One
device is set as SPI CS 7, another one is using SPI CS 4.

In spi_bfin5xx.c: cs_active(), cs_deactive() are used to control SPI_FLG
register.  From the debug bellow:

cs_active: flag: 0x7f91, chip->flag: 0x7f80, cs: 7
cs_active: flag: 0xef91, chip->flag: 0xef10, cs: 4

When device A (cs_7) activate CS 7, SPI_FLG is set as 0x7f91 (however,
SPI_FLG should be set as 0x7f80, or 0x6f91 if in broadcast mode).

Due to some HW bug (very possibly), if SPI_FLG is set as 0x7f91, SPISSEL7
is asserted, however SPISSEL4 will be asserted too (I can see this using
the scope).  This is unreasonable according to HRM.

Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: tweak magic spi dma sequence to get it working on BF54x
Mike Frysinger [Tue, 7 Apr 2009 02:00:43 +0000 (19:00 -0700)] 
Blackfin SPI Driver: tweak magic spi dma sequence to get it working on BF54x

Without this change, SPI DMA is not reliably under stress tests.
Obiviously it's a hardware issue which is not addressed by any document.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: add timeout while waiting for SPIF in dma irq handler
Mike Frysinger [Tue, 7 Apr 2009 02:00:42 +0000 (19:00 -0700)] 
Blackfin SPI Driver: add timeout while waiting for SPIF in dma irq handler

The "while" endless loop will cause the system hang if hardware error, so
we add timeout control to make the system alive.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: get dma working for SPI flashes
Mike Frysinger [Tue, 7 Apr 2009 02:00:41 +0000 (19:00 -0700)] 
Blackfin SPI Driver: get dma working for SPI flashes

When using a BF533-STAMP here with a W25X10 SPI flash.  It works fine when
enable_dma is disabled, but doesn't work at all when turning DMA on.  We
get just 0xff bytes back when trying to read the device.

Change the code around so that it programs the SPI first and then enables
DMA, it seems to work a lot better ...

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: SPI slave select code cleanup
Mike Frysinger [Tue, 7 Apr 2009 02:00:40 +0000 (19:00 -0700)] 
Blackfin SPI Driver: SPI slave select code cleanup

- remove duplicated definition MAX_SPI_SSEL

- remove unnecessary array size

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: use the properl BIT_CTL_xxx defines
Mike Frysinger [Tue, 7 Apr 2009 02:00:39 +0000 (19:00 -0700)] 
Blackfin SPI Driver: use the properl BIT_CTL_xxx defines

use the properl BIT_CTL_...  defines rather than the internal driv er
CFG_SPI_...  defines

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: do not check for SPI errors if DMA itself did not flag any
Mike Frysinger [Tue, 7 Apr 2009 02:00:38 +0000 (19:00 -0700)] 
Blackfin SPI Driver: do not check for SPI errors if DMA itself did not flag any

We only need to check SPI error when DMA failes, cause that is the DMA IRQ
handling routine.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: add a few more DMA debug messages
Mike Frysinger [Tue, 7 Apr 2009 02:00:38 +0000 (19:00 -0700)] 
Blackfin SPI Driver: add a few more DMA debug messages

Because of DMA hardware issue, we were trying to use software workaround.
This patch add some useful debug messages to help us debugging the DMA
code.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: drop bogus cast and touchup dma label
Mike Frysinger [Tue, 7 Apr 2009 02:00:37 +0000 (19:00 -0700)] 
Blackfin SPI Driver: drop bogus cast and touchup dma label

Blackfin's related DMA callback API doesn't need void * cast, so drop it.
And this driver is for all Blackfin processors not only for BF53x, we
update the DMA request label for more meaningful information.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: unify duplicated code in dma read/write paths
Mike Frysinger [Tue, 7 Apr 2009 02:00:36 +0000 (19:00 -0700)] 
Blackfin SPI Driver: unify duplicated code in dma read/write paths

For DMA TX/RX operation in pump_transfers, DMA contriguration code in TX
and RX paths are almost the same.  This patch unify the duplicated DMA
code to make it more readable.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: pass DMA overflow error to the higher level
Mike Frysinger [Tue, 7 Apr 2009 02:00:35 +0000 (19:00 -0700)] 
Blackfin SPI Driver: pass DMA overflow error to the higher level

If the SPI bus registers a receive overflow error, pass the result back up
to the higher levels.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: use len_in_bytes when we care about the number of bytes transferred
Mike Frysinger [Tue, 7 Apr 2009 02:00:34 +0000 (19:00 -0700)] 
Blackfin SPI Driver: use len_in_bytes when we care about the number of bytes transferred

Use len_in_bytes when we care about the number of bytes transferred rather
than the number of spi transactions.  (this value will be the same for
8bit transfers, but not any other sizes)

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: remove useless <asm/cplbinit.h>
Mike Frysinger [Tue, 7 Apr 2009 02:00:33 +0000 (19:00 -0700)] 
Blackfin SPI Driver: remove useless <asm/cplbinit.h>

We already moved bfin_addr_dcachable() and friends into the cacheflush
header where it belongs, so don't need to include <asm/cplbinit.h> here.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: Fix erroneous SPI Clock divisor calculation
Michael Hennerich [Tue, 7 Apr 2009 02:00:32 +0000 (19:00 -0700)] 
Blackfin SPI Driver: Fix erroneous SPI Clock divisor calculation

Fix erroneous SPI Clock divisor calculation.  Make sure SPI_BAUD is always
>= 2.  Writing a value of 0 or 1 to the SPI_BAUD register disables the
serial clock.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoBlackfin SPI Driver: ensure cache coherency before doing DMA
Vitja Makarov [Tue, 7 Apr 2009 02:00:31 +0000 (19:00 -0700)] 
Blackfin SPI Driver: ensure cache coherency before doing DMA

Flush or invalidate caches before doing DMA transfer, if needed.

[Mike Frysinger <vapier.adi@gmail.com>: add comment to address the
issue "Full duplex only works for non-DMA transfers".]
Signed-off-by: Vitja Makarov <vitja.makarov@gmail.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agohwmon: add support for GMT G760A fan speed PWM controller
Herbert Valerio Riedel [Tue, 7 Apr 2009 02:00:30 +0000 (19:00 -0700)] 
hwmon: add support for GMT G760A fan speed PWM controller

This controller can be found on the D-Link DNS-323 for instance, where
it is to be configured via static i2c_board_info in the board-specific
mach-orion/dns323-setup.c; this driver supports only the new-style
driver model.

Tested-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Signed-off-by: Matthew Palmer <mpalmer@debian.org>
Signed-off-by: Laurie Bradshaw <bradshaw.laurie@googlemail.com>
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years ago/proc/pid/maps: don't show pgoff of pure ANON VMAs
KAMEZAWA Hiroyuki [Tue, 7 Apr 2009 02:00:30 +0000 (19:00 -0700)] 
/proc/pid/maps: don't show pgoff of pure ANON VMAs

Recently, it's argued that what proc/pid/maps shows is ugly when a 32bit
binary runs on 64bit host.

/proc/pid/maps outputs vma's pgoff member but vma->pgoff is of no use
information is the vma is for ANON.  With this patch, /proc/pid/maps shows
just 0 if no file backing store.

[akpm@linux-foundation.org: coding-style fixes]
[kamezawa.hiroyu@jp.fujitsu.com: coding-style fixes]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Mike Waychison <mikew@google.com>
Reported-by: Ying Han <yinghan@google.com>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomm: add /proc controls for pdflush threads
Peter W Morreale [Tue, 7 Apr 2009 02:00:29 +0000 (19:00 -0700)] 
mm: add /proc controls for pdflush threads

Add /proc entries to give the admin the ability to control the minimum and
maximum number of pdflush threads.  This allows finer control of pdflush
on both large and small machines.

The rationale is simply one size does not fit all.  Admins on large and/or
small systems may want to tune the min/max pdflush thread count to best
suit their needs.  Right now the min/max is hardcoded to 2/8.  While
probably a fair estimate for smaller machines, large machines with large
numbers of CPUs and large numbers of filesystems/block devices may benefit
from larger numbers of threads working on different block devices.

Even if the background flushing algorithm is radically changed, it is
still likely that multiple threads will be involved and admins would still
desire finer control on the min/max other than to have to recompile the
kernel.

The patch adds '/proc/sys/vm/nr_pdflush_threads_min' and
'/proc/sys/vm/nr_pdflush_threads_max' with r/w permissions.

The minimum value for nr_pdflush_threads_min is 1 and the maximum value is
the current value of nr_pdflush_threads_max.  This minimum is required
since additional thread creation is performed in a pdflush thread itself.

The minimum value for nr_pdflush_threads_max is the current value of
nr_pdflush_threads_min and the maximum value can be 1000.

Documentation/sysctl/vm.txt is also updated.

[akpm@linux-foundation.org: fix comment, fix whitespace, use __read_mostly]
Signed-off-by: Peter W Morreale <pmorreale@novell.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomm: fix pdflush thread creation upper bound
Peter W Morreale [Tue, 7 Apr 2009 02:00:28 +0000 (19:00 -0700)] 
mm: fix pdflush thread creation upper bound

Fix a race on creating pdflush threads.  Without the patch, it is possible
to create more than MAX_PDFLUSH_THREADS threads, and this has been
observed in practice on IO loaded SMP machines.

The fix involves moving the lock around to protect the check against the
thread count and correctly dealing with thread creation failure.

This fix also _mostly_ repairs a race condition on how quickly the threads
are created.  The original intent was to create a pdflush thread (up to
the max allowed) every second.  Without this patch is is possible to
create NCPUS pdflush threads concurrently.  The 'mostly' caveat is because
an assumption is made that thread creation will be successful.  If we fail
to create the thread, the miss is not considered fatal.  (we will try
again in 1 second)

Signed-off-by: Peter W Morreale <pmorreale@novell.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoesp: fix section mismatch warning
Randy Dunlap [Tue, 7 Apr 2009 02:00:26 +0000 (19:00 -0700)] 
esp: fix section mismatch warning

Not critical.

  WARNING: drivers/char/esp.o(.text+0x278): Section mismatch in reference from the function show_serial_version() to the variable .init.data:serial_version
  The function show_serial_version() references
  the variable __initdata serial_version.
  This is often because show_serial_version lacks a __initdata
  annotation or the annotation of serial_version is wrong.

  WARNING: drivers/char/esp.o(.text+0x27d): Section mismatch in reference from the function show_serial_version() to the variable .init.data:serial_name
  The function show_serial_version() references
  the variable __initdata serial_name.
  This is often because show_serial_version lacks a __initdata
  annotation or the annotation of serial_name is wrong.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Andrew J. Robinson <arobinso@nyx.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoPCI: Fix oops in pci_vpd_truncate
Anton Vorontsov [Tue, 31 Mar 2009 22:23:41 +0000 (02:23 +0400)] 
PCI: Fix oops in pci_vpd_truncate

pci_vpd_truncate() should check for dev->vpd->attr, otherwise this might
happen:

  sky2 driver version 1.22
  Unable to handle kernel paging request for data at address 0x0000000c
  Faulting instruction address: 0xc01836fc
  Oops: Kernel access of bad area, sig: 11 [#1]
  [...]
  NIP [c01836fc] pci_vpd_truncate+0x38/0x40
  LR [c029be18] sky2_probe+0x14c/0x518
  Call Trace:
  [ef82bde0] [c029bda4] sky2_probe+0xd8/0x518 (unreliable)
  [ef82be20] [c018a11c] local_pci_probe+0x24/0x34
  [ef82be30] [c018a14c] pci_call_probe+0x20/0x30
  [ef82be50] [c018a330] __pci_device_probe+0x64/0x78
  [ef82be60] [c018a44c] pci_device_probe+0x30/0x58
  [ef82be80] [c01aa270] really_probe+0x78/0x1a0
  [ef82bea0] [c01aa460] __driver_attach+0xa4/0xa8
  [ef82bec0] [c01a96ac] bus_for_each_dev+0x60/0x9c
  [ef82bef0] [c01aa0b4] driver_attach+0x24/0x34
  [ef82bf00] [c01a9e08] bus_add_driver+0x12c/0x1cc
  [ef82bf20] [c01aa87c] driver_register+0x6c/0x110
  [ef82bf30] [c018a770] __pci_register_driver+0x4c/0x9c
  [ef82bf50] [c03782c8] sky2_init_module+0x30/0x40
  [ef82bf60] [c0001dbc] do_one_initcall+0x34/0x1a0
  [ef82bfd0] [c0362240] do_initcalls+0x38/0x58

This happens with CONFIG_SKY2=y, and "ip=on" kernel command line, so
pci_vpd_truncate() is called before late_initcall(pci_sysfs_init),
therefore ->attr isn't yet initialized.

Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 7 Apr 2009 15:02:02 +0000 (08:02 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
  tomoyo: remove "undelete domain" command.

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param
Linus Torvalds [Tue, 7 Apr 2009 14:42:25 +0000 (07:42 -0700)] 
Merge git://git./linux/kernel/git/rusty/linux-2.6-module-and-param

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param:
  Revert "module: remove the SHF_ALLOC flag on the __versions section."

15 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Tue, 7 Apr 2009 14:40:55 +0000 (07:40 -0700)] 
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (28 commits)
  powerpc: Fix oops when loading modules
  powerpc: Wire up preadv and pwritev
  powerpc/ftrace: Fix printf format warning
  powerpc/ftrace: Fix #if that should be #ifdef
  powerpc: Fix ptrace compat wrapper for FPU register access
  powerpc: Print information about mapping hw irqs to virtual irqs
  powerpc: Correct dependency of KEXEC
  powerpc: Disable VSX or current process in giveup_fpu/altivec
  powerpc/pseries: Enable relay in pseries_defconfig
  powerpc/pseries: Fix ibm,client-architecture comment
  powerpc/pseries: Scan for all events in rtasd
  powerpc/pseries: Add dispatch dispersion statistics
  powerpc: Clean up some prom printouts
  powerpc: Print progress of ibm,client-architecture method
  powerpc: Remove duplicated #include's
  powerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook
  powerpc/wdrtas: Update wdrtas_get_interval to use rtas_data_buf
  fsl-diu-fb: Pass the proper device for dma mapping routines
  powerpc/pq2fads: Update device tree for use with device-tree-aware u-boot.
  cpm_uart: Disable CPM udbg when re-initing CPM uart, even if not the console.
  ...

15 years agoramfs: fix double freeing s_fs_info on failed mount
Ingo Molnar [Tue, 7 Apr 2009 06:16:50 +0000 (14:16 +0800)] 
ramfs: fix double freeing s_fs_info on failed mount

If ramfs mount fails, s_fs_info will be freed twice in ramfs_fill_super()
and ramfs_kill_sb(), leading to kernel oops.

Consolidate and beautify the code.
Make sure s_fs_info and s_root are in known good states.

Acked-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agohwmon: Add Asus ATK0110 support
Luca Tettamanti [Tue, 7 Apr 2009 13:32:59 +0000 (15:32 +0200)] 
hwmon: Add Asus ATK0110 support

Asus boards have an ACPI interface for interacting with the hwmon (fan,
temperatures, voltages) subsystem; this driver exposes the relevant
information via the standard sysfs interface.

There are two different ACPI interfaces:
- an old one (based on RVLT/RFAN/RTMP)
- a new one (GGRP/GITM)
Both may be present but there a few cases (my board, sigh) where the
new interface is just an empty stub; the driver defaults to the old one
when both are present.
The old interface has received a considerable testing, but I'm still
awaiting confirmation from my tester that the new one is working as
expected (hence the debug code is still enabled).

Currently all the attributes are read-only, though a (partial) control
should be possible with a bit more work.

Signed-off-by: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
15 years agohwmon: (lm95241) Convert to new-style i2c driver
Jean Delvare [Tue, 7 Apr 2009 13:32:59 +0000 (15:32 +0200)] 
hwmon: (lm95241) Convert to new-style i2c driver

The legacy i2c binding model is going away really soon now, so convert
the lm95241 driver to the new binding model or it will break.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Davide Rizzo <elpa.rizzo@gmail.com>
15 years agoASoC: TWL4030: Compillation error fix
Peter Ujfalusi [Tue, 7 Apr 2009 06:14:00 +0000 (09:14 +0300)] 
ASoC: TWL4030: Compillation error fix

Fix for compillation error introduced by the constrain patch.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoi2c: imx: Make disable_delay a per-device variable
Wolfram Sang [Mon, 6 Apr 2009 14:27:45 +0000 (16:27 +0200)] 
i2c: imx: Make disable_delay a per-device variable

'disable_delay' was static which is wrong as it is calculated using the per-device
bus speed. This patch turns 'disable_delay' into a per-device variable.

Reported-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Darius Augulis <augulis.darius@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: xtensa s6000 i2c driver
Oskar Schirmer [Thu, 2 Apr 2009 11:19:07 +0000 (13:19 +0200)] 
i2c: xtensa s6000 i2c driver

Support for the s6000 on-chip i2c controller.

Signed-off-by: Oskar Schirmer <os@emlix.com>
Signed-off-by: Daniel Glöckner <dg@emlix.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agopowerpc/85xx: i2c-mpc: use new I2C bindings for the Socates board
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:57 +0000 (10:20 +0200)] 
powerpc/85xx: i2c-mpc: use new I2C bindings for the Socates board

Preserve I2C clock settings for the Socrates MPC8544 board.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-mpc: make I2C bus speed configurable
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:55 +0000 (10:20 +0200)] 
i2c: i2c-mpc: make I2C bus speed configurable

This patch makes the I2C bus speed configurable by using the I2C node
property "clock-frequency". If the property is not defined, the old
fixed clock settings will be used for backward comptibility.

The generic I2C clock properties, especially the CPU-specific source
clock pre-scaler are defined via the OF match table:

  static const struct of_device_id mpc_i2c_of_match[] = {
...
{.compatible = "fsl,mpc8543-i2c",
 .data = &(struct fsl_i2c_match_data) {
.setclock = mpc_i2c_setclock_8xxx,
.prescaler = 2,
},
},

The "data" field defines the relevant I2C setclock function and the
relevant pre-scaler for the I2C source clock frequency.

It uses arch-specific tables and functions to determine resonable
Freqency Divider Register (fdr) values for MPC83xx, MPC85xx, MPC86xx,
MPC5200 and MPC5200B.

The i2c->flags field and the corresponding FSL_I2C_DEV_* definitions
have been removed as they are obsolete.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-mpc: use dev based printout function
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:54 +0000 (10:20 +0200)] 
i2c: i2c-mpc: use dev based printout function

This patch used the dev_dbg, dev_err, etc. functions for debug
and error output instead of printk and pr_debug.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-mpc: various coding style fixes
Wolfgang Grandegger [Tue, 7 Apr 2009 08:20:53 +0000 (10:20 +0200)] 
i2c: i2c-mpc: various coding style fixes

Fix errors reported by checkpatch (indention, long lines, trailing
white space, etc.).

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: imx: Add missing request_mem_region in probe()
Darius Augulis [Tue, 31 Mar 2009 11:52:54 +0000 (14:52 +0300)] 
i2c: imx: Add missing request_mem_region in probe()

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
[ben-linux@fluff.org: fix minor patch fault in remove]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c: i2c-s3c2410: Initialise Samsung I2C controller early
Mark Brown [Thu, 26 Feb 2009 16:29:22 +0000 (16:29 +0000)] 
i2c: i2c-s3c2410: Initialise Samsung I2C controller early

This is required in order to ensure that core system devices such as
voltage regulators attached via I2C are avaiable early in boot.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c-s3c2410: Simplify bus frequency calculation
Daniel Silverstone [Fri, 13 Mar 2009 13:53:46 +0000 (13:53 +0000)] 
i2c-s3c2410: Simplify bus frequency calculation

The platform data for the i2c-s3c2410 driver used to allow a min,
max and desired frequency for the I2C bus. This patch reduces it
to simply a desired frequency ceiling and corrects all the uses
of the platform data appropriately.

This means, for example, that on a system with a 66MHz fclk, a
request for 100KHz will achieve 65KHz which is safe and
acceptable, rather than 378KHz which it would have achieved
without this change.

Signed-off-by: Simtec Linux Team <linux@simtec.co.uk>
Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk>
[ben-linux@fluff.org: tidy subject and description]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoi2c-s3c2410: sda_delay should be in ns, not clock ticks
Ben Dooks [Fri, 27 Mar 2009 10:52:13 +0000 (10:52 +0000)] 
i2c-s3c2410: sda_delay should be in ns, not clock ticks

The sda_delay field should be specified in ns, not in clock ticks
as when using cpufreq we could be changing the bus rate.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
15 years agoi2c: iMX/MXC support
Darius Augulis [Fri, 30 Jan 2009 08:32:28 +0000 (10:32 +0200)] 
i2c: iMX/MXC support

Implementation of I2C Adapter/Algorithm Driver for I2C Bus integrated
in Freescale's i.MX/MXC processors.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
15 years agoRevert "module: remove the SHF_ALLOC flag on the __versions section."
Rusty Russell [Tue, 7 Apr 2009 07:42:43 +0000 (17:12 +0930)] 
Revert "module: remove the SHF_ALLOC flag on the __versions section."

This reverts commit 9cb610d8e35fe3ec95a2fe2030b02f85aeea83c1.

This was an impressively stupid patch.  Firstly, we reset the SHF_ALLOC
flag lower down in the same function, so the patch was useless.  Even
better, find_sec() ignores sections with SHF_ALLOC not set, so
it breaks CONFIG_MODVERSIONS=y with CONFIG_MODULE_FORCE_LOAD=n, which
refuses to load the module since it can't find the __versions section.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
15 years agotomoyo: remove "undelete domain" command.
Tetsuo Handa [Mon, 6 Apr 2009 11:49:14 +0000 (20:49 +0900)] 
tomoyo: remove "undelete domain" command.

Since TOMOYO's policy management tools does not use the "undelete domain"
command, we decided to remove that command.

Signed-off-by: Kentaro Takeda <takedakn@nttdata.co.jp>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Toshiharu Harada <haradats@nttdata.co.jp>
Signed-off-by: James Morris <jmorris@namei.org>
15 years agopowerpc: Fix oops when loading modules
Paul Mackerras [Mon, 6 Apr 2009 17:21:10 +0000 (17:21 +0000)] 
powerpc: Fix oops when loading modules

This fixes a problem reported by Sean MacLennan where loading any
module would cause an oops.  We weren't marking the pages containing
the module text as having hardware execute permission, due to a bug
introduced in commit 8d1cf34e ("powerpc/mm: Tweak PTE bit combination
definitions"), hence trying to execute the module text caused an
exception on processors that support hardware execute permission.

This adds _PAGE_HWEXEC to the definitions of PAGE_KERNEL_X and
PAGE_KERNEL_ROX to fix this problem.

Reported-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Wire up preadv and pwritev
Stephen Rothwell [Mon, 6 Apr 2009 17:19:50 +0000 (17:19 +0000)] 
powerpc: Wire up preadv and pwritev

[paulus@samba.org: changed to use syscall numbers 320 and 321 since
 perf_counters is currently using 319.]

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/ftrace: Fix printf format warning
Michael Ellerman [Mon, 6 Apr 2009 04:40:46 +0000 (04:40 +0000)] 
powerpc/ftrace: Fix printf format warning

'tramp' is an unsigned long, so print it with %lx.

Fixes the following build warning:
arch/powerpc/kernel/ftrace.c:291: error: format ‘%x’ expects type ‘unsigned int’, but argument 2 has type ‘long unsigned int’

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/ftrace: Fix #if that should be #ifdef
Michael Ellerman [Mon, 6 Apr 2009 04:40:45 +0000 (04:40 +0000)] 
powerpc/ftrace: Fix #if that should be #ifdef

Commit bb7253403f7a4670a128e4c080fd8ea1bd4d5029 ("powerpc64,
ftrace: save toc only on modules for function graph"), added an
#if CONFIG_PPC64.  This changes it to #ifdef.

Fixes the following warning on 32-bit builds:
 arch/powerpc/kernel/ftrace.c:562:5: error: "CONFIG_PPC64" is not defined

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Fix ptrace compat wrapper for FPU register access
Michael Neuling [Sun, 5 Apr 2009 20:59:39 +0000 (20:59 +0000)] 
powerpc: Fix ptrace compat wrapper for FPU register access

The ptrace compat wrapper mishandles access to the fpu registers.  The
PTRACE_PEEKUSR and PTRACE_POKEUSR requests miscalculate the index into
the fpr array due to the broken FPINDEX macro.  The
PPC_PTRACE_PEEKUSR_3264 request needs to use the same formula that the
native ptrace interface uses when operating on the register number (as
opposed to the 4-byte offset).  The PPC_PTRACE_POKEUSR_3264 request
didn't take TS_FPRWIDTH into account.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Print information about mapping hw irqs to virtual irqs
Michael Ellerman [Sun, 5 Apr 2009 16:05:02 +0000 (16:05 +0000)] 
powerpc: Print information about mapping hw irqs to virtual irqs

The irq remapping layer seems to cause some confusion when people
see a different irq number in /proc/interrupts vs the one they
request in their driver or DTS.

So have the irq remapping layer print out a message when we map an
irq. The message is only printed the first time the irq is mapped,
and it's KERN_DEBUG so most people won't see it.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Correct dependency of KEXEC
Geert Uytterhoeven [Thu, 2 Apr 2009 06:25:41 +0000 (06:25 +0000)] 
powerpc: Correct dependency of KEXEC

commit 28794d34ecb6815a3fa0a4256027c9b081a17c5f ("powerpc/kconfig: Kill
PPC_MULTIPLATFORM") broke KEXEC, by making it dependent on BOOK3S, while it
should be PPC_BOOK3S.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Disable VSX or current process in giveup_fpu/altivec
Michael Neuling [Wed, 1 Apr 2009 18:02:42 +0000 (18:02 +0000)] 
powerpc: Disable VSX or current process in giveup_fpu/altivec

When we call giveup_fpu, we need to need to turn off VSX for the
current process.  If we don't, on return to userspace it may execute a
VSX instruction before the next FP instruction, and not have its
register state refreshed correctly from the thread_struct.  Ditto for
altivec.

This caused a bug where an unaligned lfs or stfs results in
fix_alignment calling giveup_fpu so it can use the FPRs (in order to
do a single <-> double conversion), and then returning to userspace
with FP off but VSX on.  Then if a VSX instruction is executed, before
another FP instruction, it will proceed without another exception and
hence have the incorrect register state for VSX registers 0-31.

   lfs unaligned   <- alignment exception turns FP off but leaves VSX on

   VSX instruction <- no exception since VSX on, hence we get the
                      wrong VSX register values for VSX registers 0-31,
                      which overlap the FPRs.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Enable relay in pseries_defconfig
Anton Blanchard [Tue, 31 Mar 2009 20:14:25 +0000 (20:14 +0000)] 
powerpc/pseries: Enable relay in pseries_defconfig

Enable relay in pseries config, ppc64_defconfig had it enabled but pseries
did not.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Fix ibm,client-architecture comment
Anton Blanchard [Tue, 31 Mar 2009 20:14:01 +0000 (20:14 +0000)] 
powerpc/pseries: Fix ibm,client-architecture comment

We specify a 64MB RMO, but the comment says 128MB.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Scan for all events in rtasd
Anton Blanchard [Tue, 31 Mar 2009 20:13:27 +0000 (20:13 +0000)] 
powerpc/pseries: Scan for all events in rtasd

Instead of checking for known events, pass in all 1s so we handle future
event types.  We were currently missing the IO event type.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pseries: Add dispatch dispersion statistics
Anton Blanchard [Tue, 31 Mar 2009 20:12:44 +0000 (20:12 +0000)] 
powerpc/pseries: Add dispatch dispersion statistics

PHYP tells us how often a shared processor dispatch changed physical cpus.
This can highlight performance problems caused by the hypervisor.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Clean up some prom printouts
Anton Blanchard [Tue, 31 Mar 2009 20:06:15 +0000 (20:06 +0000)] 
powerpc: Clean up some prom printouts

Make all messages consistent, some have spaces before the "...", some do not.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Print progress of ibm,client-architecture method
Anton Blanchard [Tue, 31 Mar 2009 20:06:14 +0000 (20:06 +0000)] 
powerpc: Print progress of ibm,client-architecture method

The ibm,client-architecture method will often cause a reconfiguration reboot.
When this happens the last thing we see is:

Hypertas detected, assuming LPAR !

Which doesn't explain what just happened.  Wrap the ibm,client-architecture
so it's clear what is going on:

Calling ibm,client-architecture... done

In order to maintain the law of conservation of screen real estate, downgrade
two other messages to debug.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc: Remove duplicated #include's
Huang Weiyi [Tue, 31 Mar 2009 02:41:18 +0000 (02:41 +0000)] 
powerpc: Remove duplicated #include's

Remove duplicated #include's in
  - arch/powerpc/include/asm/ps3fb.h
  - arch/powerpc/kernel/setup-common.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook
Benjamin Herrenschmidt [Mon, 30 Mar 2009 17:34:04 +0000 (17:34 +0000)] 
powerpc/pmac: Fix internal modem IRQ on Wallstreet PowerBook

The (relatively) new pmac_zilog driver doesn't use the pre-munged
IRQ numbers from the macio_dev unlike other macio things, it
directly maps it off the OF device-tree.

It does that because it can be initialized much earlier than the
registration of the macio devices, in order to get a serial
console early.

Unfortunately, that means that it "misses" some fixups done
by the macio layer to work around missing interrupt descriptions
in the device-tree of the Wallstreet machines.

This patch brings the necessary workaround into the pmac_zilog
driver itself to bring it back to working condition.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agopowerpc/wdrtas: Update wdrtas_get_interval to use rtas_data_buf
Mark Nelson [Mon, 23 Mar 2009 20:30:41 +0000 (20:30 +0000)] 
powerpc/wdrtas: Update wdrtas_get_interval to use rtas_data_buf

The buffer passed to the ibm,get-system-parameter RTAS call must be
in the RMA.  To ensure we pass an address in the RMA use rtas_data_buf
for the actual RTAS call and then copy the result to value.  We can't
just make it static because this can be compiled in as a module.

Also add the WDRTAS_SP_SPI_LEN so we don't litter '4' throughout the
function.

Signed-off-by: Mark Nelson <markn@au1.ibm.com>
Tested-by: Adrian Reber <adrian@lisas.de>
Acked-by: Utz Bacher <utz.bacher@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
15 years agoMerge branch 'next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc...
Paul Mackerras [Tue, 7 Apr 2009 02:54:08 +0000 (12:54 +1000)] 
Merge branch 'next' of /linux/kernel/git/galak/powerpc into merge

15 years agoMerge branch 'topic/misc' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:51:12 +0000 (04:51 +0200)] 
Merge branch 'topic/misc' into for-linus

15 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:50:46 +0000 (04:50 +0200)] 
Merge branch 'topic/hda' into for-linus

15 years agoALSA: hda - Add VREF powerdown sequence for another board
Matthew Ranostay [Mon, 6 Apr 2009 13:30:46 +0000 (09:30 -0400)] 
ALSA: hda - Add VREF powerdown sequence for another board

Add powerdown sequence for VREF using a shared jack when the headphone
is present and the microphone isn't on.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: oss - volume control for CSWITCH and CROUTE
Deepika Makhija [Sat, 4 Apr 2009 12:38:28 +0000 (18:08 +0530)] 
ALSA: oss - volume control for CSWITCH and CROUTE

Added an else part to check
SNDRV_MIXER_OSS_PRESENT_CVOLUME for MIC (slot 7)
in commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b

Similarly, checks and volume control is required for
SNDRV_MIXER_OSS_PRESENT_CSWITCH and SNDRV_MIXER_OSS_PRESENT_CROUTE
as well.

Signed-off-by: Deepika Makhija <deepika.makhija@einfochips.com>
Signed-off-by: Viral Mehta <viral.mehta@einfochips.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoALSA: hda - add missing comma in ad1884_slave_vols
Akinobu Mita [Mon, 6 Apr 2009 09:42:42 +0000 (18:42 +0900)] 
ALSA: hda - add missing comma in ad1884_slave_vols

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:17:31 +0000 (04:17 +0200)] 
Merge branch 'topic/asoc' into for-linus

15 years agoMerge branch 'topic/usb-audio' into for-linus
Takashi Iwai [Tue, 7 Apr 2009 02:16:32 +0000 (04:16 +0200)] 
Merge branch 'topic/usb-audio' into for-linus

15 years agosound: usb-audio: allow period sizes less than 1 ms
Clemens Ladisch [Fri, 3 Apr 2009 07:48:26 +0000 (09:48 +0200)] 
sound: usb-audio: allow period sizes less than 1 ms

To enable periods shorter than 1 ms, we have to make sure that short
periods are only available for alternate settings that have a small
enough data packet interval.  Furthermore, the code that aligns URBs to
USB frames is now superfluous.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agosound: usb-audio: save data packet interval in audioformat structure
Clemens Ladisch [Fri, 3 Apr 2009 07:45:01 +0000 (09:45 +0200)] 
sound: usb-audio: save data packet interval in audioformat structure

The data packet interval needs to be available in the audioformat
structure, together with the other audio format parameters, so that it
can be used to influence ALSA hardware parameters.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agosound: usb-audio: remove check_hw_params_convention()
Clemens Ladisch [Fri, 3 Apr 2009 07:42:42 +0000 (09:42 +0200)] 
sound: usb-audio: remove check_hw_params_convention()

This removes the check_hw_params_convention() function because
1) it is not necessary, as the hw_rule_* functions also work correctly
   (i.e., as no-ops) when the device supports all combinations of the
   audio format parameters; and
2) it would become too complex when adding a fourth altsetting-dependent
   hardware parameter, as this would require another three loops to
   check dependecies with rate/channels/format.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agosound: usb-audio: show sample format width in proc file
Clemens Ladisch [Fri, 3 Apr 2009 07:41:40 +0000 (09:41 +0200)] 
sound: usb-audio: show sample format width in proc file

When listing the device's sample formats in the stream? proc file, the
sample format number itself is rather obscure, so we better show the
format width, too.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Tue, 7 Apr 2009 01:08:58 +0000 (18:08 -0700)] 
Merge branch 'for_linus' of git://git./linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (120 commits)
  cx231xx: Convert to snd_card_create()
  V4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m
  V4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_device'
  V4L/DVB (11438): au0828: fix Kconfig dependance
  V4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs
  V4L/DVB (11436): radio-mr800: convert to to v4l2_device
  V4L/DVB (11435): dsbr100 radio: convert to to v4l2_device
  V4L/DVB: zr364xx: remove unused #include <version.h>
  V4L/DVB: usbvision: remove unused #include <version.h>
  V4L/DVB (11427): gspca - m5602: Minor cleanups
  V4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write
  V4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.
  V4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on vflip.
  V4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache ctrl.
  V4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define
  V4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.
  V4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver
  V4L/DVB (11419): gspca - m5602-ov9650: Don't read exposure data from COM1.
  V4L/DVB (11418): gspca - m5602-ov9650: Auto white balancing is on by default
  V4L/DVB (11417): gspca - m5602-ov9650: Autogain is on by default
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 7 Apr 2009 01:05:43 +0000 (18:05 -0700)] 
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  b44: Use kernel DMA addresses for the kernel DMA API
  forcedeth: Fix resume from hibernation regression.
  xfrm: fix fragmentation on inter family tunnels
  ibm_newemac: Fix dangerous struct assumption
  gigaset: documentation update
  gigaset: in file ops, check for device disconnect before anything else
  bas_gigaset: use tasklet_hi_schedule for timing critical tasklets
  net/802/fddi.c: add MODULE_LICENSE
  smsc911x: remove unused #include <linux/version.h>
  axnet_cs: fix phy_id detection for bogus Asix chip.
  bnx2: Use request_firmware()
  b44: Fix sizes passed to b44_sync_dma_desc_for_{device,cpu}()
  socket: use percpu_add() while updating sockets_in_use
  virtio_net: Set the mac config only when VIRITO_NET_F_MAC
  myri_sbus: use request_firmware
  e1000: fix loss of multicast packets
  vxge: should include tcp.h

Conflict in firmware/WHENCE (SCSI vs net firmware)

15 years agob44: Use kernel DMA addresses for the kernel DMA API
Michael Buesch [Mon, 6 Apr 2009 09:52:27 +0000 (09:52 +0000)] 
b44: Use kernel DMA addresses for the kernel DMA API

We must not use the device DMA addresses for the kernel DMA API, because
device DMA addresses have an additional offset added for the SSB translation.

Use the original dma_addr_t for the sync operation.

Cc: stable@kernel.org
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoforcedeth: Fix resume from hibernation regression.
Ed Swierk [Tue, 7 Apr 2009 00:49:12 +0000 (17:49 -0700)] 
forcedeth: Fix resume from hibernation regression.

Reset phy state on resume, fixing a regression caused by powering down
the phy on hibernate.

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agocx231xx: Convert to snd_card_create()
Mauro Carvalho Chehab [Tue, 7 Apr 2009 00:25:29 +0000 (21:25 -0300)] 
cx231xx: Convert to snd_card_create()

Convert from snd_card_new() to the new snd_card_create() function.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m
Randy Dunlap [Mon, 6 Apr 2009 21:59:31 +0000 (18:59 -0300)] 
V4L/DVB (11440): PWC: fix build error when CONFIG_INPUT=m

Fix build errors when USB_PWC=y and INPUT=m.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_...
Randy Dunlap [Mon, 6 Apr 2009 21:57:55 +0000 (18:57 -0300)] 
V4L/DVB (11439): UVC: uvc_status_cleanup(): undefined reference to `input_unregister_device'

Fix build errors when USB_VIDEO_CLASS=y and INPUT=m.
Fixes kernel bugzilla #12671.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11438): au0828: fix Kconfig dependance
Alexander Beregalov [Mon, 6 Apr 2009 02:14:43 +0000 (23:14 -0300)] 
V4L/DVB (11438): au0828: fix Kconfig dependance

Fix this build error:
ERROR: "videobuf_queue_vmalloc_init" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "videobuf_vmalloc_free" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "videobuf_to_vmalloc" [drivers/media/video/au0828/au0828.ko] undefined!

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs
Jean Delvare [Sat, 4 Apr 2009 21:13:33 +0000 (18:13 -0300)] 
V4L/DVB (11437): pvrusb2: Drop client_register/unregister stubs

The client_register and client_unregister methods are optional so
there is no point in defining stub ones. Especially when these methods
are likely to be removed soon.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11436): radio-mr800: convert to to v4l2_device
Alexey Klimov [Fri, 3 Apr 2009 21:45:27 +0000 (18:45 -0300)] 
V4L/DVB (11436): radio-mr800: convert to to v4l2_device

radio-mr800: convert to to v4l2_device.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11435): dsbr100 radio: convert to to v4l2_device
Alexey Klimov [Fri, 3 Apr 2009 21:45:17 +0000 (18:45 -0300)] 
V4L/DVB (11435): dsbr100 radio: convert to to v4l2_device

dsbr100: convert to v4l2_device.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB: zr364xx: remove unused #include <version.h>
Huang Weiyi [Thu, 2 Apr 2009 15:30:26 +0000 (12:30 -0300)] 
V4L/DVB: zr364xx: remove unused #include <version.h>

Remove unused #include <version.h> in drivers/media/video/zr364xx.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB: usbvision: remove unused #include <version.h>
Huang Weiyi [Thu, 2 Apr 2009 15:30:19 +0000 (12:30 -0300)] 
V4L/DVB: usbvision: remove unused #include <version.h>

Remove unused #include <version.h> in
drivers/media/video/usbvision/usbvision-i2c.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11427): gspca - m5602: Minor cleanups
Erik Andr?n [Sun, 4 Jan 2009 10:35:27 +0000 (07:35 -0300)] 
V4L/DVB (11427): gspca - m5602: Minor cleanups

Remove an unnecessary error check and reorder some code.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write
Erik Andr?n [Sun, 4 Jan 2009 10:28:42 +0000 (07:28 -0300)] 
V4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write

Touching the hflip/vflip register while doing the read/modify/write corrupts the image. Just read from the sensor ctrl cache instead and all is good.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.
Erik Andr?n [Sun, 4 Jan 2009 07:52:50 +0000 (04:52 -0300)] 
V4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.

The vflip quirk is better checked at probe time as it's only needed once.
Also add an extra reset at init time to resolve a suspend to ram regression.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on...
Erik Andr?n [Sat, 3 Jan 2009 16:58:12 +0000 (13:58 -0300)] 
V4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on vflip.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache...
Erik Andr?n [Sat, 3 Jan 2009 15:10:11 +0000 (12:10 -0300)] 
V4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache ctrl.

Reading and writing to a register doesn't always work reliably. Add a cache
and ensure that it is deallocated properly upon module disconnect.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define
Erik Andr?n [Sat, 3 Jan 2009 13:56:51 +0000 (10:56 -0300)] 
V4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.
Erik Andr?n [Sat, 3 Jan 2009 13:55:52 +0000 (10:55 -0300)] 
V4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.

Previously all resolution setting was done with precalculated tables.
When the image is vflipped we need to adjust the alignment which would
require another table. Now we can adjust the parameters on the fly instead.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver
Erik Andr?n [Fri, 2 Jan 2009 20:58:08 +0000 (17:58 -0300)] 
V4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver

Some errors were not propagated properly.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11419): gspca - m5602-ov9650: Don't read exposure data from COM1.
Erik Andr?n [Wed, 31 Dec 2008 10:25:42 +0000 (07:25 -0300)] 
V4L/DVB (11419): gspca - m5602-ov9650: Don't read exposure data from COM1.

ov9650: Reading the COM1 register corrupts the image.
Decrease the granularity of the exposure and limit its upper range
as setting such high values doesn't have any effect on the image.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11418): gspca - m5602-ov9650: Auto white balancing is on by default
Erik Andr?n [Wed, 31 Dec 2008 09:36:52 +0000 (06:36 -0300)] 
V4L/DVB (11418): gspca - m5602-ov9650: Auto white balancing is on by default

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11417): gspca - m5602-ov9650: Autogain is on by default
Erik Andr?n [Wed, 31 Dec 2008 07:49:33 +0000 (04:49 -0300)] 
V4L/DVB (11417): gspca - m5602-ov9650: Autogain is on by default

Autogain is on by default, properly set the default value in the v4l2 ctrl.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11416): gspca - m5602: Constify all sensor structs
Erik Andr?n [Tue, 30 Dec 2008 20:35:34 +0000 (17:35 -0300)] 
V4L/DVB (11416): gspca - m5602: Constify all sensor structs

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11415): gspca - m5602: Remove an unused member in the sd struct.
Erik Andr?n [Tue, 30 Dec 2008 20:18:23 +0000 (17:18 -0300)] 
V4L/DVB (11415): gspca - m5602: Remove an unused member in the sd struct.

Remove an unused sd struct member. Remove a redundant define while we're at it.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
15 years agoV4L/DVB (11414): gspca - m5602-mt9m111: Move v4l2 controls to main sensor file.
Erik Andr?n [Tue, 30 Dec 2008 20:06:55 +0000 (17:06 -0300)] 
V4L/DVB (11414): gspca - m5602-mt9m111: Move v4l2 controls to main sensor file.

Move over the v4l2 controls to the sensor specific source file.
Remove the now redundant sensor struct member.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>