firefly-linux-kernel-4.4.55.git
12 years agodma_buf: Add documentation for the new cpu access support
Daniel Vetter [Sun, 18 Mar 2012 23:34:27 +0000 (00:34 +0100)]
dma_buf: Add documentation for the new cpu access support

v2: Fix spelling issues noticed by Rob Clark.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
12 years agodma-buf: add support for kernel cpu access
Daniel Vetter [Mon, 19 Mar 2012 23:02:37 +0000 (00:02 +0100)]
dma-buf: add support for kernel cpu access

Big differences to other contenders in the field (like ion) is
that this also supports highmem, so we have to split up the cpu
access from the kernel side into a prepare and a kmap step.

Prepare is allowed to fail and should do everything required so that
the kmap calls can succeed (like swapin/backing storage allocation,
flushing, ...).

More in-depth explanations will follow in the follow-up documentation
patch.

Changes in v2:

- Clear up begin_cpu_access confusion noticed by Sumit Semwal.
- Don't automatically fallback from the _atomic variants to the
  non-atomic variants. The _atomic callbacks are not allowed to
  sleep, so we want exporters to make this decision explicit. The
  function signatures are explicit, so simpler exporters can still
  use the same function for both.
- Make the unmap functions optional. Simpler exporters with permanent
  mappings don't need to do anything at unmap time.

Changes in v3:

- Adjust the WARN_ON checks for the new ->ops functions as suggested
  by Rob Clark and Sumit Semwal.
- Rebased on top of latest dma-buf-next git.

Changes in v4:

- Fixup a missing - in a return -EINVAL; statement.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
12 years agodma-buf: don't hold the mutex around map/unmap calls
Daniel Vetter [Sun, 18 Mar 2012 23:34:25 +0000 (00:34 +0100)]
dma-buf: don't hold the mutex around map/unmap calls

The mutex protects the attachment list and hence needs to be held
around the callbakc to the exporters (optional) attach/detach
functions.

Holding the mutex around the map/unmap calls doesn't protect any
dma_buf state. Exporters need to properly protect any of their own
state anyway (to protect against calls from their own interfaces).
So this only makes the locking messier (and lockdep easier to anger).

Therefore let's just drop this.

v2: Rebased on top of latest dma-buf-next git.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Rob Clark <rob.clark@linaro.org>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
12 years agodma-buf: add get_dma_buf()
Rob Clark [Fri, 16 Mar 2012 16:04:41 +0000 (11:04 -0500)]
dma-buf: add get_dma_buf()

Works in a similar way to get_file(), and is needed in cases such as
when the exporter needs to also keep a reference to the dmabuf (that
is later released with a dma_buf_put()), and possibly other similar
cases.

Signed-off-by: Rob Clark <rob@ti.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
12 years agodma-buf: pass flags into dma_buf_fd.
Dave Airlie [Fri, 16 Mar 2012 10:34:02 +0000 (10:34 +0000)]
dma-buf: pass flags into dma_buf_fd.

We need to pass the flags into dma_buf_fd at this point,
so the flags end up doing the right thing for O_CLOEXEC.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
12 years agodma-buf: add dma_data_direction to unmap dma_buf_op
Sumit Semwal [Fri, 27 Jan 2012 09:39:27 +0000 (15:09 +0530)]
dma-buf: add dma_data_direction to unmap dma_buf_op

Some exporters may use DMA map/unmap APIs in dma-buf ops, which require
enum dma_data_direction for both map and unmap operations.

Thus, the unmap dma_buf_op also needs to have enum dma_data_direction as
a parameter.

Reported-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
12 years agogpio/ep93xx: Remove unused inline function and useless pr_err message
H Hartley Sweeten [Wed, 21 Mar 2012 18:13:27 +0000 (11:13 -0700)]
gpio/ep93xx: Remove unused inline function and useless pr_err message

Minor removal of an unused inline function and a useless pr_err message.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
12 years agomodule: Remove module size limit
Sasha Levin [Tue, 31 Jan 2012 04:07:22 +0000 (23:07 -0500)]
module: Remove module size limit

Module size was limited to 64MB, this was legacy limitation due to vmalloc()
which was removed a while ago.

Limiting module size to 64MB is both pointless and affects real world use
cases.

Cc: Tim Abbott <tim.abbott@oracle.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomodule: move __module_get and try_module_get() out of line.
Steven Rostedt [Mon, 26 Mar 2012 02:20:52 +0000 (12:50 +1030)]
module: move __module_get and try_module_get() out of line.

With the preempt, tracepoint and everything, it's getting a bit
chubby.  For an Ubuntu-based config:

Before:
$ size -t `find * -name '*.ko'` | grep TOTAL
56199906        3870760 1606616 61677282 3ad1ee2 (TOTALS)
$ size vmlinux
   text    data     bss     dec     hex filename
8509342  850368 3358720 12718430  c2115e vmlinux

After:
$ size -t `find * -name '*.ko'` | grep TOTAL
56183760 3867892 1606616 61658268 3acd49c (TOTALS)
$ size vmlinux
   text    data     bss     dec     hex filename
