]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoBtrfs: Fix sparse endian warnings in struct-funcs.c
Chris Mason [Tue, 2 Dec 2008 16:18:37 +0000 (11:18 -0500)]
Btrfs: Fix sparse endian warnings in struct-funcs.c

The btrfs macros to access individual struct members on disk were
sending the same variable to functions that expected different types
of endianness.  This fix explicitly creates a variable of the correct
type instead of abusing a single variable for mixed purposes.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoASoC: Push platform registration down into the card
Mark Brown [Tue, 2 Dec 2008 16:01:14 +0000 (16:01 +0000)]
ASoC: Push platform registration down into the card

As part of the deprecation of snd_soc_device push the registration of
the platform down into the card structure.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration
Mark Brown [Tue, 2 Dec 2008 15:15:50 +0000 (15:15 +0000)]
ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration

This fixes a sparse warning caused by the lack of a connection with the
prototype for ac97_bus_type.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoASoC: Push workqueue data into snd_soc_card
Mark Brown [Tue, 2 Dec 2008 15:08:03 +0000 (15:08 +0000)]
ASoC: Push workqueue data into snd_soc_card

ASoC v2 does not use the struct snd_soc_device at runtime, using struct
snd_soc_card as the root of the card.  Begin removing data from
snd_soc_device by pushing the workqueue data into snd_soc_card, using a
backpointer to the snd_soc_device to keep things going for the time
being.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
17 years agoBtrfs: rev the disk format for the inode compat and csum selection changes
Chris Mason [Tue, 2 Dec 2008 14:58:02 +0000 (09:58 -0500)]
Btrfs: rev the disk format for the inode compat and csum selection changes

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: delete unused function: btrfs_invalidate_dcache_root
Chris Mason [Tue, 2 Dec 2008 14:57:03 +0000 (09:57 -0500)]
Btrfs: delete unused function: btrfs_invalidate_dcache_root

Snapshot and subvolume creation no longer need this helper.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agofuse: clean up annotations of fc->lock
Harvey Harrison [Tue, 2 Dec 2008 13:49:42 +0000 (14:49 +0100)]
fuse: clean up annotations of fc->lock

Makes the existing annotations match the more common one per line style
and adds a few missing annotations.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
17 years agofuse: fix sparse warning in ioctl
Miklos Szeredi [Tue, 2 Dec 2008 13:49:42 +0000 (14:49 +0100)]
fuse: fix sparse warning in ioctl

Fix sparse warning:

  CHECK   fs/fuse/file.c
fs/fuse/file.c:1615:17: warning: incorrect type in assignment (different address spaces)
fs/fuse/file.c:1615:17:    expected void [noderef] <asn:1>*iov_base
fs/fuse/file.c:1615:17:    got void *<noident>

This was introduced by "fuse: implement ioctl support".

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
17 years agoBtrfs: add support for multiple csum algorithms
Josef Bacik [Tue, 2 Dec 2008 12:17:45 +0000 (07:17 -0500)]
Btrfs: add support for multiple csum algorithms

This patch gives us the space we will need in order to have different csum
algorithims at some point in the future.  We save the csum algorithim type
in the superblock, and use those instead of define's.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
17 years agovirtio_net: large tx MTU support
Mark McLoughlin [Wed, 26 Nov 2008 13:58:11 +0000 (13:58 +0000)]
virtio_net: large tx MTU support

We don't really have a max tx packet size limit, so allow configuring
the device with up to 64k tx MTU.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
17 years agoBtrfs: fix panic on error during mount
Josef Bacik [Tue, 2 Dec 2008 11:36:10 +0000 (06:36 -0500)]
Btrfs: fix panic on error during mount

This needs to be applied on top of my previous patches, but is needed for more
than just my new stuff.  We're going to the wrong label when we have an error,
we try to stop the workers, but they are started below all of this code.  This
fixes it so we go to the right error label and not panic when we fail one of
these cases.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
17 years agoBtrfs: add support for compat flags to btrfs
Josef Bacik [Tue, 2 Dec 2008 11:36:08 +0000 (06:36 -0500)]
Btrfs: add support for compat flags to btrfs

This adds the necessary disk format for handling compatibility flags
in the future to handle disk format changes.  We have a compat_flags,
compat_ro_flags and incompat_flags set for the super block.  Compat
flags will be to hold the features that are compatible with older
versions of btrfs, compat_ro flags have features that are compatible
with older versions of btrfs if the fs is mounted read only, and
incompat_flags has features that are incompatible with older versions
of btrfs.  This also axes the compat_flags field for the inode and
just makes the flags field a 64bit field, and changes the root item
flags field to 64bit.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
17 years agoBtrfs: btrfs: pass void __user * to btrfs_ioctl_clone_range
Christoph Hellwig [Tue, 2 Dec 2008 14:52:24 +0000 (09:52 -0500)]
Btrfs: btrfs: pass void __user * to btrfs_ioctl_clone_range

Cleans the code up a little and also avoids a sparse warning due to the
incorrect cast in the current version of the code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
17 years agoBtrfs: clean up btrfs_ioctl a little bit
Christoph Hellwig [Tue, 2 Dec 2008 11:36:08 +0000 (06:36 -0500)]
Btrfs: clean up btrfs_ioctl a little bit

Provide a void __user *argp pointer so that we can avoid duplicating
the cast for various sub-command calls.

Signed-off-by: Christoph Hellwig <hch@lst.de>
17 years agoBtrfs: corret fmode_t annotations
Christoph Hellwig [Tue, 2 Dec 2008 11:36:09 +0000 (06:36 -0500)]
Btrfs: corret fmode_t annotations

Make sure to propagate fmode_t properly and use the right constants for
it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
17 years agoBtrfs: fix shadowed variable declarations
Christoph Hellwig [Tue, 2 Dec 2008 11:36:09 +0000 (06:36 -0500)]
Btrfs: fix shadowed variable declarations

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: make things static and include the right headers
Christoph Hellwig [Tue, 2 Dec 2008 14:54:17 +0000 (09:54 -0500)]
Btrfs: make things static and include the right headers

Shut up various sparse warnings about symbols that should be either
static or have their declarations in scope.

Signed-off-by: Christoph Hellwig <hch@lst.de>
17 years agoBtrfs: remove unneeded btrfs_start_delalloc_inodes call
Sage Weil [Tue, 2 Dec 2008 14:53:09 +0000 (09:53 -0500)]
Btrfs: remove unneeded btrfs_start_delalloc_inodes call

It is called by btrfs_sync_fs.

Signed-off-by: Sage Weil <sage@newdream.net>
17 years agoBtrfs: remove unneeded total_trans
Sage Weil [Tue, 2 Dec 2008 11:36:10 +0000 (06:36 -0500)]
Btrfs: remove unneeded total_trans

Remove unneeded debugging sanity check.  It gets corrupted anyway when
multiple btrfs file systems are mounted, throwing bad warnings along the
way.

Signed-off-by: Sage Weil <sage@newdream.net>
17 years agoBtrfs: sparse lock verification annotations for wait_on_state
Christoph Hellwig [Tue, 2 Dec 2008 11:36:10 +0000 (06:36 -0500)]
Btrfs: sparse lock verification annotations for wait_on_state

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years ago[MTD] [NAND] drivers/mtd/nand/pasemi_nand.c: Add missing pci_dev_put
Julia Lawall [Mon, 1 Dec 2008 22:00:55 +0000 (23:00 +0100)]
[MTD] [NAND] drivers/mtd/nand/pasemi_nand.c: Add missing pci_dev_put

pci_get_device increments a reference count that should be decremented
using pci_dev_put.

The semantic patch that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@r exists@
local idexpression x;
statement S,S1;
position p1,p2,p3;
expression E,E1;
type T,T1;
expression *ptr != NULL;
@@

(
 if ((x@p1 = pci_get_device(...)) == NULL) S
|
 x@p1 = pci_get_device(...);
)
 ... when != pci_dev_put(...,(T)x,...)
     when != if (...) { <+... pci_dev_put(...,(T)x,...) ...+> }
     when != true x == NULL || ...
     when != x = E
     when != E = (T)x
     when any
(
 if (x == NULL || ...) S1
|
 if@p2 (...) {
  ... when != pci_dev_put(...,(T1)x,...)
      when != if (...) { <+... pci_dev_put(...,(T1)x,...) ...+> }
      when != x = E1
      when != E1 = (T1)x
(
  return \(0\|<+...x...+>\|ptr\);
|
  return@p3 ...;
)
}
)

@ script:python @
p1 << r.p1;
p3 << r.p3;
@@

print "* file: %s pci_get_device: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years agox86, apm: remove CONFIG_APM_REAL_MODE_POWER_OFF in favor of a kernel parameter
Niels de Vos [Mon, 1 Dec 2008 22:13:53 +0000 (14:13 -0800)]
x86, apm: remove CONFIG_APM_REAL_MODE_POWER_OFF in favor of a kernel parameter

Remove CONFIG_APM_REAL_MODE_POWER_OFF like CONFIG_APM_POWER_OFF which
has been done for linux-2.2.14pre8 (http://lkml.org/lkml/1999/11/23/3).

Re-introducing CONFIG_APM_POWER_OFF got nack-ed. Stephen didn't bother
to remove CONFIG_APM_REAL_MODE_POWER_OFF, let's get rid of it now.
Reference: http://lkml.org/lkml/2008/5/7/97

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agogenirq: warn when IRQF_DISABLED may be ignored
David Brownell [Mon, 1 Dec 2008 22:31:37 +0000 (14:31 -0800)]
genirq: warn when IRQF_DISABLED may be ignored

Impact: emit new warning

We periodically waste time tracking down problems from the genirq
framework not respecting IRQF_DISABLED for some shared IRQ cases.  Linus
views this as "will not fix", but we're still left with the bugs caused by
this misbehavior.

This patch adds a nag message in request_irq(), so that drivers can fix
their IRQ handlers to avoid this problem.

Note that developers will never see the relevant bugs when they run with
LOCKDEP, so it's no wonder these bugs are hard to find.  (That also means
LOCKDEP is overlooking some IRQ-related bugs involving IRQ handlers that
don't set IRQF_DISABLED...)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agogenirq: record IRQ_LEVEL in irq_desc[]
David Brownell [Mon, 1 Dec 2008 22:31:38 +0000 (14:31 -0800)]
genirq: record IRQ_LEVEL in irq_desc[]

Impact: fix __irq_set_trigger() for IRQ_LEVEL

When recording the irq trigger type, let's also make sure
that IRQ_LEVEL gets set correctly.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: support for x86-64
Frederic Weisbecker [Mon, 1 Dec 2008 23:20:39 +0000 (00:20 +0100)]
tracing/function-graph-tracer: support for x86-64

Impact: extend and enable the function graph tracer to 64-bit x86

This patch implements the support for function graph tracer under x86-64.
Both static and dynamic tracing are supported.

This causes some small CPP conditional asm on arch/x86/kernel/ftrace.c I
wanted to use probe_kernel_read/write to make the return address
saving/patching code more generic but it causes tracing recursion.

That would be perhaps useful to implement a notrace version of these
function for other archs ports.

Note that arch/x86/process_64.c is not traced, as in X86-32. I first
thought __switch_to() was responsible of crashes during tracing because I
believed current task were changed inside but that's actually not the
case (actually yes, but not the "current" pointer).

So I will have to investigate to find the functions that harm here, to
enable tracing of the other functions inside (but there is no issue at
this time, while process_64.c stays out of -pg flags).

A little possible race condition is fixed inside this patch too. When the
tracer allocate a return stack dynamically, the current depth is not
initialized before but after. An interrupt could occur at this time and,
after seeing that the return stack is allocated, the tracer could try to
trace it with a random uninitialized depth. It's a prevention, even if I
hadn't problems with it.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: emu10k1 - Add capture boost mixer switch for Audigy
Takashi Iwai [Tue, 2 Dec 2008 08:31:16 +0000 (09:31 +0100)]
ALSA: emu10k1 - Add capture boost mixer switch for Audigy

Due to the conversion (drop) from 24bit in the DSP to 16bit in AC97,
the maximum capture level on Audigy seems lower than it could be.

This patch adds a workaround to enable the artificial capture boost
switch.  When this switch is on, the whole analog capature level is
boost up.  However, this results in the lower capture resolution.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agofunction trace: fix a bug of single thread function trace
Liming Wang [Tue, 2 Dec 2008 02:33:08 +0000 (10:33 +0800)]
function trace: fix a bug of single thread function trace

Impact: fix "no output from tracer" bug caused by ftrace_update_pid_func()

When disabling single thread function trace using
"echo -1 > set_ftrace_pid", the normal function trace
has to restore to original function, otherwise the normal
function trace will not work well.

Without this commit, something like below:

$ ps |grep 850
  850 root      2556 S    -/bin/sh
$ echo 850 > /debug/tracing/set_ftrace_pid
$ echo function > /debug/tracing/current_tracer
$ echo 1 > /debug/tracing/tracing_enabled
$ sleep 1
$ echo 0 > /debug/tracing/tracing_enabled
$ cat /debug/tracing/trace_pipe |wc -l
59704
$ echo -1 > /debug/tracing/set_ftrace_pid
$ echo 1 > /debug/tracing/tracing_enabled
$ sleep 1
$ echo 0 > /debug/tracing/tracing_enabled
$ more /debug/tracing/trace_pipe
<====== nothing output now!
it should output trace record.

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-graph...
Ingo Molnar [Tue, 2 Dec 2008 08:20:44 +0000 (09:20 +0100)]
Merge branches 'tracing/branch-tracer', 'tracing/ftrace', 'tracing/function-graph-tracer', 'tracing/markers', 'tracing/powerpc', 'tracing/stack-tracer' and 'tracing/tracepoints' into tracing/core

17 years agoMerge branch 'tracing/urgent' into tracing/core
Ingo Molnar [Tue, 2 Dec 2008 08:20:29 +0000 (09:20 +0100)]
Merge branch 'tracing/urgent' into tracing/core

Conflicts:
kernel/trace/ring_buffer.c

17 years agonet: percpu_counter_inc() should not be called in BH-disabled section
Eric Dumazet [Tue, 2 Dec 2008 07:37:17 +0000 (23:37 -0800)]
net: percpu_counter_inc() should not be called in BH-disabled section

Based upon a lockdep report by Alexey Dobriyan.

I checked all per_cpu_counter_xxx() usages in network tree, and I
think all call sites are BH enabled except one in
inet_csk_listen_stop().

commit dd24c00191d5e4a1ae896aafe33c6b8095ab4bd1
(net: Use a percpu_counter for orphan_count)
replaced atomic_t orphan_count to a percpu_counter.

atomic_inc()/atomic_dec() can be called from any context, while
percpu_counter_xxx() should be called from a consistent state.

For orphan_count, this context can be the BH-enabled one.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Feature activation handlers
Gerrit Renker [Tue, 2 Dec 2008 07:34:01 +0000 (23:34 -0800)]
dccp: Feature activation handlers

This patch provides the post-processing of feature negotiation state, after
the negotiation has completed.

To this purpose, handlers are used and added to the dccp_feat_table. Each
handler is passed a boolean flag whether the RX or TX side of the feature
is meant.

Several handlers are provided already, new handlers can easily be added.

The initialisation is now fully dynamic, i.e. CCIDs are activated only
after the feature negotiation. The integration of this dynamic activation
is done in the subsequent patches.

Thanks to Wei Yongjun for pointing out the necessity of skipping over empty
Confirm options while copying the negotiated feature values.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Processing Confirm options
Gerrit Renker [Tue, 2 Dec 2008 07:33:18 +0000 (23:33 -0800)]
dccp: Processing Confirm options

Analogous to the previous patch, this adds code to interpret incoming Confirm
feature-negotiation options. Both functions operate on the feature-negotiation
list of either the request_sock (server) or the dccp_sock (client).

Thanks to Wei Yongjun for pointing out that it is overly restrictive to check
the entire list of confirmed SP values.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Process incoming Change feature-negotiation options
Gerrit Renker [Tue, 2 Dec 2008 07:32:35 +0000 (23:32 -0800)]
dccp: Process incoming Change feature-negotiation options

This adds/replaces code for processing incoming ChangeL/R options.
The main difference is that:
 * mandatory FN options are now interpreted inside the function
  (there are too many individual cases to do this externally);
 * the function returns an appropriate Reset code or 0,
   which is then used to fill in the data for the Reset packet.

Old code, which is no longer used or referenced, has been removed.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Preference list reconciliation
Gerrit Renker [Tue, 2 Dec 2008 07:31:04 +0000 (23:31 -0800)]
dccp: Preference list reconciliation

This provides two functions to
 * reconcile preference lists (with appropriate return codes) and
 * reorder the preference list if successful reconciliation changed the
   preferred value.

The patch also removes the old code for processing SP/NN Change options, since
new code to process these is mostly there already; related references have been
commented out.

The code for processing Change options follows in the next patch.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Integrate feature-negotiation insertion code
Gerrit Renker [Tue, 2 Dec 2008 07:29:30 +0000 (23:29 -0800)]
dccp: Integrate feature-negotiation insertion code

The patch implements insertion of feature negotiation at the server (listening
and request socket) and the client (connecting socket).

In dccp_insert_options(), several statements have been grouped together now
to achieve (it is hoped) better efficiency by reducing the number of tests
each packet has to go through:
 - Ack Vectors are sent if the packet is neither a Data or a Request packet;
 - a previous issue is corrected - feature negotiation options are allowed
   on DataAck packets (5.8).

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Insert feature-negotiation options into skb
Gerrit Renker [Tue, 2 Dec 2008 07:27:31 +0000 (23:27 -0800)]
dccp: Insert feature-negotiation options into skb

This patch replaces the earlier insertion routine from options.c, so that
code specific to feature negotiation can remain in feat.c. This is possible
by calling a function already existing in options.c.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ARM] pxa: add basic support for HP iPAQ h5000
Anton Vorontsov [Thu, 23 Oct 2008 19:06:56 +0000 (21:06 +0200)]
[ARM] pxa: add basic support for HP iPAQ h5000

This patch adds HP iPAQ h5000's (h5400, h5500) basic definitions.

Kernel will able to boot, work via serial console, mount filesystems
placed on flashes and run USB gadgets (g_ether by default).

Other device drivers (frame buffer, LCD, touchscreen, backlight,
bluetooth, w1/battery, ...) are depend on SAMCOP and MediaQ
SoCs/MFDs, drivers to which will be submitted too, after massive
cleanups.

This machine will be used as "real user" for these new drivers.

This is an updated version of the patch, which contains fixes proposed on
linux-arm-kernel mailing list.

Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Milan Plzik <milan.plzik@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/poodle: add physmap mapping for ROM
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:30 +0000 (00:57 +0300)]
[ARM] pxa/poodle: add physmap mapping for ROM

Add mapping for system ROM using physmap-flash mapping.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/corgi: add physmap mapping for ROM
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:29 +0000 (00:57 +0300)]
[ARM] pxa/corgi: add physmap mapping for ROM

Add mapping for system ROM using physmap-flash mapping.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/spitz: add physmap mapping for ROM
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:28 +0000 (00:57 +0300)]
[ARM] pxa/spitz: add physmap mapping for ROM

Add mapping for system ROM using physmap-flash mapping.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/tosa: add physmap mapping for ROM
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:27 +0000 (00:57 +0300)]
[ARM] pxa/tosa: add physmap mapping for ROM

Add mapping for system ROM using physmap-flash mapping.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/tosa: fix building w/o TC6393XB driver
Dmitry Baryshkov [Wed, 26 Nov 2008 22:25:09 +0000 (01:25 +0300)]
[ARM] pxa/tosa: fix building w/o TC6393XB driver

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/tosa: support tc6393xb/tmiofb.
Dmitry Baryshkov [Tue, 28 Oct 2008 15:40:37 +0000 (18:40 +0300)]
[ARM] pxa/tosa: support tc6393xb/tmiofb.

Add platform data necessary to support tmiofb on tosa.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/MioA701: improve power supply sources
Robert Jarzmik [Sat, 15 Nov 2008 15:09:59 +0000 (16:09 +0100)]
[ARM] pxa/MioA701: improve power supply sources

Take advantage of the newly created wm97xx battery driver
and remove useless code in mioa701 board code. Add also the
ac connection detect capability after the matching gpio was
discovered.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/MioA701: discovered new gpio definitions.
Robert Jarzmik [Tue, 18 Nov 2008 19:23:32 +0000 (20:23 +0100)]
[ARM] pxa/MioA701: discovered new gpio definitions.

The charger enable gpio is straight (1 means draw from USB
Vbus, 0 mean do not draw). The USB Vbus sensing is inverted
(1 means no Vbus voltage sensed, 0 means Vbus voltage
present).

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/MioA701: change reset function to preserve RTC.
Robert Jarzmik [Sat, 15 Nov 2008 15:09:58 +0000 (16:09 +0100)]
[ARM] pxa/MioA701: change reset function to preserve RTC.

Change the halt and reboot method from gpio based to "jump
to ROM IPL beginning". This gives control back to IPL, which
without PowerOn key pressed, will put the device into deep
sleep until PowerOn is pressed for 1 second.

But this has the benefit of keeping the RTC registers across
reboots, which is good for OS change.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/MioA701: add camera support for Mio A701 board.
Robert Jarzmik [Sat, 15 Nov 2008 15:09:54 +0000 (16:09 +0100)]
[ARM] pxa/MioA701: add camera support for Mio A701 board.

Add GPIO configuration and platform specific declarations
to make Mitac Mio A701 camera chip work. The chip is a
Micron MT9M111 CMOS sensor, based on PXA QIF interface and
I2C bus for sensor control.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa/MioA701: remove KConfig leds driver requirement
Robert Jarzmik [Fri, 28 Nov 2008 19:08:19 +0000 (20:08 +0100)]
[ARM] pxa/MioA701: remove KConfig leds driver requirement

Since mioa701 board has migrated to the mfp architecture,
low power gpio setup is now correctly handled even when gpio
led driver is not loaded, and leds and vibrator don't stay
activated in suspend mode (especially vibrator).

Remove the not needed anymore dependency.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: add resources for incoming rtc-pxa driver
Robert Jarzmik [Thu, 13 Nov 2008 22:50:56 +0000 (23:50 +0100)]
[ARM] pxa: add resources for incoming rtc-pxa driver

Add IO memory and IRQ ressources for pxa based SoC to be
able to use the new rtc-pxa driver.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: cpufreq-pxa2xx: sdram_rows detection support
Philipp Zabel [Sun, 29 Jun 2008 14:53:34 +0000 (16:53 +0200)]
[ARM] pxa: cpufreq-pxa2xx: sdram_rows detection support

This patch implements Eric Miao's idea to detect the correct value of
sdram_rows by inspecting the MDCNFG register settings.
It is only tested on two pxa27x devices with 64MB RAM (magician and
hx4700) so far.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: cpufreq-pxa2xx: allow frequency table selection
Marc Zyngier [Tue, 4 Nov 2008 12:33:25 +0000 (13:33 +0100)]
[ARM] pxa: cpufreq-pxa2xx: allow frequency table selection

Following the removal of the "->policy" usage for PXA255 in patch
459fc208abd1b365fa013c17d433dfb5b4bc1e3a (cpufreq: remove
policy->governor setting in drivers initialization), this patch
introduces an option (called "pxa255_turbo_table") to select either
the "run" or "turbo" frequency table.

It also cures the runtime warning that was printed each time the
frequency was changed.

Got rid of all references to CPUFREQ_POLICY_* for pxa255, and sticked
with the run/turbo thing.

Tested on an Arcom/Eurotech Viper.

Signed-off-by: Marc Zyngier <maz@misterjones.org>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxafb: make {backlight,lcd}_power() members of struct pxafb_info
Eric Miao [Tue, 11 Nov 2008 13:50:39 +0000 (21:50 +0800)]
[ARM] pxafb: make {backlight,lcd}_power() members of struct pxafb_info

instead of holding them as static pointers.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] locomo: export locomo_frontlight_set()
Eric Miao [Mon, 1 Dec 2008 03:41:19 +0000 (11:41 +0800)]
[ARM] locomo: export locomo_frontlight_set()

This symbol is required by locomo backlight driver, exporting this
allows the driver to be built as a module.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: add missing GPIOs definitions
Eric Miao [Sat, 22 Nov 2008 13:40:50 +0000 (21:40 +0800)]
[ARM] pxa: add missing GPIOs definitions

GPIO3/GPIO4 are a bit special on pxa27x, since it depends on PCFR/PI2C_EN
bit, add their definitions here with comments.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org>
17 years ago[ARM] pxa: add base PXA935 support due to CPUID change
Eric Miao [Sat, 29 Nov 2008 13:42:39 +0000 (21:42 +0800)]
[ARM] pxa: add base PXA935 support due to CPUID change

PXA935 has changed its implementor ID from Intel to Marvell, this
patch modifies arch/arm/boot/compressed/head.S and proc-xsc3.S to
support a smooth bootup.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: introduced cpu_is_pxa935() and cpu_is_pxa9xx()
Eric Miao [Wed, 26 Nov 2008 07:39:39 +0000 (15:39 +0800)]
[ARM] pxa: introduced cpu_is_pxa935() and cpu_is_pxa9xx()

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move I2C pin configurations out into board specific files
Eric Miao [Fri, 28 Nov 2008 08:00:24 +0000 (16:00 +0800)]
[ARM] pxa: move I2C pin configurations out into board specific files

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: register Power I2C device only when necessary
Eric Miao [Fri, 28 Nov 2008 07:24:12 +0000 (15:24 +0800)]
[ARM] pxa: register Power I2C device only when necessary

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move power I2C device definitions into devices.c
Eric Miao [Fri, 28 Nov 2008 07:01:55 +0000 (15:01 +0800)]
[ARM] pxa: move power I2C device definitions into devices.c

Let's put these devices into a central place even if they are now
processor specific, as they might be re-used in later processors.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: remove unnecessary #include of pxa2xx-gpio.h in clock.c
Eric Miao [Sun, 30 Nov 2008 13:10:05 +0000 (21:10 +0800)]
[ARM] pxa: remove unnecessary #include of pxa2xx-gpio.h in clock.c

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: include <mach/hardware.h> in pxa-regs.h
Eric Miao [Sun, 30 Nov 2008 15:13:52 +0000 (23:13 +0800)]
[ARM] pxa: include <mach/hardware.h> in pxa-regs.h

for the reference of __REG() within <mach/hardware.h>

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: further cleanup of pxa-regs.h
Eric Miao [Fri, 28 Nov 2008 06:57:33 +0000 (14:57 +0800)]
[ARM] pxa: further cleanup of pxa-regs.h

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move GPIOx_BASE and GPIO register offsets to gpio.c
Eric Miao [Fri, 28 Nov 2008 06:54:39 +0000 (14:54 +0800)]
[ARM] pxa: move GPIOx_BASE and GPIO register offsets to gpio.c

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h
Eric Miao [Fri, 28 Nov 2008 06:19:33 +0000 (14:19 +0800)]
[ARM] pxa: move AC97 register definitions into dedicated regs-ac97.h

The optimal change would be to move the AC97 register definitions into
the AC97 driver, unfortunately, the registers are shared between several
files. Move them into a dedicated regs-ac97.h first.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move UART register definitions into dedicated regs-uart.h
Eric Miao [Fri, 28 Nov 2008 06:08:53 +0000 (14:08 +0800)]
[ARM] pxa: move UART register definitions into dedicated regs-uart.h

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move pxa2xx specific PWRMODE definitions into pxa2xx-regs.h
Eric Miao [Fri, 28 Nov 2008 05:49:22 +0000 (13:49 +0800)]
[ARM] pxa: move pxa2xx specific PWRMODE definitions into pxa2xx-regs.h

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: remove the now unused IMPMCR/IMPMSR register definitions
Eric Miao [Fri, 28 Nov 2008 05:38:03 +0000 (13:38 +0800)]
[ARM] pxa: remove the now unused IMPMCR/IMPMSR register definitions

There two are internal registers that are used to control the power
management of the Internal Memory (i.e. Internal SRAM). They are
referenced nowhere and removed here to simplify pxa-regs.h a bit.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: remove unused PWM register definitions, use generic PWM API
Eric Miao [Thu, 27 Nov 2008 09:08:42 +0000 (17:08 +0800)]
[ARM] pxa: remove unused PWM register definitions, use generic PWM API

We now have generic PWM API for PXA, the PWM registers definitions are
now used nowhere, and it is not encouraged to manipulate them directly
by driver code.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move FICP register definitions into pxaficp_ir.c
Eric Miao [Fri, 28 Nov 2008 03:13:47 +0000 (11:13 +0800)]
[ARM] pxa: move FICP register definitions into pxaficp_ir.c

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: move camera (QCI) registers definition out of pxa-regs.h
Eric Miao [Fri, 28 Nov 2008 01:16:52 +0000 (09:16 +0800)]
[ARM] pxa: move camera (QCI) registers definition out of pxa-regs.h

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
17 years ago[ARM] pxa: removed unused declarations of pxa_gpio_* in hardware.h
Eric Miao [Sun, 30 Nov 2008 12:58:42 +0000 (20:58 +0800)]
[ARM] pxa: removed unused declarations of pxa_gpio_* in hardware.h

pxa_gpio_{get,set}_value() are not used anymore, remove them from hardware.h.
Declaration of pxa_gpio_mode() is still being referenced and thus moved into
pxa2xx-gpio.h

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: use <linux/gpio.h> instead of unnecessary <mach/gpio.h>
Eric Miao [Tue, 25 Nov 2008 03:03:03 +0000 (11:03 +0800)]
[ARM] pxa: use <linux/gpio.h> instead of unnecessary <mach/gpio.h>

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: add support for additional GPIOs on PXA26x
Eric Miao [Wed, 26 Nov 2008 10:12:04 +0000 (18:12 +0800)]
[ARM] pxa: add support for additional GPIOs on PXA26x

Original patch from Marek Vasut, the problems with PXA26x are:

1. there are additional 4 GPIOs 86,87,88,89 have their direction bits
   inverted in GPDR2, as well as their alternate function bits being
   '1' for their GPIO functionality in GAFRx

2. there is no easy way to decide if the processor is a pxa26x or a
   pxa250/pxa255 at run-time, so the assumption here is the pxa26x
   will be treated as one of the pxa25x variants, and board code
   should have a better knowledge of the processor it is featured

Introduce pxa26x_init_irq() for the second purpose, and treat the
additional GPIOs > 85 on PXA25x specially.

Kconfig option CONFIG_CPU_PXA26x is introduced to optimize the code
a bit when PXA26x support isn't needed. Board config options have
to select this to enable the support for PXA26x.

__gpio_is_inverted() will be optimized way when CONFIG_CPU_PXA26x
isn't selected.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years agoRevert "[ARM] pxa: introduce cpu_is_pxa26x()"
Eric Miao [Wed, 26 Nov 2008 10:25:52 +0000 (18:25 +0800)]
Revert "[ARM] pxa: introduce cpu_is_pxa26x()"

This reverts commit da1a3dc0ebb4f9209a1939eaa6b18901e0cd7bc0.

The originally proposed way in the above commit is incorrect. And
there is no easy way to distinguish between pxa25x and pxa26x at
run-time.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: use 'pxa_last_gpio' instead of 'gpio_nr' in mfp-pxa2xx.c
Eric Miao [Wed, 26 Nov 2008 09:06:42 +0000 (17:06 +0800)]
[ARM] pxa: use 'pxa_last_gpio' instead of 'gpio_nr' in mfp-pxa2xx.c

The 'gpio_nr' can really be inferred by 'pxa_last_gpio', and since we
already have that variable, remove the unnecessary 'gpio_nr' now.

Also, fix the incorrect GPIO number passed in pxa27x_init_irq().

Note: pxa_last_gpio should be initialized earlier, and this is true
since it's been assigned in machine_desc->init_irq().

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: add muxed gpio wakeup sources on pxa2xx architectures
Robert Jarzmik [Thu, 13 Nov 2008 22:30:00 +0000 (23:30 +0100)]
[ARM] pxa: add muxed gpio wakeup sources on pxa2xx architectures

PXA SoC have several GPIOs muxed on only one wakeup source.
Add support for these wakeup sources which were missing
in mfp core support.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[ARM] pxa: explicit #include <mach/dma.h> in various drivers
Eric Miao [Mon, 1 Dec 2008 03:43:08 +0000 (11:43 +0800)]
[ARM] pxa: explicit #include <mach/dma.h> in various drivers

Where 'pxa_dma_desc' and 'pxa_{request,free}_dma' are referenced.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
17 years ago[XFS] Reorder xfs_ioctl32.c for some tidiness
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:17 +0000 (21:20 -0600)]
[XFS] Reorder xfs_ioctl32.c for some tidiness

Put things in IMHO a more readable order, now
that it's all done; add some comments.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:16 +0000 (21:20 -0600)]
[XFS] Hook up compat XFS_IOC_FSSETDM_BY_HANDLE ioctl handler

Add a compat handler for XFS_IOC_FSSETDM_BY_HANDLE.

I haven't tested this, lacking dmapi tools to do so
(unless xfsqa magically gets this somehow?)

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:15 +0000 (21:20 -0600)]
[XFS] Hook up compat XFS_IOC_ATTRMULTI_BY_HANDLE ioctl handler

Add a compat handler for XFS_IOC_ATTRMULTI_BY_HANDLE

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:14 +0000 (21:20 -0600)]
[XFS] Hook up compat XFS_IOC_ATTRLIST_BY_HANDLE ioctl handler

Add a compat handler for XFS_IOC_ATTRLIST_BY_HANDLE

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:13 +0000 (21:20 -0600)]
[XFS] Fix compat XFS_IOC_FSBULKSTAT_SINGLE ioctl

The XFS_IOC_FSBULKSTAT_SINGLE ioctl passes in the
desired inode number, while XFS_IOC_FSBULKSTAT passes
in the previous/last-stat'd inode number.  The
compat handler wasn't differentiating these, so
when a XFS_IOC_FSBULKSTAT_SINGLE request for inode
128 was sent in, stat information for 131 was sent out.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Fix xfs_bulkstat_one size checks & error handling
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:12 +0000 (21:20 -0600)]
[XFS] Fix xfs_bulkstat_one size checks & error handling

The 32-bit xfs_blkstat_one handler was failing because
a size check checked whether the remaining (32-bit)
user buffer was less than the (64-bit) bulkstat buffer,
and failed with ENOMEM if so.  Move this check
into the respective handlers so that they check the
correct sizes.

Also, the formatters were returning negative errors
or positive bytes copied; this was odd in the positive
error value world of xfs, and handled wrong by at least
some of the callers, which treated the bytes returned
as an error value.  Move the bytes-used assignment
into the formatters.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Make the bulkstat_one compat ioctl handling more sane
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:11 +0000 (21:20 -0600)]
[XFS] Make the bulkstat_one compat ioctl handling more sane

Currently the compat formatter was handled by passing
in "private_data" for the xfs_bulkstat_one formatter,
which was really just another formatter... IMHO this
got confusing.

Instead, just make a new xfs_bulkstat_one_compat
formatter for xfs_bulkstat, and call it via a wrapper.

Also, don't translate the ioctl nrs into their native
counterparts, that just clouds the issue; we're in a
compat handler anyway, just switch on the 32-bit cmds.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Add compat handlers for data & rt growfs ioctls
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:10 +0000 (21:20 -0600)]
[XFS] Add compat handlers for data & rt growfs ioctls

The args for XFS_IOC_FSGROWFSDATA and XFS_IOC_FSGROWFSRTA
have padding on the end on intel, so add arg copyin functions,
and then just call the growfs ioctl helpers.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Add compat handlers for swapext ioctl
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:09 +0000 (21:20 -0600)]
[XFS] Add compat handlers for swapext ioctl

The big hitter here was the bstat field, which contains
different sized time_t on 32 vs. 64 bit.  Add a copyin
function to translate the 32-bit arg to 64-bit, and
call the swapext ioctl helper.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Clean up some existing compat ioctl calls
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:08 +0000 (21:20 -0600)]
[XFS] Clean up some existing compat ioctl calls

Create a new xfs_ioctl.h file which has prototypes for
ioctl helpers that may be called in compat mode.

Change several compat ioctl cases which are IOW to simply copy
in the userspace argument, then call the common ioctl helper.

This also fixes xfs_compat_ioc_fsgeometry_v1(), which had
it backwards before; it copied in an (empty) arg, then copied
out the native result, which probably corrupted userspace.  It
should be translating on the copyout.

Also, a bit of formatting cleanup for consistency, and conversion
of all error returns to use XFS_ERROR().

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:07 +0000 (21:20 -0600)]
[XFS] Move compat ioctl structs & numbers into xfs_ioctl32.h

This makes the c file less cluttered and a bit more
readable.   Consistently name the ioctl number
macros with "_32" and the compatibility stuctures
with "_compat."  Rename the helpers which simply
copy in the arg with "_copyin" for easy identification.

Finally, for a few of the existing helpers, modify them
so that they directly call the native ioctl helper
after userspace argument fixup.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years ago[XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch.
sandeen@sandeen.net [Wed, 26 Nov 2008 03:20:06 +0000 (21:20 -0600)]
[XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch.

Moving the copy_from_user out of some of the ioctl helpers will
make it easier for the compat ioctl switch to copy in the right
struct, then just pass to the underlying helper.

Also, move common access checks into the helpers themselves,
and out of the native ioctl switch code, to reduce code
duplication between native & compat ioctl callers.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
17 years agoIB/ipath: Improve UD loopback performance by allocating temp array only once
Ralph Campbell [Tue, 2 Dec 2008 04:59:08 +0000 (20:59 -0800)]
IB/ipath: Improve UD loopback performance by allocating temp array only once

Receive work queue entries are checked for L_Key validity, and
pointers to the memory region structure are saved in an allocated
structure.  For UD loopback packets, this structure is allocated and
freed for each packet.  This patch changes that to allocate/free
during QP creation and destruction.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB/ipath: Fix pointer-to-pointer thinko in ipath_fs.c
Michael Ellerman [Tue, 2 Dec 2008 04:59:07 +0000 (20:59 -0800)]
IB/ipath: Fix pointer-to-pointer thinko in ipath_fs.c

The return from lookup_one_len() is assigned to *dentry, so that's
what we should be checking with IS_ERR().

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB/ehca: Fix locking for shca_list_lock
Joachim Fenkes [Tue, 2 Dec 2008 04:58:57 +0000 (20:58 -0800)]
IB/ehca: Fix locking for shca_list_lock

shca_list_lock is taken from softirq context in ehca_poll_eqs, so we
need to lock IRQ safe elsewhere.  Found by lockdep.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoLinux 2.6.28-rc7 v2.6.28-rc7
Linus Torvalds [Tue, 2 Dec 2008 03:59:23 +0000 (19:59 -0800)]
Linux 2.6.28-rc7

17 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Tue, 2 Dec 2008 03:56:34 +0000 (19:56 -0800)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (25 commits)
  em28xx: remove backward compat macro added on a previous fix
  V4L/DVB (9748): em28xx: fix compile warning
  V4L/DVB (9743): em28xx: fix oops audio
  V4L/DVB (9742): em28xx-alsa: implement another locking schema
  V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStick
  V4L/DVB (9691): gspca: Move the video device to a separate area.
  V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put.
  V4L/DVB (9689): gspca: Memory leak when disconnect while streaming.
  V4L/DVB (9668): em28xx: fix a race condition with hald
  V4L/DVB (9664): af9015: don't reconnect device in USB-bus
  V4L/DVB (9647): em28xx: void having two concurrent control URB's
  V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urb
  V4L/DVB (9645): em28xx: Avoid memory leaks if registration fails
  V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20
  V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endian
  V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner
  V4L/DVB (9632): make em28xx aux audio input work
  V4L/DVB (9631): Make s2api work for ATSC support
  V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eeprom
  V4L/DVB (9608): Fix section mismatch warning for dm1105 during make
  ...

17 years agodrivers/gpu/drm/i915/i915_irq.c: fix warning
Andrew Morton [Mon, 1 Dec 2008 21:14:08 +0000 (13:14 -0800)]
drivers/gpu/drm/i915/i915_irq.c: fix warning

drivers/gpu/drm/i915/i915_irq.c: In function 'i915_disable_pipestat':
drivers/gpu/drm/i915/i915_irq.c:101: warning: control may reach end of non-void function 'i915_pipestat' being inlined

Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi82875p_edac: fix module remove
Jarkko Lavinen [Mon, 1 Dec 2008 21:14:08 +0000 (13:14 -0800)]
i82875p_edac: fix module remove

Fix module removal bugs of i82875p_edac.  Also i82975x_edac code seems to
have the same module removal bugs as in i82875p_edac.

The problems were:

1. In module removal i82875p_remove_one() is never called.

   Variable i82875p_registered is newer changed from 1, which
   guarantees i82875p_remove_one() is not called (and even if it were
   called, it would be called in wrong order).

   As a result, the edac_mc workque is not stopped and keeps probing.
   If kernel debugging options are not enabled, user may not notice
   anything going wrong.

   if debugging options are enabled and I do "rmmod i82875p_edac", I
   get:

      edac debug: edac_pci_workq_function() checking
      BUG: unable to handle kernel paging request at f882d16f
      ...
      call trace:
       [<f8834df3>] ? edac_mc_workq_function+0x55/0x7e [edac_core]
       [<c0233974>] ? run_workqueue+0xd7/0x1a5
       [<c023392f>] ? run_workqueue+0x92/0x1a5
       [<f8834d9e>] ? edac_mc_workq_function+0x0/0x7e [edac_core]
       [<c0233af9>] ? worker_thread+0xb7/0xc3
       [<c0236a7b>] ? autoremove_wake_function+0x0/0x33
       [<c0233a42>] ? worker_thread+0x0/0xc3
       [<c0236809>] ? kthread+0x3b/0x61
       [<c02367ce>] ? kthread+0x0/0x61
       [<c0204587>] ? kernel_thread_helper+0x7/0x10

   Fix for this is to get rid of needles variable i82875p_registered
   altogether and run i82875p_remove_one() *before*
   pci_unregister_driver().

2. edac_mc_del_mc() uses mci after freeing mci

   edac_mc_del_mc() calls calls edac_remove_sysfs_mci_device().  The
   kobject refcount of mci drops to 0 and mci is freed.  After this
   mci is accessed via debug print and i82875p_remove_one() still
   uses mci->pvt and tries to free mci again with edac_mc_free().

   The fix for this is add kobject_get(&mci->edac_mci_kobj) after
   edac_mc_alloc(). Then the mci is still available after returning
   from edac_mc_del_mc() with refcount 1, and mci->pvt is still
   available. When i82875p_remove_one() finally calls edac_mc_free(),
   this will cause kobject_put() and mci is released properly.

Signed-off-by: Jarkko Lavinen <jlavi@iki.fi>
Cc: Doug Thompson <norsk5@yahoo.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi82875p_edac: fix overflow device resource setup
Jarkko Lavinen [Mon, 1 Dec 2008 21:14:06 +0000 (13:14 -0800)]
i82875p_edac: fix overflow device resource setup

When I do "modprobe i82875p_edac" on my Asus P4C800 MB on kernels 2.6.26
or later, the module load fails due to BAR 0 collision.  On 2.6.25 the
module loads just fine.

The overflow device on the MB seems to be hidden and its resources are not
allocated at normal PCI bus init.  Log shows the missing resource problem:

  EDAC DEBUG: i82875p_probe1()
  PCI: 0000:00:06.0 reg 10 32bit mmio: [fecf0000fecf0fff]
  pci 0000:00:06.0: device not available because of BAR 0
[0xfecf0000-0xfecf0fff] collisions
  EDAC i82875p: i82875p_setup_overfl_dev(): Failed to enable overflow
device

The patch below fixes this by calling pci_bus_assign_resources() after
the overflow device is revealed and added to the bus. With this patch
I am again able to load and use the module.

Signed-off-by: Jarkko Lavinen <jlavi@iki.fi>
Cc: Doug Thompson <norsk5@yahoo.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: fix FB console blanking
Dmitry Baryshkov [Mon, 1 Dec 2008 21:14:05 +0000 (13:14 -0800)]
fbdev: fix FB console blanking

The commit aef7db4bd5a3b6068dfa05919a3d685199eed116 fixed the problem with
recursive locking in fb blanking code if blank is caused by user setting
the /sys/class/graphics/fb*/blank.  However this broke the fbcon timeout
blanking.

If you use a driver that defines ->fb_blank operation and at the same time
that driver relies on other driver (e.g.  backlight or lcd class) to blank
the screen, when the fbcon times out and tries to blank the fb, it will
call only fb driver blanker and won't notify the other driver.  Thus FB
output is disabled, but the screen isn't blanked.

Restore fbcon blanking and at the same time apply the proper fix for the
above problem: if fbcon_blank is called with FBINFO_FLAG_USEREVENT, we are
already called through notification from fb_blank, thus we don't have to
blank the fb again.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agontfs: don't fool kernel-doc
Randy Dunlap [Mon, 1 Dec 2008 21:14:04 +0000 (13:14 -0800)]
ntfs: don't fool kernel-doc

kernel-doc handles macros now (it has for quite some time), so change the
ntfs_debug() macro's kernel-doc to be just before the macro instead of
before a phony function prototype.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Anton Altaparmakov <aia21@cantab.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agokernel-doc: handle varargs cleanly
Randy Dunlap [Mon, 1 Dec 2008 21:14:03 +0000 (13:14 -0800)]
kernel-doc: handle varargs cleanly

The method for listing varargs in kernel-doc notation is:
 * @...: these arguments are printed by the @fmt argument

but scripts/kernel-doc is confused:  it always lists varargs as:
... variable arguments
and ignores the @...: line's description, but then prints that
line after the list of function parameters as though it's
not part of the function parameters.

This patch makes kernel-doc print the supplied @...  description if it is
present; otherwise a boilerplate "variable arguments" is printed.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>