1
0
Commit Graph

70108 Commits

Author SHA1 Message Date
Shawn Guo
a010bc2b9e ARM: ux500: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
2012-05-08 20:36:38 +08:00
Shawn Guo
390e0cfd32 ARM: tegra: use machine specific hook for late init
Cc: Colin Cross <ccross@android.com>
Cc: Olof Johansson <olof@lixom.net>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
2012-05-08 20:36:36 +08:00
Shawn Guo
21cc1b7ede ARM: shmobile: use machine specific hook for late init
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Magnus Damm <damm@opensource.se>
Acked-by: "Rafael J. Wysocki" <rjw@sisk.pl>
2012-05-08 20:36:35 +08:00
Shawn Guo
7fea1ba58e ARM: sa1100: use machine specific hook for late init
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-08 20:36:34 +08:00
Shawn Guo
cc8f252b71 ARM: s3c64xx: use machine specific hook for late init
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
2012-05-08 20:36:24 +08:00
Shawn Guo
a4b4674e26 ARM: prima2: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Barry Song <baohua.song@csr.com>
2012-05-08 20:36:22 +08:00
Shawn Guo
cafa61907c ARM: pnx4008: use machine specific hook for late init
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2012-05-08 20:36:21 +08:00
Shawn Guo
bbd707acee ARM: omap2: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
2012-05-08 20:36:20 +08:00
Shawn Guo
82c3bd0353 ARM: omap1: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
2012-05-08 20:36:18 +08:00
Shawn Guo
c633c531f8 ARM: msm: use machine specific hook for late init
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: David Brown <davidb@codeaurora.org>
2012-05-08 20:36:17 +08:00
Shawn Guo
8321b758e0 ARM: imx: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-05-08 20:36:16 +08:00
Shawn Guo
bb13fabcca ARM: exynos: use machine specific hook for late init
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
2012-05-08 20:35:33 +08:00
Srikar Dronamraju
ec83db0f78 tracing: Fix kconfig warning due to a typo
Commit f3f096cfe ("tracing: Provide trace events interface for
uprobes") throws a warning about unmet dependencies.

The exact warning message is:
	warning: (UPROBE_EVENT) selects UPROBES which has unmet direct dependencies (UPROBE_EVENTS && PERF_EVENTS)

This is due to a typo in arch/Kconfig file. Fix similar typos in
the uprobetracer documentation.

Also add sample format of a uprobe event in the uprobetracer
documentation as suggested by Masami Hiramatsu.

Reported-by: Stephen Boyd <sboyd@codeaurora.org>
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Anton Arapov <anton@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120508111126.21004.38285.sendpatchset@srdronam.in.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-05-08 14:17:25 +02:00
Thomas Gleixner
f5e1028736 task_allocator: Use config switches instead of magic defines
Replace __HAVE_ARCH_TASK_ALLOCATOR and __HAVE_ARCH_THREAD_ALLOCATOR
with proper config switches.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/20120505150142.371309416@linutronix.de
2012-05-08 14:08:46 +02:00
Thomas Gleixner
66bb4cda55 sparc: Use common threadinfo allocator
Exaclty the same as the core code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: David S. Miller <davem@davemloft.net>
Link: http://lkml.kernel.org/r/20120505150142.252861878@linutronix.de
2012-05-08 14:08:46 +02:00
Thomas Gleixner
c4e26890ff score: Use common threadinfo allocator
No point in using kmalloc for allocating 2 pages.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Lennox Wu <lennox.wu@gmail.com>
Link: http://lkml.kernel.org/r/20120505150142.123383955@linutronix.de
2012-05-08 14:08:46 +02:00
Thomas Gleixner
df9a7b9b5d sh-use-common-threadinfo-allocator
The core now has a threadinfo allocator which uses a kmemcache when
THREAD_SIZE < PAGE_SIZE.

Deal with the xstate cleanup in the new arch_release_task_struct()
function.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Paul Mundt <lethal@linux-sh.org>
Link: http://lkml.kernel.org/r/20120505150142.189348931@linutronix.de
2012-05-08 14:08:45 +02:00
Thomas Gleixner
c03a6a7ba6 mn10300: Use common threadinfo allocator
Let the core code allocate and handle the kgdb cleanup with the
arch_release_thread_info() function.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
Link: http://lkml.kernel.org/r/20120505150141.996582377@linutronix.de
2012-05-08 14:08:45 +02:00
Thomas Gleixner
96c9511797 powerpc: Use common threadinfo allocator
The core now has a threadinfo allocator which uses a kmemcache when
THREAD_SIZE < PAGE_SIZE.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Link: http://lkml.kernel.org/r/20120505150142.059161130@linutronix.de
2012-05-08 14:08:45 +02:00
Thomas Gleixner
3194f61de9 mips: Use common threadinfo allocator
No point in using kmalloc for allocating 0, 1 resp. 2 pages for
threadinfo.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Link: http://lkml.kernel.org/r/20120505150141.936950979@linutronix.de
2012-05-08 14:08:45 +02:00
Thomas Gleixner
fe844052bc hexagon: Use common threadinfo allocator
The core now has a threadinfo allocator which uses a kmemcache when
THREAD_SIZE < PAGE_SIZE.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Kuo <rkuo@codeaurora.org>
Link: http://lkml.kernel.org/r/20120505150141.812612113@linutronix.de
2012-05-08 14:08:45 +02:00
Thomas Gleixner
e6e9c540d5 m32r: Use common threadinfo allocator
No reason why m32r needs to use kmalloc to allocate 2 pages instead of
using the core allocator.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Link: http://lkml.kernel.org/r/20120505150141.875430830@linutronix.de
2012-05-08 14:08:45 +02:00
Thomas Gleixner
c64872cd0d frv: Use common threadinfo allocator
The core now has a threadinfo allocator which uses a kmemcache when
THREAD_SIZE < PAGE_SIZE.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
Link: http://lkml.kernel.org/r/20120505150141.751600045@linutronix.de
2012-05-08 14:08:44 +02:00
Thomas Gleixner
803fc74f06 cris: Use common threadinfo allocator
There is no functional difference. __get_free_pages() ends up calling
alloc_pages_node().

This also allocates only one page which matches THREAD_SIZE instead of
an extra page for nothing.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Link: http://lkml.kernel.org/r/20120505150141.681236240@linutronix.de
2012-05-08 14:08:44 +02:00
Thomas Gleixner
38e7c572ce x86: Use common threadinfo allocator
The only difference is the free_thread_info function, which frees
xstate.

Use the new arch_release_task_struct() function instead and switch
over to the core allocator.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20120505150141.559556763@linutronix.de
Cc: x86@kernel.org
2012-05-08 14:08:44 +02:00
Thomas Gleixner
7b8fe0570a c6x: Use common threadinfo allocator
There is no functional difference. __get_free_pages() ends up calling
alloc_pages_node().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Salter <msalter@redhat.com>
Link: http://lkml.kernel.org/r/20120505150141.621728944@linutronix.de
2012-05-08 14:08:44 +02:00
Thomas Gleixner
67ba5293f7 Merge branch 'smp/threadalloc' into smp/hotplug
Reason: Pull in the separate branch which was created so arch/tile can
base further work on it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2012-05-08 14:07:48 +02:00
Thomas Gleixner
d909a81b19 tile: Use common threadinfo allocator
Use the core allocator and deal with the extra cleanup in
arch_release_thread_info().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Link: http://lkml.kernel.org/r/20120505150142.311126440@linutronix.de
2012-05-08 13:55:20 +02:00
Thomas Gleixner
6c0a9fa62f fork: Remove the weak insanity
We error out when compiling with gcc4.1.[01] as it miscompiles
__weak. The workaround with magic defines is not longer
necessary. Make it __weak again.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20120505150141.306358267@linutronix.de
2012-05-08 13:55:20 +02:00
Thomas Gleixner
86627c93b3 sh: Remove cpu_idle_wait()
cpuidle uses generic kick_all_cpus_sync() now. Remove the unused code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Link: http://lkml.kernel.org/r/20120507175652.461648208@linutronix.de
2012-05-08 12:35:07 +02:00
Thomas Gleixner
c9b92b8407 powerpc: Remove unused cpu_idle_wait()
cpuidle uses a generic function now. Remove the cruft.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Link: http://lkml.kernel.org/r/20120507175652.330322737@linutronix.de
2012-05-08 12:35:07 +02:00
Thomas Gleixner
bbe78cbd72 ia64: Remove unused cpu_idle_wait()
IA64 does not set CONFIG_ARCH_HAVE_IDLE_WAIT and cpuidle uses a
generic function now. Remove the unused code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/20120507175652.392394511@linutronix.de
2012-05-08 12:35:06 +02:00
Thomas Gleixner
448eca9093 arm: Remove unused cpu_idle_wait()
cpuidle uses a generic function now. Remove the unused code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/20120507175652.260797846@linutronix.de
2012-05-08 12:35:06 +02:00
Thomas Gleixner
85f7f65627 x86: Use kick_all_cpus_sync()
Use kick_all_cpus_sync() and remove cpu_idle_wait().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120507175652.190382227@linutronix.de
Cc: x86@kernel.org
2012-05-08 12:35:06 +02:00
Thomas Gleixner
9cd75e13de powerpc: Fix broken cpu_idle_wait() implementation
commit 771dae818 (powerpc/cpuidle: Add cpu_idle_wait() to allow
switching of idle routines) implemented cpu_idle_wait() for powerpc.

The changelog says:
 "The equivalent routine for x86 is in arch/x86/kernel/process.c
  but the powerpc implementation is different.":

Unfortunately the changelog is completely useless as it does not tell
_WHY_ it is different.

Aside of being different the implementation is patently wrong.

The rescheduling IPI is async. That means that there is no guarantee,
that the other cores have executed the IPI when cpu_idle_wait()
returns. But that's the whole purpose of this function: to guarantee
that no CPU uses the old idle handler anymore.

Use the smp_functional_call() based implementation, which fulfils the
requirements.

[ This code is going to replaced by a core version to remove all the
  pointless copies in arch/*, but this one should go to stable ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Cc: Trinabh Gupta <g.trinabh@gmail.com>
Cc: Arun R Bharadwaj <arun.r.bharadwaj@gmail.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Link: http://lkml.kernel.org/r/20120507175651.980164748@linutronix.de
Cc: stable@vger.kernel.org
2012-05-08 12:35:05 +02:00
Jonas Bonn
207e715ff1 openrisc: use scratch regs in atomic syscall
The function sys_or1k_atomic was using call-saved registers without
restoring their value before returning.  This is a faux pas: either
we need to restore their values or use scratch regs; the latter is
less code so that's the route this patch takes.

Thanks to David Hennerström for doing most of the heavy-lifting in
tracking this one down.

Reported-by: Davd Hennerström <david.hennerstrom@aacmicrotec.com>
Signed-off-by: Jonas Bonn <jonas@southpole.se>
2012-05-08 11:43:59 +02:00
Jonas Bonn
7b903e6c02 openrisc: provide dma_map_ops
This switches OpenRISC over to fully using the generic dma-mapping
framework.  This was almost already the case as the architecture's
implementation was essentially a copy of the generic header.

This also brings this architecture in line with the recent changes
to dma_map_ops (adding attributes to ops->alloc).

Signed-off-by: Jonas Bonn <jonas@southpole.se>
2012-05-08 11:43:51 +02:00
Jonas Bonn
b0e026f4dc openrisc: header file cleanups
elf.h: We can export some of these symbols to userspace.  libc needs them
and we just as well provide them as asm/elf.h as copying them into separate
libc headers.

ptrace.h: Having padding in the user_regs_struct isn't of any particular
value and just confuses GDB.  spr_defs isn't needed in userspace; libc
has its own copy anyway.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
2012-05-08 11:43:30 +02:00
Kautuk Consul
4971f2bdb7 openrisc/mm/fault.c: Port OOM changes to do_page_fault
Commit d065bd810b
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525
(x86,mm: make pagefault killable)

The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.

These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.

Port these changes to openrisc.

Signed-off-by: Mohd. Faris <mohdfarisq2010@gmail.com>
Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
Signed-off-by: Jonas Bonn <jonas@southpole.se>
2012-05-08 11:43:20 +02:00
Jonas Bonn
ad188f955a openrisc: remove unnecessary includes
Signed-off-by: Jonas Bonn <jonas@southpole.se>
2012-05-08 11:43:00 +02:00
Jonas Bonn
b4c4c6ee93 openrisc: implement irqdomains
This moves OpenRISC to using the irqdomain infrastructure.  This doesn't
fundamentally change anything other than that it will be easier to have
multiple interrupt controllers in the future.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
2012-05-08 11:42:55 +02:00
Márton Németh
d1ecad6eee x86/apic: Only compile local function if used with !CONFIG_GENERIC_PENDING_IRQ
The local function io_apic_level_ack_pending() is only called
from io_apic_level_ack_pending(). The later function is only
compiled if CONFIG_GENERIC_PENDING_IRQ is defined. Move the
io_apic_level_ack_pending() to the existing #ifdef
CONFIG_GENERIC_PENDING_IRQ code block.

This will remove the following warning message during compiling
without CONFIG_GENERIC_PENDING_IRQ defined:

 * arch/x86/kernel/apic/io_apic.c:382: warning: ‘io_apic_level_ack_pending’ defined but not used

Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
Link: http://lkml.kernel.org/r/1336461860.2296.3.camel@sbsiddha-mobl2
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-05-08 11:23:15 +02:00
Suresh Siddha
399988eea1 irq_remap: Fix compiler warning with CONFIG_IRQ_REMAP=y
Fix the below compiler warning:

arch/x86/include/asm/irq_remapping.h:72:19: warning: ‘struct IO_APIC_route_entry’ declared inside parameter list [enabled by default]

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: joro@8bytes.org
Cc: iommu@lists.linux-foundation.org
Cc: Joerg Roedel <joerg.roedel@amd.com>
Link: http://lkml.kernel.org/r/1336460934-23592-1-git-send-email-suresh.b.siddha@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2012-05-08 11:17:29 +02:00
R Sricharan
f6d5e079a0 ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
The system dma module has capabiities register indicating
the support for descriptor loading, constant fill, etc.
Use this instead of OMAP revision check to identify the features
supported runtime.

This avoids patching the code for feature SOCs which has
those capabilities.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-05-08 11:54:24 +05:30
Santosh Shilimkar
7d6e11ef30 ARM: OMAP4: Reduce the static IO mapping
EMIF, GMPC and DMM driver can ioremap() the address
space as part of driver intialisation and there is
no need to have static IO mapping for them.

Hence remove the un-used static IP space and let
the respective drivers manage it as part if driver
init.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-05-08 11:54:24 +05:30
Santosh Shilimkar
256aa5fc23 ARM: All OMAP2PLUS machines use omap2 directory so just add one entry
All OMAP2PLUS arch based machines makes use of mach-omap2 directory.
So just add one entry so that there is no need to patch this file
for any OMAP2+ devices.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-05-08 11:54:24 +05:30
Santosh Shilimkar
d07c3df801 ARM: OMAP: dma: Make use of cpu_class_is_omap2() to avoid future patching.
cpu_class_is_omap2() contains all OMAP2+ devices. So update the DMA code
cpu checks accordingly so that there is no need to patch
the file for any future OMAP2+ devices.

In long run, all these attributes should come from hwmod dev_attr based
on DMA IP version.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-05-08 11:54:24 +05:30
Santosh Shilimkar
084753d18e ARM: OMAP4: Remove un-used WakeupGen register defines.
Current OMAP code doesn't use any of the OMAP_WKG_ENB_SECURE_*
registers.

So remove those defines.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-05-08 11:54:24 +05:30
Santosh Shilimkar
eb40155310 ARM: OMAP2+: Clean up wrapping multiple objects in Makefile
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-05-08 11:54:24 +05:30
Santosh Shilimkar
0ae28542a8 ARM: OMAP4: Don't compile cm2xxx_3xxx.c for OMAP4 only builds.
Since OMAP4 code base now makes use of OMAP4 specific PRCM functions,
cm2xxx_3xxx.c need not be compiled for OMAP4 only builds.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
2012-05-08 11:54:24 +05:30