8501842  849088 3358720 12709650  c1ef12 vmlinux

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (made all out-of-line)
12 years agoparams: <level>_initcall-like kernel parameters
Pawel Moll [Mon, 26 Mar 2012 02:20:51 +0000 (12:50 +1030)]
params: <level>_initcall-like kernel parameters

This patch adds a set of macros that can be used to declare
kernel parameters to be parsed _before_ initcalls at a chosen
level are executed.  We rename the now-unused "flags" field of
struct kernel_param as the level.  It's signed, for when we
use this for early params as well, in future.

Linker macro collating init calls had to be modified in order
to add additional symbols between levels that are later used
by the init code to split the calls into blocks.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomodule_param: remove support for bool parameters which are really int.
Rusty Russell [Mon, 26 Mar 2012 02:20:51 +0000 (12:50 +1030)]
module_param: remove support for bool parameters which are really int.

module_param(bool) used to counter-intuitively take an int.  In
fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
trick.

This eliminates that code (though leaves the flags field in the struct,
for impending use).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomodule: add kernel param to force disable module load
Dave Young [Wed, 1 Feb 2012 02:33:14 +0000 (10:33 +0800)]
module: add kernel param to force disable module load

Sometimes we need to test a kernel of same version with code or config
option changes.

We already have sysctl to disable module load, but add a kernel
parameter will be more convenient.

Since modules_disabled is int, so here use bint type in core_param.
TODO: make sysctl accept bool and change modules_disabled to bool

Signed-off-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agoMerge branches 'acorn', 'ebsa110' and 'sa11x0' into platforms
Russell King [Sun, 25 Mar 2012 22:57:55 +0000 (23:57 +0100)]
Merge branches 'acorn', 'ebsa110' and 'sa11x0' into platforms

12 years agoARM: 7343/1: sa11x0: convert to sparse IRQ
Russell King [Thu, 23 Feb 2012 13:29:33 +0000 (14:29 +0100)]
ARM: 7343/1: sa11x0: convert to sparse IRQ

Now that Neponset, UCB1x00 and SA1111 are all converted to use the IRQ
allocation interfaces, we can enable sparse IRQ support for SA11x0
platforms.

12 years agoARM: 7342/2: sa1100: prepare for sparse irq conversion
Rob Herring [Thu, 23 Feb 2012 23:06:51 +0000 (00:06 +0100)]
ARM: 7342/2: sa1100: prepare for sparse irq conversion

In preparation to convert SA1100 to sparse irq, set .nr_irqs for each machine
and explicitly include mach/irqs.h as needed.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq
Rob Herring [Thu, 23 Feb 2012 13:28:36 +0000 (14:28 +0100)]
ARM: 7341/1: input: prepare jornada720 keyboard and ts for sa11x0 sparse irq

In preparation for sa11x0 sparse irq conversion, explicitly include
mach/irqs.h as it will not be included for sparse irq.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7340/1: rtc: sa1100: include mach/irqs.h instead of asm/irq.h
Rob Herring [Thu, 23 Feb 2012 13:27:58 +0000 (14:27 +0100)]
ARM: 7340/1: rtc: sa1100: include mach/irqs.h instead of asm/irq.h

Since asm/irq.h may not include mach/irqs.h, include mach/irqs.h directly.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoMerge branch 'sa11x0-mcp' into sa11x0
Russell King [Sun, 25 Mar 2012 22:56:30 +0000 (23:56 +0100)]
Merge branch 'sa11x0-mcp' into sa11x0

Conflicts:
arch/arm/mach-sa1100/assabet.c
arch/arm/mach-sa1100/collie.c
arch/arm/mach-sa1100/generic.c
arch/arm/mach-sa1100/lart.c
arch/arm/mach-sa1100/shannon.c

12 years agoMerge branch 'sa11x0-lcd' into sa11x0
Russell King [Sun, 25 Mar 2012 22:55:54 +0000 (23:55 +0100)]
Merge branch 'sa11x0-lcd' into sa11x0

Conflicts:
arch/arm/mach-sa1100/assabet.c

12 years agoMerge branch 'sa11x0-mtd' into sa11x0
Russell King [Sun, 25 Mar 2012 22:55:23 +0000 (23:55 +0100)]
Merge branch 'sa11x0-mtd' into sa11x0

12 years agoARM: sa11x0: remove unused DMA controller definitions
Russell King [Sat, 14 Jan 2012 16:57:02 +0000 (16:57 +0000)]
ARM: sa11x0: remove unused DMA controller definitions

Remove the new unused DMA controller definitions from mach/SA-1100.h.
These are now private to the SA-11x0 DMA engine driver and contained
within the driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa11x0: remove old SoC private DMA driver
Russell King [Fri, 13 Jan 2012 12:07:24 +0000 (12:07 +0000)]
ARM: sa11x0: remove old SoC private DMA driver

Now that all users are converted over to using the DMA engine API,
we can get rid of the old platform dependent DMA driver.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoMerge branch 'sa11x0-ir' into sa11x0
Russell King [Sun, 25 Mar 2012 22:54:52 +0000 (23:54 +0100)]
Merge branch 'sa11x0-ir' into sa11x0

12 years agoMerge branch 'sa1111' into sa11x0
Russell King [Sun, 25 Mar 2012 22:54:16 +0000 (23:54 +0100)]
Merge branch 'sa1111' into sa11x0

Conflicts:
arch/arm/common/sa1111.c
arch/arm/mach-sa1100/neponset.c

Fixed:
arch/arm/mach-sa1100/assabet.c
for the neponset changes

12 years agonet: add a truesize parameter to skb_add_rx_frag()
Eric Dumazet [Fri, 23 Mar 2012 23:59:33 +0000 (23:59 +0000)]
net: add a truesize parameter to skb_add_rx_frag()

skb_add_rx_frag() API is misleading.

Network skbs built with this helper can use uncharged kernel memory and
eventually stress/crash machine in OOM.

Add a 'truesize' parameter and then fix drivers in followup patches.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agogianfar: Fix possible overrun and simplify interrupt name field creation
Joe Perches [Sun, 25 Mar 2012 07:10:07 +0000 (07:10 +0000)]
gianfar: Fix possible overrun and simplify interrupt name field creation

Space allocated for int_name_<foo> is insufficient for
maximal device name, expand it.

Code to create int_name_<foo> is obscure, simplify it
by using sprintf.

Found by looking for unnecessary \ line continuations.

Signed-off-by: Joe Perches <joe@perches.com>
Tested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoUSB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces
Andrew Bird (Sphere Systems) [Sun, 25 Mar 2012 00:10:29 +0000 (00:10 +0000)]
USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces

Now that we have the beginnings of an OSS method to use the network
interfaces on these USB broadband modems, add the ZTE manufactured
Vodafone items to the whitelist

Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoUSB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces
Andrew Bird (Sphere Systems) [Sun, 25 Mar 2012 00:10:28 +0000 (00:10 +0000)]
USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces

These interfaces need to be handled by QMI/WWAN driver

Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoUSB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces
Andrew Bird (Sphere Systems) [Sun, 25 Mar 2012 00:10:27 +0000 (00:10 +0000)]
USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces

Now that we have the beginnings of an OSS method to use the network
interfaces on these USB broadband modems, add the ZTE manufactured
Vodafone items to the whitelist

Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoum: Update defconfig
Richard Weinberger [Sat, 24 Mar 2012 23:23:57 +0000 (00:23 +0100)]
um: Update defconfig

Enable ext4, cgroups and devtmpfs.

Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: Switch to large mcmodel on x86_64
Richard Weinberger [Tue, 24 Jan 2012 19:09:12 +0000 (20:09 +0100)]
um: Switch to large mcmodel on x86_64

x86_64 UML is unable to load modules if more than 504MiB
of memory are used.
This happens because on x86_64 the UML process has a quite high
start address (typically around 0x6000000).
If UML's memory is larger than 504MiB VMALLOC_START happens to be after
0x8000000. This is no problem unless one loads a module which was built
with R_X86_64_32S relocations.
Symbols with a location > 0x8000000 cannot be used with R_X86_64_32S

To deal with this x86_64 UML has to be compiled with -mcmodel=large
such that no R_X86_64_32S relocations are used.

Signed-off-by: Richard Weinberger <richard@nod.at>
Reported-by: 전하늘 <allskyee@gmail.com>
12 years agoMTD: Relax dependencies
Richard Weinberger [Tue, 7 Feb 2012 00:22:50 +0000 (01:22 +0100)]
MTD: Relax dependencies

CONFIG_GENERIC_IO is just enough for the basic MTD stuff.

Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
12 years agoum: Wire CONFIG_GENERIC_IO up
Richard Weinberger [Tue, 7 Feb 2012 00:22:49 +0000 (01:22 +0100)]
um: Wire CONFIG_GENERIC_IO up

UML has no io memory but implements everything defined in
generic-asm/io.h.

Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: Serve io_remap_pfn_range()
Richard Weinberger [Tue, 7 Feb 2012 00:22:47 +0000 (01:22 +0100)]
um: Serve io_remap_pfn_range()

At some places io_remap_pfn_range() is needed.
UML has to serve it like all other archs do.

Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoIntroduce CONFIG_GENERIC_IO
Richard Weinberger [Tue, 7 Feb 2012 00:22:46 +0000 (01:22 +0100)]
Introduce CONFIG_GENERIC_IO

There are situations where CONFIG_HAS_IOMEM is too restrictive.
For example CONFIG_MTD_NAND_NANDSIM depends on CONFIG_HAS_IOMEM
but it works perfectly fine if an architecture without io memory
just includes asm-generic/io.h or implements everything defined in it.
UML is such a corner case.

Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: allow SUBARCH=x86
Al Viro [Sat, 11 Feb 2012 11:15:50 +0000 (06:15 -0500)]
um: allow SUBARCH=x86

nicked from patch by dwmw2 back in July

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: most of the SUBARCH uses can be killed
Al Viro [Sat, 11 Feb 2012 10:39:56 +0000 (05:39 -0500)]
um: most of the SUBARCH uses can be killed

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[richard@nod.at: Re-export SUBARCH in arch/um/Makefile]
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: deadlock in line_write_interrupt()
Al Viro [Sat, 11 Feb 2012 08:05:32 +0000 (03:05 -0500)]
um: deadlock in line_write_interrupt()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: don't bother trying to rebuild CHECKFLAGS for USER_OBJS
Al Viro [Sat, 11 Feb 2012 08:01:34 +0000 (03:01 -0500)]
um: don't bother trying to rebuild CHECKFLAGS for USER_OBJS

