Commit 0e6a1fb1 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM fixes from Russell King:
 "Just two fixes here - one for the recent addition of Neon stuff which
  causes problems when this is built as a module.  The other was one
  spotted by Olof with the fixed-HZ stuff.

  Last patch (which is at the very top) is not a fix per-se, but an
  almost-end-of-merge window sorting of the select symbols in
  arch/arm/Kconfig to keep them as akpm would like to reduce unnecessary
  conflicts.  I've also taken the liberty this time to add a comment at
  the end to discourage the endless "add the next select to the bottom
  of a nicely sorted list" syndrome"

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: sort arch/arm/Kconfig
  ARM: fix forced-HZ values
  ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled
parents 1d7b24ff 171b3f0d
...@@ -3,20 +3,21 @@ config ARM ...@@ -3,20 +3,21 @@ config ARM
default y default y
select ARCH_BINFMT_ELF_RANDOMIZE_PIE select ARCH_BINFMT_ELF_RANDOMIZE_PIE
select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
select ARCH_HAVE_CUSTOM_GPIO_H
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAVE_CUSTOM_GPIO_H
select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_IPC_PARSE_VERSION
select BUILDTIME_EXTABLE_SORT if MMU select BUILDTIME_EXTABLE_SORT if MMU
select CLONE_BACKWARDS
select CPU_PM if (SUSPEND || CPU_IDLE) select CPU_PM if (SUSPEND || CPU_IDLE)
select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU
select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI) select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
select GENERIC_CLOCKEVENTS_BROADCAST if SMP select GENERIC_CLOCKEVENTS_BROADCAST if SMP
select GENERIC_IDLE_POLL_SETUP
select GENERIC_IRQ_PROBE select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW select GENERIC_IRQ_SHOW
select GENERIC_PCI_IOMAP select GENERIC_PCI_IOMAP
select GENERIC_SCHED_CLOCK select GENERIC_SCHED_CLOCK
select GENERIC_SMP_IDLE_THREAD select GENERIC_SMP_IDLE_THREAD
select GENERIC_IDLE_POLL_SETUP
select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNCPY_FROM_USER
select GENERIC_STRNLEN_USER select GENERIC_STRNLEN_USER
select HARDIRQS_SW_RESEND select HARDIRQS_SW_RESEND
...@@ -25,6 +26,7 @@ config ARM ...@@ -25,6 +26,7 @@ config ARM
select HAVE_ARCH_SECCOMP_FILTER select HAVE_ARCH_SECCOMP_FILTER
select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRACEHOOK
select HAVE_BPF_JIT select HAVE_BPF_JIT
select HAVE_CONTEXT_TRACKING
select HAVE_C_RECORDMCOUNT select HAVE_C_RECORDMCOUNT
select HAVE_DEBUG_KMEMLEAK select HAVE_DEBUG_KMEMLEAK
select HAVE_DMA_API_DEBUG select HAVE_DMA_API_DEBUG
...@@ -47,6 +49,7 @@ config ARM ...@@ -47,6 +49,7 @@ config ARM
select HAVE_KPROBES if !XIP_KERNEL select HAVE_KPROBES if !XIP_KERNEL
select HAVE_KRETPROBES if (HAVE_KPROBES) select HAVE_KRETPROBES if (HAVE_KPROBES)
select HAVE_MEMBLOCK select HAVE_MEMBLOCK
select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND
select HAVE_OPROFILE if (HAVE_PERF_EVENTS) select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
select HAVE_PERF_EVENTS select HAVE_PERF_EVENTS
select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_REGS_AND_STACK_ACCESS_API
...@@ -54,15 +57,14 @@ config ARM ...@@ -54,15 +57,14 @@ config ARM
select HAVE_UID16 select HAVE_UID16
select IRQ_FORCED_THREADING select IRQ_FORCED_THREADING
select KTIME_SCALAR select KTIME_SCALAR
select MODULES_USE_ELF_REL
select OLD_SIGACTION
select OLD_SIGSUSPEND3
select PERF_USE_VMALLOC select PERF_USE_VMALLOC
select RTC_LIB select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION select SYS_SUPPORTS_APM_EMULATION
select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND # Above selects are sorted alphabetically; please add new ones
select MODULES_USE_ELF_REL # according to that. Thanks.
select CLONE_BACKWARDS
select OLD_SIGSUSPEND3
select OLD_SIGACTION
select HAVE_CONTEXT_TRACKING
help help
The ARM series is a line of low-power-consumption RISC chip designs The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM Ltd and targeted at embedded applications and licensed by ARM Ltd and targeted at embedded applications and
...@@ -386,8 +388,8 @@ config ARCH_GEMINI ...@@ -386,8 +388,8 @@ config ARCH_GEMINI
bool "Cortina Systems Gemini" bool "Cortina Systems Gemini"
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
select NEED_MACH_GPIO_H
select CPU_FA526 select CPU_FA526
select NEED_MACH_GPIO_H
help help
Support for the Cortina Systems Gemini family SoCs Support for the Cortina Systems Gemini family SoCs
...@@ -487,8 +489,8 @@ config ARCH_IXP4XX ...@@ -487,8 +489,8 @@ config ARCH_IXP4XX
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI select MIGHT_HAVE_PCI
select NEED_MACH_IO_H select NEED_MACH_IO_H
select USB_EHCI_BIG_ENDIAN_MMIO
select USB_EHCI_BIG_ENDIAN_DESC select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
help help
Support for Intel's IXP4XX (XScale) family of processors. Support for Intel's IXP4XX (XScale) family of processors.
...@@ -498,11 +500,11 @@ config ARCH_DOVE ...@@ -498,11 +500,11 @@ config ARCH_DOVE
select CPU_PJ4 select CPU_PJ4
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MIGHT_HAVE_PCI select MIGHT_HAVE_PCI
select MVEBU_MBUS
select PINCTRL select PINCTRL
select PINCTRL_DOVE select PINCTRL_DOVE
select PLAT_ORION_LEGACY select PLAT_ORION_LEGACY
select USB_ARCH_HAS_EHCI select USB_ARCH_HAS_EHCI
select MVEBU_MBUS
help help
Support for the Marvell Dove SoC 88AP510 Support for the Marvell Dove SoC 88AP510
...@@ -512,12 +514,12 @@ config ARCH_KIRKWOOD ...@@ -512,12 +514,12 @@ config ARCH_KIRKWOOD
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select CPU_FEROCEON select CPU_FEROCEON
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MVEBU_MBUS
select PCI select PCI
select PCI_QUIRKS select PCI_QUIRKS
select PINCTRL select PINCTRL
select PINCTRL_KIRKWOOD select PINCTRL_KIRKWOOD
select PLAT_ORION_LEGACY select PLAT_ORION_LEGACY
select MVEBU_MBUS
help help
Support for the following Marvell Kirkwood series SoCs: Support for the following Marvell Kirkwood series SoCs:
88F6180, 88F6192 and 88F6281. 88F6180, 88F6192 and 88F6281.
...@@ -527,9 +529,9 @@ config ARCH_MV78XX0 ...@@ -527,9 +529,9 @@ config ARCH_MV78XX0
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select CPU_FEROCEON select CPU_FEROCEON
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MVEBU_MBUS
select PCI select PCI
select PLAT_ORION_LEGACY select PLAT_ORION_LEGACY
select MVEBU_MBUS
help help
Support for the following Marvell MV78xx0 series SoCs: Support for the following Marvell MV78xx0 series SoCs:
MV781x0, MV782x0. MV781x0, MV782x0.
...@@ -540,9 +542,9 @@ config ARCH_ORION5X ...@@ -540,9 +542,9 @@ config ARCH_ORION5X
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select CPU_FEROCEON select CPU_FEROCEON
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select MVEBU_MBUS
select PCI select PCI
select PLAT_ORION_LEGACY select PLAT_ORION_LEGACY
select MVEBU_MBUS
help help
Support for the following Marvell Orion 5x series SoCs: Support for the following Marvell Orion 5x series SoCs:
Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
...@@ -758,8 +760,8 @@ config ARCH_S5P64X0 ...@@ -758,8 +760,8 @@ config ARCH_S5P64X0
select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C2410_WATCHDOG if WATCHDOG
select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_GPIO_H select NEED_MACH_GPIO_H
select SAMSUNG_WDT_RESET
select SAMSUNG_ATAGS select SAMSUNG_ATAGS
select SAMSUNG_WDT_RESET
help help
Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
SMDK6450. SMDK6450.
...@@ -777,8 +779,8 @@ config ARCH_S5PC100 ...@@ -777,8 +779,8 @@ config ARCH_S5PC100
select HAVE_S3C2410_WATCHDOG if WATCHDOG select HAVE_S3C2410_WATCHDOG if WATCHDOG
select HAVE_S3C_RTC if RTC_CLASS select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_GPIO_H select NEED_MACH_GPIO_H
select SAMSUNG_WDT_RESET
select SAMSUNG_ATAGS select SAMSUNG_ATAGS
select SAMSUNG_WDT_RESET
help help
Samsung S5PC100 series based systems Samsung S5PC100 series based systems
...@@ -1619,9 +1621,10 @@ config HZ_FIXED ...@@ -1619,9 +1621,10 @@ config HZ_FIXED
ARCH_S5PV210 || ARCH_EXYNOS4 ARCH_S5PV210 || ARCH_EXYNOS4
default AT91_TIMER_HZ if ARCH_AT91 default AT91_TIMER_HZ if ARCH_AT91
default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
default 0
choice choice
depends on !HZ_FIXED depends on HZ_FIXED = 0
prompt "Timer frequency" prompt "Timer frequency"
config HZ_100 config HZ_100
...@@ -1646,7 +1649,7 @@ endchoice ...@@ -1646,7 +1649,7 @@ endchoice
config HZ config HZ
int int
default HZ_FIXED if HZ_FIXED default HZ_FIXED if HZ_FIXED != 0
default 100 if HZ_100 default 100 if HZ_100
default 200 if HZ_200 default 200 if HZ_200
default 250 if HZ_250 default 250 if HZ_250
......
...@@ -49,5 +49,5 @@ $(obj)/csumpartialcopyuser.o: $(obj)/csumpartialcopygeneric.S ...@@ -49,5 +49,5 @@ $(obj)/csumpartialcopyuser.o: $(obj)/csumpartialcopygeneric.S
ifeq ($(CONFIG_KERNEL_MODE_NEON),y) ifeq ($(CONFIG_KERNEL_MODE_NEON),y)
NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon
CFLAGS_xor-neon.o += $(NEON_FLAGS) CFLAGS_xor-neon.o += $(NEON_FLAGS)
lib-$(CONFIG_XOR_BLOCKS) += xor-neon.o obj-$(CONFIG_XOR_BLOCKS) += xor-neon.o
endif endif
...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
*/ */
#include <linux/raid/xor.h> #include <linux/raid/xor.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
#ifndef __ARM_NEON__ #ifndef __ARM_NEON__
#error You should compile this file with '-mfloat-abi=softfp -mfpu=neon' #error You should compile this file with '-mfloat-abi=softfp -mfpu=neon'
...@@ -40,3 +43,4 @@ struct xor_block_template const xor_block_neon_inner = { ...@@ -40,3 +43,4 @@ struct xor_block_template const xor_block_neon_inner = {
.do_4 = xor_8regs_4, .do_4 = xor_8regs_4,
.do_5 = xor_8regs_5, .do_5 = xor_8regs_5,
}; };
EXPORT_SYMBOL(xor_block_neon_inner);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment