aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2011-04-04[S390] Fix parameter passing for smp_switch_to_cpu()Michael Holzheu2-2/+6
After the execution has been switched to the destination CPU, the target function is called with the wrong parameter. According to the C calling convention on s390, the first parameter should be loaded into register 2. Currently in smp_restart_cpu() it is stored in register 3. To fix this, we load the parameter into the correct register 2. Signed-off-by: Michael Holzheu <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-04-04[S390] oprofile s390: prevent stack corruptionJan Glauber1-5/+1
Prevent stack corruption by memcpy which copies more bytes then available at the destination. While at it use the new test_facility to test for the facility bit. Signed-off-by: Jan Glauber <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-04-02ARM: Only allow PM_SLEEP with CPUs which support suspendRussell King1-0/+2
Offering CONFIG_PM_SLEEP for CPUs which do not support suspend leads to build errors, so only set CONFIG_ARCH_SUSPEND_POSSIBLE if we have a CPU selected which supports suspend. Signed-off-by: Russell King <[email protected]>
2011-04-02ARM: Make consolidated PM sleep code depend on PM_SLEEPRussell King8-8/+8
CONFIG_PM is now set whenever we support either runtime PM in addition to suspend and hibernate. This causes build errors when runtime PM is enabled on a platform, but the CPU does not have the appropriate support for suspend. So, switch this code to use CONFIG_PM_SLEEP rather than CONFIG_PM to allow runtime PM to be enabled without causing build errors. Signed-off-by: Russell King <[email protected]>
2011-04-02unicore32 framebuffer fix: get videomemory by __get_free_pages() and make it ↵Guan Xuetao5-49/+2
floatable 1. get videomemory by __get_free_pages() in fb-puv3.c 2. remove resource reservation for old fixed UNIGFX_MMAP & UVC_MMAP space 3. remove unused macros: PKUNTIY_UNIGFX_MMAP_BASE, PKUNITY_UNIGFX_MMAP_SIZE, PKUNITY_UVC_MMAP_BASE, PKUNITY_UVC_MMAP_SIZE and KUSER_UNIGFX_BASE 4. remove unused header linux/vmalloc.h in fb-puv3.h Signed-off-by: Guan Xuetao <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2011-04-02unicore32 core architecture: remove duplicated #includeHuang Weiyi1-1/+0
Remove duplicated #include('s) in arch/unicore32/kernel/traps.c Signed-off-by: Huang Weiyi <[email protected]> Acked-by: Guan Xuetao <[email protected]>
2011-04-02unicore32 rtc driver fix: cleanup irq_set_freq and irq_set_stateGuan Xuetao1-9/+0
Signed-off-by: Guan Xuetao <[email protected]>
2011-04-02unicore32 fix: remove arch-specific futex supportGuan Xuetao2-144/+1
The futex functions in unicore32 are not used and verified, so just replaced by asm-generic version. Signed-off-by: Guan Xuetao <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2011-04-02unicore32 ldscript fix: add cacheline parameter to PERCPU() macroGuan Xuetao1-3/+4
Also, adjust cacheline parameter of RW_DATA_SECTION and EXCEPTION_TABLE Signed-off-by: Guan Xuetao <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2011-04-01arm: tegra: fix error check in tegra2_clocks.cNicolas Kaiser1-4/+5
Checking 'rate < 0' doesn't work because 'rate' is unsigned. Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: Colin Cross <[email protected]>
2011-04-01Merge branch 'release' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix build warning: argument 1 of 'irqd_irq_disabled'
2011-04-01[IA64] fix build warning: argument 1 of 'irqd_irq_disabled'Tony Luck1-1/+1
In commit f5e5bf088bd3d30990efb7429aaf9f1e5134ffd6 ia64: Use irqd_irq_disabled() instead of desc->status access Thomas forgot to convert from irq to *irq_data. Add a call to irq_get_irq_data() to fix that. Signed-off-by: Tony Luck <[email protected]>
2011-04-01Merge branch 'merge' of ↵Linus Torvalds12-191/+238
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: kdump: Allow shrinking of kdump region to be overridden powerpc/pmac/smp: Remove no-longer needed preempt workaround powerpc/smp: Increase vdso_data->processorCount, not just decrease it powerpc/smp: Create idle threads on demand and properly reset them powerpc/smp: Don't expose per-cpu "cpu_state" array powerpc/pmac/smp: Fix CPU hotplug crashes on some machines powerpc/smp: Add a smp_ops->bringup_up() done callback powerpc/pmac: Rename cpu_state in therm_pm72 to avoid collision powerpc/pmac/smp: Properly NAP offlined CPU on G5 powerpc/pmac/smp: Remove HMT changes for PowerMac offline code powerpc/pmac/smp: Consolidate 32-bit and 64-bit PowerMac cpu_die in one file powerpc/pmac/smp: Fixup smp_core99_cpu_disable() and use it on 64-bit powerpc/pmac/smp: Rename fixup_irqs() to migrate_irqs() and use it on ppc32 powerpc/pmac/smp: Fix 32-bit PowerMac cpu_die powerpc/smp: Remove unused smp_ops->cpu_enable() powerpc/smp: Remove unused generic_cpu_enable() powerpc/smp: Fix generic_mach_cpu_die() powerpc/smp: soft-replugged CPUs must go back to start_secondary powerpc: Make decrementer interrupt robust against offlined CPUs
2011-04-01Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds15-17/+20
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc32: Pass task_struct to schedule_tail() in ret_from_fork apbuart: Depend upon sparc. sparc64: Fix section mis-match errors. sparc32,leon: Fixed APBUART frequency detection sparc32, leon: APBUART driver must use archdata to get IRQ number sparc: Hook up syncfs system call.
2011-04-01rcu: create new rcu_access_index() and use in mcePaul E. McKenney1-1/+1
The MCE subsystem needs to sample an RCU-protected index outside of any protection for that index. If this was a pointer, we would use rcu_access_pointer(), but there is no corresponding rcu_access_index(). This commit therefore creates an rcu_access_index() and applies it to MCE. Signed-off-by: Paul E. McKenney <[email protected]> Tested-by: Zdenek Kabelac <[email protected]>
2011-04-01microblaze: Fix ftraceMichal Simek3-4/+13
- Do not trace idle loop which takes a lot time - Fix cache handling in generic ftrace code - Do not trace lib functions ashldi3, ashrdi3, lshrdi3 Functions are called from generic ftrace code which can't be traced Signed-off-by: Michal Simek <[email protected]>
2011-04-01microblaze: Wire up new syscallsMichal Simek2-1/+9
Hook up name_to_handle_at, open_by_handle_at, clock_adjtime, syncfs Signed-off-by: Michal Simek <[email protected]>
2011-04-01microblaze: Fix level/edge irq sensibilityMichal Simek1-2/+2
Patches: "microblaze: Convert to new irq function names" sha (4adc192ec7d977c74c750320f289af9d61c1caca) and "microblaze: Use generic show_interrupts()" sha(9d61c18b25726306c9231428c17db42e3ff29ba7) should also setup edge/level in irq_set_chip_and_handler_name name parameter. Error log: ~ # cat /proc/interrupts CPU0 2: 2 Xilinx INTC-Xilinx INTC eth0 3: 2 Xilinx INTC-Xilinx INTC eth0 4: 241 Xilinx INTC-Xilinx INTC timer 6: 108 Xilinx INTC-Xilinx INTC serial Fixed: ~ # cat /proc/interrupts CPU0 2: 2 Xilinx INTC-level eth0 3: 2 Xilinx INTC-level eth0 4: 238 Xilinx INTC-edge timer 6: 108 Xilinx INTC-level serial Signed-off-by: Michal Simek <[email protected]> Acked-by: Thomas Gleixner <[email protected]> --- v2: Fix exchanged edge and level
2011-04-01powerpc/pmac/smp: Remove no-longer needed preempt workaroundBenjamin Herrenschmidt1-7/+0
The generic code properly re-initializes the preempt count in the idle thread now Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: Increase vdso_data->processorCount, not just decrease itBenjamin Herrenschmidt1-0/+4
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: Create idle threads on demand and properly reset themBenjamin Herrenschmidt1-22/+78
Instead of creating idle threads at boot for all possible CPUs, we create them on demand, like x86 or ARM, and we properly call init_idle to re-initialize an idle thread when a CPU was unplugged and is now re-plugged. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: Don't expose per-cpu "cpu_state" arrayBenjamin Herrenschmidt3-6/+15
Instead, keep it static, expose an accessor and use that from the PowerMac code. Avoids easy namespace collisions and will make it easier to consolidate with other implementations. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Fix CPU hotplug crashes on some machinesBenjamin Herrenschmidt1-16/+55
On some machines that use i2c to synchronize the timebases (such as PowerMac7,2/7,3 G5 machines), hotplug CPU would crash when putting back a new CPU online due to the underlying i2c bus being closed. This uses the newly added bringup_done() callback to move the close along with other housekeeping calls, and adds a CPU notifier to re-open the i2c bus around subsequent hotplug operations Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: Add a smp_ops->bringup_up() done callbackBenjamin Herrenschmidt2-0/+5
This allows us to stop abusing smp_ops->setup_cpu() for cleanup tasks that have to take place after the initial boot time CPU bringup. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Properly NAP offlined CPU on G5Benjamin Herrenschmidt4-28/+15
The current code soft-disables, and then goes to NAP mode which turns interrupts on. That means that if an interrupt occurs, we will hit the masked interrupt code path which isn't what we want, as it will return with EE off, which will either get us out of NAP mode, or fail to enter it (according to spec). Instead, let's just rely on the fact that it is safe to take decrementer interrupts on an offline CPU and leave interrupts enabled. We can also get rid of the special case in asm for power4_cpu_offline_powersave() and just use power4_idle(). Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Remove HMT changes for PowerMac offline codeBenjamin Herrenschmidt1-4/+0
Those instructions do nothing on non-threaded processors such as 970's used on those machines. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Consolidate 32-bit and 64-bit PowerMac cpu_die in one fileBenjamin Herrenschmidt3-60/+55
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Fixup smp_core99_cpu_disable() and use it on 64-bitBenjamin Herrenschmidt1-12/+5
Use the generic code, just add the MPIC priority setting, I don't see any use in mucking around with the decrementer, as 32-bit will have EE off all along, and 64-bit will be able to deal with it. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Rename fixup_irqs() to migrate_irqs() and use it on ppc32Benjamin Herrenschmidt3-3/+4
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/pmac/smp: Fix 32-bit PowerMac cpu_dieBenjamin Herrenschmidt2-20/+6
Use generic cpu_state, call idle_task_exit() properly, and remove smp_core99_cpu_die() which isn't useful, the generic function does the job just fine.
2011-04-01powerpc/smp: Remove unused smp_ops->cpu_enable()Benjamin Herrenschmidt3-13/+0
Remove the last remnants of cpu_enable(), everybody uses the normal __cpu_up() path now Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: Remove unused generic_cpu_enable()Benjamin Herrenschmidt2-23/+0
Nobody uses it, besides we should always use the normal __cpu_up path anyways Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: Fix generic_mach_cpu_die()Benjamin Herrenschmidt1-2/+1
This is used by some "soft" hotplug implementations. I needs to call idle_task_exit() when the CPU is going away, and we remove the now no-longer needed set_cpu_online() and local_irq_enable() which are handled by the return to start_secondary Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc/smp: soft-replugged CPUs must go back to start_secondaryBenjamin Herrenschmidt4-4/+17
Various thing are torn down when a CPU is hot-unplugged. That CPU is expected to go back to start_secondary when re-plugged to re initialize everything, such as clock sources, maps, ... Some implementations just return from cpu_die() callback in the idle loop when the CPU is "re-plugged". This is not enough. We fix it using a little asm trampoline which resets the stack and calls back into start_secondary as if we were all fresh from boot. The trampoline already existed on ppc64, but we add it for ppc32 Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-04-01powerpc: Make decrementer interrupt robust against offlined CPUsBenjamin Herrenschmidt1-4/+11
With some implementations, it is possible that a timer interrupt occurs every few seconds on an offline CPU. In this case, just re-arm the decrementer and return immediately Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-31msm: timer: fix missing return valueDavid Brown1-1/+1
Change af90f10d38 "ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime" missed a return statement, causing a compile warning: arch/arm/mach-msm/timer.c:272: warning: 'return' with no value, in function returning non-void Trivially return 0 for success when running on cpu 0 (to match the comment and previous behavior). Signed-off-by: David Brown <[email protected]>
2011-03-31msm: Remove extraneous ffa device checkDavid Brown1-4/+1
The qsd8x50 board file contains a few references to machine_is_... macros that are otherwise unused, and contain no machine definition. The recent purge of unused machine definitions breaks the compilation of this target. Since the machine cannot ever be used, just remove the bogus checks. Signed-off-by: David Brown <[email protected]>
2011-03-31x86, UV: Fix kdump rebootCliff Wickman1-0/+9
After a crash dump on an SGI Altix UV system the crash kernel fails to cause a reboot. EFI mode is disabled in the kdump kernel, so only the reboot_type of BOOT_ACPI works. Signed-off-by: Cliff Wickman <[email protected]> Cc: [email protected] LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2011-03-31Fix common misspellingsLucas De Marchi403-523/+523
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <[email protected]>
2011-03-31sparc32: Pass task_struct to schedule_tail() in ret_from_forkTkhai Kirill1-1/+1
We have to pass task_struct of previous process to function schedule_tail(). Currently in ret_from_fork previous thread_info is passed: switch_to: mov %g6, %g3 /* previous thread_info in g6 */ ret_from_fork: call schedule_tail mov %g3, %o0 /* previous thread_info is passed */ void schedule_tail(struct task_struct *prev); Signed-off-by: Tkhai Kirill <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-31x86, amd-nb: Rename CPU PCI id define for F4Borislav Petkov1-1/+1
With increasing number of PCI function ids, add the PCI function id in the define name instead of its symbolic name in the BKDG for more clarity. This renames function 4 define. Signed-off-by: Borislav Petkov <[email protected]> Cc: Jesse Barnes <[email protected]> LKML-Reference: <20110330183447.GA3668@aftab> Signed-off-by: Ingo Molnar <[email protected]>
2011-03-31sh: fix build error in board-sh7757lcr.cYoshihiro Shimoda1-1/+1
Fix the problem that the sh_mobile_sdhi.h changed the directory from "linux/mfd/" to "linux/mmc/". Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2011-03-31Merge branch 'master' of ↵Paul Mundt498-3538/+3756
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-latest
2011-03-31sh: landisk: Remove whitespaceNobuhiro Iwamatsu1-2/+2
Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2011-03-31sh: landisk: Remove mv_nr_irqsNobuhiro Iwamatsu1-1/+0
Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2011-03-30sparc64: Fix section mis-match errors.David S. Miller11-14/+14
Fix all of the problems spotted by CONFIG_DEBUG_SECTION_MISMATCH under arch/sparc during a 64-bit defconfig build. They fall into two categorites: 1) of_device_id is marked as __initdata, and we can never do this since these objects sit in the device core data structures way past boot. So even if a driver will never be reloaded, we have to keep the device ID table around. Mark such cases const instead. 2) The bootmem alloc/free handling code in mdesc.c was not fully marked __init as it should be, thus generating a reference to free_bootmem_late() (which is __init) from non-__init code. Signed-off-by: David S. Miller <[email protected]>
2011-03-30ARM: tegra: gpio: Fix unused variable warningsColin Cross1-2/+4
Change b0f18edaf6ee4e6fac89cae63a90bd38ad2a3418 (arm: tegra: Remove unused bogus irq enable/disable magic) introduces warnings: arch/arm/mach-tegra/gpio.c: In function 'tegra_gpio_resume': arch/arm/mach-tegra/gpio.c:260: warning: unused variable 'i' arch/arm/mach-tegra/gpio.c: In function 'tegra_gpio_suspend': arch/arm/mach-tegra/gpio.c:283: warning: unused variable 'i' Fix them, and fix a coding style issue on the same lines. Signed-off-by: Colin Cross <[email protected]> Acked-by: Erik Gilling <[email protected]>
2011-03-30Merge branch 'release' of ↵Linus Torvalds1-42/+0
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix build breakage - sn_force_interrupt_flag: undefined
2011-03-30Merge branch 'irq-fixes-for-linus' of ↵Linus Torvalds23-27/+8
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: avr32: Fix missing irq namespace conversion powerpc: qe_ic: Rename get_irq_desc_data and get_irq_desc_chip genirq: Remove the now obsolete config options and select statements arm: versatile : Fix typo introduced in irq namespace cleanup sound: Fixup the last user of the old irq functions genirq: Remove obsolete comment genirq: Remove now obsolete set_irq_wake() sh: Fix irq cleanup fallout x86: apb_timer: Fixup genirq fallout genirq: Fix misnamed label in handle_edge_eoi_irq Fix up crazy conflict in arch/powerpc/include/asm/qe_ic.h: - commit eead4d5c63ff ("powerpc: qe_ic: Rename get_irq_desc_data and get_irq_desc_chip") made the helper functions use irq_desc_get_handler_data() instead of the legacy (and no longer existing) get_irq_desc_data. - commit d4db35e8dc96 ("powerpc/qe_ic: Fix another breakage from the irq_data conversion") used irq_desc_get_chip_data() instead. According to Thomas, the former is the correct direct conversion, but it does look like both should work (arch/powerpc/sysdev/qe_lib/qe_ic.c seems to initialize both to the same thing), and the chip data in some ways is the more logical. Somebody should really decide on one of the other. This merge picks irq_desc_get_handler_data() as the straightforward pure conversion to new names, as per Thomas.
2011-03-30Merge branch 'merge' of ↵Linus Torvalds31-65/+160
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/qe_ic: Fix another breakage from the irq_data conversion powerpc/8xx: Fix another breakage from the irq_data conversion powerpc/cell: Use handle_edge_eoi_irq for real powerpc/pseries: Enable Chelsio network and iWARP drivers powerpc/mm: Move the STAB0 location to 0x8000 to make room in low memory powerpc: Fix accounting of softirq time when idle powerpc/pseries/smp: query-cpu-stopped-state support won't change powerpc/xics: Use hwirq for xics domain irq number powerpc/xics: Fix numberspace mismatch from irq_desc conversion powerpc: Wire up new syscalls powerpc/booke: Correct the SPRN_MAS5 definition. powerpc: ARCH_PFN_OFFSET should be unsigned long powerpc: Implement dma_mmap_coherent() powerpc/nvram: Don't overwrite oops/panic report on normal shutdown powerpc: Restore some misc devices to our configs