... just strip NOSTDINC_FLAGS out of it for those

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: use the right ifdef around exports in user_syms.c
Al Viro [Sat, 11 Feb 2012 00:02:28 +0000 (19:02 -0500)]
um: use the right ifdef around exports in user_syms.c

... the same one that controls whether elf_aux.o is included into the
build, bringing the vsyscall_e... into it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: a bunch of headers can be killed by using generic-y
Al Viro [Mon, 30 Jan 2012 21:32:09 +0000 (16:32 -0500)]
um: a bunch of headers can be killed by using generic-y

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: ptrace-generic.h doesn't need user.h
Al Viro [Mon, 30 Jan 2012 21:31:53 +0000 (16:31 -0500)]
um: ptrace-generic.h doesn't need user.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: kill HOST_TASK_PID
Al Viro [Mon, 30 Jan 2012 21:30:48 +0000 (16:30 -0500)]
um: kill HOST_TASK_PID

just provide get_current_pid() to the userland side of things
instead of get_current() + manual poking in its results

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: remove pointless include of asm/fixmap.h from asm/pgtable.h
Al Viro [Mon, 21 Nov 2011 02:05:24 +0000 (21:05 -0500)]
um: remove pointless include of asm/fixmap.h from asm/pgtable.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: asm-offsets.h might as well come from underlying arch...
Al Viro [Sun, 20 Nov 2011 22:25:25 +0000 (17:25 -0500)]
um: asm-offsets.h might as well come from underlying arch...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: merge processor_{32,64}.h a bit...
Al Viro [Sun, 20 Nov 2011 22:23:39 +0000 (17:23 -0500)]
um: merge processor_{32,64}.h a bit...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: switch close_chan() to struct line
Al Viro [Sat, 10 Sep 2011 12:39:18 +0000 (08:39 -0400)]
um: switch close_chan() to struct line

... and switch chan_interrupt() to directly calling close_one_chan(),
so we can lose delay_free_irq argument of close_chan() as well.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: race fix: initialize delayed_work *before* registering IRQ
Al Viro [Sat, 10 Sep 2011 12:17:04 +0000 (08:17 -0400)]
um: race fix: initialize delayed_work *before* registering IRQ

... since chan_interrupt() might schedule it if there's too much
incoming data.  Kill task argument of chan_interrupt(), while
we are at it - it's always &line->task.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: line->have_irq is never checked...
Al Viro [Sat, 10 Sep 2011 00:20:52 +0000 (20:20 -0400)]
um: line->have_irq is never checked...

looks like a half-arsed duplicate of line->enabled

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: chan_init_pri is dead now
Al Viro [Sat, 10 Sep 2011 00:18:09 +0000 (20:18 -0400)]
um: chan_init_pri is dead now

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: switch users of ->chan_list to ->chan_{in,out} (easy cases)
Al Viro [Thu, 8 Sep 2011 14:49:34 +0000 (10:49 -0400)]
um: switch users of ->chan_list to ->chan_{in,out} (easy cases)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: sorting out the chan mess, part 1
Al Viro [Thu, 8 Sep 2011 11:07:26 +0000 (07:07 -0400)]
um: sorting out the chan mess, part 1

put references to in and out chans associated with line into
explicit struct chan * fields in it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: finally kill ->init_str leaks
Al Viro [Sat, 10 Sep 2011 00:08:48 +0000 (20:08 -0400)]
um: finally kill ->init_str leaks

now we can do that...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: get rid of lines_init()
Al Viro [Sat, 10 Sep 2011 00:07:05 +0000 (20:07 -0400)]
um: get rid of lines_init()

move config-independent parts of initialization into
register_lines(), call setup_one_line() after it instead
of abusing ->init_str.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: switch line.c tty drivers to dynamic device creation
Al Viro [Fri, 9 Sep 2011 23:45:42 +0000 (19:45 -0400)]
um: switch line.c tty drivers to dynamic device creation

Current code doesn't update the symlinks in /sys/dev/char when we add/remove
tty lines.  Fixing that allows to stop messing with ->valid before the driver
registration, which is a Good Thing(tm) - we shouldn't have it set before we
really have the things set up and ready for line_open().

We need tty_driver available to call tty_{un,}register_device(), so we just
stash a reference to it into struct line_driver.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: fix races between line_open() and line_config()
Al Viro [Fri, 9 Sep 2011 23:14:02 +0000 (19:14 -0400)]
um: fix races between line_open() and line_config()

Pull parse_chan_pair() call into setup_one_line(), under the mutex.
We really don't want open() to succeed before parse_chan_pair() had
been done (or after it has failed, BTW).  We also want "remove con<n>"
to free irqs, etc., same as "config con<n>=none".

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: convert count_lock to mutex, fix a race in line_open()
Al Viro [Fri, 9 Sep 2011 21:36:37 +0000 (17:36 -0400)]
um: convert count_lock to mutex, fix a race in line_open()

If two processes are opening the same line, the second to get
into line_open() will decide that it doesn't need to do anything
(correctly) or wait for anything.  The latter, unfortunately,
is incorrect - the first opener might not be through yet.  We
need to have exclusion covering the entire line_init(), including
the blocking parts.  Moreover, the next patch will need to
widen the exclusion on mconsole side of things, also including
the blocking bits, so let's just convert that sucker to mutex...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: get rid of the init_prio mess
Al Viro [Fri, 9 Sep 2011 21:25:00 +0000 (17:25 -0400)]
um: get rid of the init_prio mess

make line_setup() act on a separate array of conf strings + default conf,
have lines array initialized explicitly by that data, bury LINE_INIT()
macro from hell.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: switch line_config() to setup_one_line()
Al Viro [Fri, 9 Sep 2011 00:44:06 +0000 (20:44 -0400)]
um: switch line_config() to setup_one_line()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: switch line_remove() to setup_one_line()
Al Viro [Fri, 9 Sep 2011 00:34:52 +0000 (20:34 -0400)]
um: switch line_remove() to setup_one_line()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: auxvec.h is never used
Al Viro [Fri, 19 Aug 2011 01:40:03 +0000 (21:40 -0400)]
um: auxvec.h is never used

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: clean up the includes in ubd
Al Viro [Thu, 18 Aug 2011 22:04:41 +0000 (18:04 -0400)]
um: clean up the includes in ubd

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agouml/hostfs: Propagate dirent.d_type to filldir()
Geert Uytterhoeven [Fri, 27 Jan 2012 18:14:58 +0000 (19:14 +0100)]
uml/hostfs: Propagate dirent.d_type to filldir()

Currently the (optional) d_type member in struct dirent is always
DT_UNKNOWN on hostfs, which may confuse buggy software using readdir().
Make sure to propagate its value from the underlying filesystem if it's
available there.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoum: irq: Remove IRQF_DISABLED
Yong Zhang [Thu, 22 Sep 2011 08:58:46 +0000 (16:58 +0800)]
um: irq: Remove IRQF_DISABLED

Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
We run all interrupt handlers with interrupts disabled
and we even check and yell when an interrupt handler
returns with interrupts enabled (see commit [b738a50a:
genirq: Warn when handler enables interrupts]).

So now this flag is a NOOP and can be removed.

Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
12 years agoMerge tag 'stable/for-linus-3.4-tag-two' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sat, 24 Mar 2012 19:20:25 +0000 (12:20 -0700)]
Merge tag 'stable/for-linus-3.4-tag-two' of git://git./linux/kernel/git/konrad/xen

Pull more xen updates from Konrad Rzeszutek Wilk:
 "One tiny feature that accidentally got lost in the initial git pull:
   * Add fast-EOI acking of interrupts (clear a bit instead of
     hypercall)
  And bug-fixes:
   * Fix CPU bring-up code missing a call to notify other subsystems.
   * Fix reading /sys/hypervisor even if PVonHVM drivers are not loaded.
   * In Xen ACPI processor driver: remove too verbose WARN messages, fix
     up the Kconfig dependency to be a module by default, and add
     dependency on CPU_FREQ.
   * Disable CPU frequency drivers from loading when booting under Xen
     (as we want the Xen ACPI processor to be used instead).
   * Cleanups in tmem code."

* tag 'stable/for-linus-3.4-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/acpi: Fix Kconfig dependency on CPU_FREQ
  xen: initialize platform-pci even if xen_emul_unplug=never
  xen/smp: Fix bringup bug in AP code.
  xen/acpi: Remove the WARN's as they just create noise.
  xen/tmem: cleanup
  xen: support pirq_eoi_map
  xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
  xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
  provide disable_cpufreq() function to disable the API.

12 years agoFix potential endless loop in kswapd when compaction is not enabled
Rik van Riel [Sat, 24 Mar 2012 14:26:21 +0000 (10:26 -0400)]
Fix potential endless loop in kswapd when compaction is not enabled

We should only test compaction_suitable if the kernel is built with
CONFIG_COMPACTION, otherwise the stub compaction_suitable function will
always return COMPACT_SKIPPED and send kswapd into an infinite loop.

Reported-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge branch 'kirkwood/dt' into next/dt2
Arnd Bergmann [Sat, 24 Mar 2012 19:15:55 +0000 (19:15 +0000)]
Merge branch 'kirkwood/dt' into next/dt2

This was part of the for-next branch earlier but for some reasons
a rebuild of the tree missed it, so I'm putting it back in now.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
12 years agoMerge branch 'renesas/soc' into next/soc2
Arnd Bergmann [Sat, 24 Mar 2012 19:13:59 +0000 (19:13 +0000)]
Merge branch 'renesas/soc' into next/soc2

12 years agoMerge branch 'rmobile-fixes-for-linus' of git://github.com/pmundt/linux-sh into renes...
Arnd Bergmann [Thu, 22 Mar 2012 22:02:16 +0000 (22:02 +0000)]
Merge branch 'rmobile-fixes-for-linus' of git://github.com/pmundt/linux-sh into renesas/soc

Conflicts:
arch/arm/mach-shmobile/board-ap4evb.c

This moves the addition of init_consistent_dma_size() from the board
files into the common sh7372_map_io() functions where all the other
contents of the board specific map_io calls have gone.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
12 years agoMerge tag 'device-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg...
Linus Torvalds [Sat, 24 Mar 2012 17:41:37 +0000 (10:41 -0700)]
Merge tag 'device-for-3.4' of git://git./linux/kernel/git/paulg/linux

Pull <linux/device.h> avoidance patches from Paul Gortmaker:
 "Nearly every subsystem has some kind of header with a proto like:

void foo(struct device *dev);

  and yet there is no reason for most of these guys to care about the
  sub fields within the device struct.  This allows us to significantly
  reduce the scope of headers including headers.  For this instance, a
  reduction of about 40% is achieved by replacing the include with the
  simple fact that the device is some kind of a struct.

  Unlike the much larger module.h cleanup, this one is simply two
  commits.  One to fix the implicit <linux/device.h> users, and then one
  to delete the device.h includes from the linux/include/ dir wherever
  possible."

* tag 'device-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  device.h: audit and cleanup users in main include dir
  device.h: cleanup users outside of linux/include (C files)

12 years agoMerge tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg...
Linus Torvalds [Sat, 24 Mar 2012 17:24:31 +0000 (10:24 -0700)]
Merge tag 'module-for-3.4' of git://git./linux/kernel/git/paulg/linux

Pull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:
 "Fix up files in fs/ and lib/ dirs to only use module.h if they really
  need it.

  These are trivial in scope vs the work done previously.  We now have
  things where any few remaining cleanups can be farmed out to arch or
  subsystem maintainers, and I have done so when possible.  What is
  remaining here represents the bits that don't clearly lie within a
  single arch/subsystem boundary, like the fs dir and the lib dir.

  Some duplicate includes arising from overlapping fixes from
  independent subsystem maintainer submissions are also quashed."

Fix up trivial conflicts due to clashes with other include file cleanups
(including some due to the previous bug.h cleanup pull).

* tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  lib: reduce the use of module.h wherever possible
  fs: reduce the use of module.h wherever possible
  includecheck: delete any duplicate instances of module.h

12 years agoMerge tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
Linus Torvalds [Sat, 24 Mar 2012 17:08:39 +0000 (10:08 -0700)]
Merge tag 'bug-for-3.4' of git://git./linux/kernel/git/paulg/linux

Pull <linux/bug.h> cleanup from Paul Gortmaker:
 "The changes shown here are to unify linux's BUG support under the one
  <linux/bug.h> file.  Due to historical reasons, we have some BUG code
  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in
  linux/kernel.h predates the addition of linux/bug.h, but old code in
  kernel.h wasn't moved to bug.h at that time.  As a band-aid, kernel.h
  was including <asm/bug.h> to pseudo link them.

  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here
  is an example that violates the principle of least surprise:

      CC      lib/string.o
      lib/string.c: In function 'strlcat':
      lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
      make[2]: *** [lib/string.o] Error 1
      $
      $ grep linux/bug.h lib/string.c
      #include <linux/bug.h>
      $

  We've included <linux/bug.h> for the BUG infrastructure and yet we
  still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
  very confusing for someone who is new to kernel development.

  With the above in mind, the goals of this changeset are:

  1) find and fix any include/*.h files that were relying on the
     implicit presence of BUG code.
  2) find and fix any C files that were consuming kernel.h and hence
     relying on implicitly getting some/all BUG code.
  3) Move the BUG related code living in kernel.h to <linux/bug.h>
  4) remove the asm/bug.h from kernel.h to finally break the chain.

  During development, the order was more like 3-4, build-test, 1-2.  But
  to ensure that git history for bisect doesn't get needless build
  failures introduced, the commits have been reorderd to fix the problem
  areas in advance.

[1]  https://lkml.org/lkml/2012/1/3/90
[2]  https://lkml.org/lkml/2012/1/17/414"

Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
and linux-next.

* tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  kernel.h: doesn't explicitly use bug.h, so don't include it.
  bug: consolidate BUILD_BUG_ON with other bug code
  BUG: headers with BUG/BUG_ON etc. need linux/bug.h
  bug.h: add include of it to various implicit C users
  lib: fix implicit users of kernel.h for TAINT_WARN
  spinlock: macroize assert_spin_locked to avoid bug.h dependency
  x86: relocate get/set debugreg fcns to include/asm/debugreg.

12 years agoxen/acpi: Fix Kconfig dependency on CPU_FREQ
Konrad Rzeszutek Wilk [Sat, 24 Mar 2012 13:18:57 +0000 (09:18 -0400)]
xen/acpi: Fix Kconfig dependency on CPU_FREQ

The functions: "acpi_processor_*" sound like they depend on CONFIG_ACPI_PROCESSOR
but in reality they are exposed when CONFIG_CPU_FREQ=[y|m]. As such
update the Kconfig to have this dependency and fix compile issues:

ERROR: "acpi_processor_unregister_performance" [drivers/xen/xen-acpi-processor.ko] undefined!
ERROR: "acpi_processor_notify_smm" [drivers/xen/xen-acpi-processor.ko] undefined!
ERROR: "acpi_processor_register_performance" [drivers/xen/xen-acpi-processor.ko] undefined!
ERROR: "acpi_processor_preregister_performance" [drivers/xen/xen-acpi-processor.ko] undefined!

Note: We still need the CONFIG_ACPI
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
12 years agoUSB: sa1111: add hcd .reset method
Russell King [Thu, 26 Jan 2012 11:45:27 +0000 (11:45 +0000)]
USB: sa1111: add hcd .reset method

Add the .reset method to the HCD, and update the .start method
accordingly for this change.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoUSB: sa1111: add OHCI shutdown methods
Russell King [Thu, 26 Jan 2012 11:10:20 +0000 (11:10 +0000)]
USB: sa1111: add OHCI shutdown methods

Add OHCI shutdown methods to cleanly shutdown the OHCI controller on
system shutdowns and reboots.  This avoids the controller continuing
to run should be soft-reboot the platform, potentially scribbling
over system memory.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoUSB: sa1111: reorganize ohci-sa1111.c
Russell King [Thu, 26 Jan 2012 10:52:34 +0000 (10:52 +0000)]
USB: sa1111: reorganize ohci-sa1111.c

Combine usb_hcd_sa1111_probe() and ohci_hcd_sa1111_drv_probe(), doing
the same for the remove methods.

Move sa1111_start_hc and sa1111_stop_hc to be located next to these
the probe/release functions, as they're only called from them.

Get rid of the /*----*/ breaker lines.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoUSB: sa1111: get rid of nasty printk(KERN_DEBUG "%s: ...", __FILE__)
Russell King [Thu, 26 Jan 2012 10:39:57 +0000 (10:39 +0000)]
USB: sa1111: get rid of nasty printk(KERN_DEBUG "%s: ...", __FILE__)

Use dev_dbg() instead, it's more friendly.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoUSB: sa1111: sparse and checkpatch cleanups
Russell King [Thu, 26 Jan 2012 10:37:46 +0000 (10:37 +0000)]
USB: sa1111: sparse and checkpatch cleanups

Clean up the ohci-sa1111 driver formatting to be more compliant with
current standards, and add 'static' to various function definitions
to avoid sparse complaints about undeclared functions.  Remove the
unnecessary local declaration of 'usb_disabled', which can be found
instead in linux/usb.h.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa11x0: don't static map sa1111
Russell King [Sun, 29 Jan 2012 10:37:36 +0000 (10:37 +0000)]
ARM: sa11x0: don't static map sa1111

The sa1111 support will ioremap() the device; there is no need for
platforms to setup a static mapping for this.  Remove the static
mapping for this device from badge4, jornada720 and neponset.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: use dev_err() rather than printk()
Russell King [Sun, 29 Jan 2012 10:28:09 +0000 (10:28 +0000)]
ARM: sa1111: use dev_err() rather than printk()

Use dev_err() to report device specific errors rather than printk().

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: cleanup sub-device registration and unregistration
Russell King [Sun, 29 Jan 2012 10:20:00 +0000 (10:20 +0000)]
ARM: sa1111: cleanup sub-device registration and unregistration

Move the releasing of resources out of the release function - this
allows a cleaner and more conventional arrangement of the registration
failure paths and a saner unregistration process for these devices.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: only setup DMA for DMA capable devices
Russell King [Sun, 29 Jan 2012 10:22:49 +0000 (10:22 +0000)]
ARM: sa1111: only setup DMA for DMA capable devices

It's pointless registering the PS/2 interfaces with the dmabounce code
when there's no DMA support for these in hardware, so only setup the
DMA masks for two subdevices which support DMA - the OHCI and SAC.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: register sa1111 devices with dmabounce in bus notifier
Russell King [Sun, 29 Jan 2012 09:31:31 +0000 (09:31 +0000)]
ARM: sa1111: register sa1111 devices with dmabounce in bus notifier

Use the bus notifier to register sa1111 devices with dmabounce, rather
than after the device has been registered, potentially racing with
driver binding.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: move USB interface register definitions to ohci-sa1111.c
Russell King [Mon, 16 Jan 2012 11:37:03 +0000 (11:37 +0000)]
ARM: sa1111: move USB interface register definitions to ohci-sa1111.c

Move the USB interface register definitions into the driver, rather
than keeping them in a common place.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: move PCMCIA interface register definitions to sa1111_generic.c
Russell King [Mon, 16 Jan 2012 11:32:09 +0000 (11:32 +0000)]
ARM: sa1111: move PCMCIA interface register definitions to sa1111_generic.c

Move the PCMCIA interface register definitions into the driver, rather
than keeping them in a common place.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: move PS/2 interface register definitions to sa1111p2.c
Russell King [Mon, 16 Jan 2012 11:29:43 +0000 (11:29 +0000)]
ARM: sa1111: move PS/2 interface register definitions to sa1111p2.c

Move the PS/2 interface register definitions into the driver, rather
than keeping them in a common location.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: sa1111: delete unused physical GPIO register definitions
Russell King [Mon, 16 Jan 2012 14:28:25 +0000 (14:28 +0000)]
ARM: sa1111: delete unused physical GPIO register definitions

Get rid of the unused GPIO register definitions - we access GPIO
registers through the base + offset method, and having the phys
address definitions is unnecessary duplication.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoMerge tag 'regulator-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Arnd Bergmann [Sat, 24 Mar 2012 11:29:58 +0000 (11:29 +0000)]
Merge tag 'regulator-3.4' of git://git./linux/kernel/git/broonie/regulator into next/drivers

The pxa regulator branch removes the bq24022 driver, while a lot of
other regulator drivers got added in the regulator tree. This
resolves the trivial conflicts by merging in the regulator patches
that are already merged into v3.4.

Conflicts:
drivers/regulator/Kconfig
drivers/regulator/Makefile

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
12 years agoARM: sa1111: provide a generic way to prevent devices from registering
Russell King [Thu, 26 Jan 2012 13:34:21 +0000 (13:34 +0000)]
ARM: sa1111: provide a generic way to prevent devices from registering

Some platforms don't want certain devices to be registered, because,
eg, the interface is not wired.  Provide a way for platforms to
prevent various devices from being registered via a devid bitmask in
the platform data.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: ecard: get rid of NO_IRQ madness
Russell King [Wed, 18 Jan 2012 15:41:44 +0000 (15:41 +0000)]
ARM: ecard: get rid of NO_IRQ madness

Get rid of the NO_IRQ madness from Acorn expansion card handling code.
Thankfully, are relatively few users of this here, and so it's easy to
audit.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: use DEFINE_RES_xxx()
Russell King [Thu, 1 Mar 2012 20:32:52 +0000 (20:32 +0000)]
ARM: riscpc: use DEFINE_RES_xxx()

Use DEFINE_RES_xxx() to define device resources.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: remove expansion card irq mask register
Russell King [Thu, 1 Mar 2012 18:46:46 +0000 (18:46 +0000)]
ARM: riscpc: remove expansion card irq mask register

This register is only present on older platforms, and not on RiscPC,
so lets remove this unused support.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: convert ecard to use irq_alloc_descs()
Russell King [Thu, 1 Mar 2012 17:50:33 +0000 (17:50 +0000)]
ARM: riscpc: convert ecard to use irq_alloc_descs()

Use irq_alloc_descs() to allocate IRQs for expansion cards.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: use irq chip data in ecard.c
Russell King [Thu, 1 Mar 2012 17:54:11 +0000 (17:54 +0000)]
ARM: riscpc: use irq chip data in ecard.c

Use irq chip data to store the expansion card data pointer, rather
than converting from the interrupt number to a slot number.  This
allows the interrupt chip methods to avoid knowing about interrupt
numbering.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: move ecard.c to arch/arm/mach-rpc
Russell King [Thu, 1 Mar 2012 16:58:20 +0000 (16:58 +0000)]
ARM: riscpc: move ecard.c to arch/arm/mach-rpc

RiscPC is the only platform using the Acorn expansion card support, so
move it into its mach-* directory.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: remove IRQ_TIMER
Russell King [Thu, 1 Mar 2012 16:55:44 +0000 (16:55 +0000)]
ARM: riscpc: remove IRQ_TIMER

Use IRQ_TIMER0 instead, which is the same thing.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: use definition for serial port interrupt
Russell King [Thu, 1 Mar 2012 16:54:27 +0000 (16:54 +0000)]
ARM: riscpc: use definition for serial port interrupt

Rather than using a plain integer, use the definition already provided.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: pass IRQ resources into keyboard driver
Russell King [Thu, 1 Mar 2012 15:47:10 +0000 (15:47 +0000)]
ARM: riscpc: pass IRQ resources into keyboard driver

Rather than including asm/irq.h into the keyboard driver, pass the
IRQ numbers via the platform device instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: riscpc: move time-acorn.c to mach-rpc
Russell King [Thu, 1 Mar 2012 15:35:50 +0000 (15:35 +0000)]
ARM: riscpc: move time-acorn.c to mach-rpc

Nothing but RiscPC makes use of the Acorn timekeeping code, so move
it into mach-rpc.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl
Linus Torvalds [Sat, 24 Mar 2012 01:08:58 +0000 (18:08 -0700)]
Merge git://git./linux/kernel/git/ebiederm/sysctl

Pull sysctl updates from Eric Biederman:

 - Rewrite of sysctl for speed and clarity.

   Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and
   are no longer bottlenecks in the process of adding and removing
   network devices.

   sysctl is now focused on being a filesystem instead of system call
   and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully
   this means the code is now approachable.

   Much thanks is owed to Lucian Grinjincu for keeping at this until
   something was found that was usable.

 - The recent proc_sys_poll oops found by the fuzzer during hibernation
   is fixed.

* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)
  sysctl: protect poll() in entries that may go away
  sysctl: Don't call sysctl_follow_link unless we are a link.
  sysctl: Comments to make the code clearer.
  sysctl: Correct error return from get_subdir
  sysctl: An easier to read version of find_subdir
  sysctl: fix memset parameters in setup_sysctl_set()
  sysctl: remove an unused variable
  sysctl: Add register_sysctl for normal sysctl users
  sysctl: Index sysctl directories with rbtrees.
  sysctl: Make the header lists per directory.
  sysctl: Move sysctl_check_dups into insert_header
  sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy
  sysctl: Replace root_list with links between sysctl_table_sets.
  sysctl: Add sysctl_print_dir and use it in get_subdir
  sysctl: Stop requiring explicit management of sysctl directories
  sysctl: Add a root pointer to ctl_table_set
  sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry
  sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.
  sysctl: Normalize the root_table data structure.
  sysctl: Factor out insert_header and erase_header
  ...