diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-12 16:58:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-12 16:58:35 -0400 |
commit | 0e6a1fb1167b8d230c6edcebd31e173cd0add1e5 (patch) | |
tree | a8efc4db93bb3c80f3bc0c55226787c5607f76d0 /arch/arm | |
parent | 1d7b24ff335489dd7e864b71ba5b35eaa25b625a (diff) | |
parent | 171b3f0da71cfe5b21b02092ef363baf848e8587 (diff) |
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
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 39 | ||||
-rw-r--r-- | arch/arm/lib/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/lib/xor-neon.c | 4 |
3 files changed, 26 insertions, 19 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c8a916fcd54b..d13f6743df4b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -3,20 +3,21 @@ config ARM | |||
3 | default y | 3 | default y |
4 | select ARCH_BINFMT_ELF_RANDOMIZE_PIE | 4 | select ARCH_BINFMT_ELF_RANDOMIZE_PIE |
5 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | 5 | select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE |
6 | select ARCH_HAVE_CUSTOM_GPIO_H | ||
7 | select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST | 6 | select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST |
7 | select ARCH_HAVE_CUSTOM_GPIO_H | ||
8 | select ARCH_WANT_IPC_PARSE_VERSION | 8 | select ARCH_WANT_IPC_PARSE_VERSION |
9 | select BUILDTIME_EXTABLE_SORT if MMU | 9 | select BUILDTIME_EXTABLE_SORT if MMU |
10 | select CLONE_BACKWARDS | ||
10 | select CPU_PM if (SUSPEND || CPU_IDLE) | 11 | select CPU_PM if (SUSPEND || CPU_IDLE) |
11 | select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU | 12 | select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU |
12 | select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI) | 13 | select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI) |
13 | select GENERIC_CLOCKEVENTS_BROADCAST if SMP | 14 | select GENERIC_CLOCKEVENTS_BROADCAST if SMP |
15 | select GENERIC_IDLE_POLL_SETUP | ||
14 | select GENERIC_IRQ_PROBE | 16 | select GENERIC_IRQ_PROBE |
15 | select GENERIC_IRQ_SHOW | 17 | select GENERIC_IRQ_SHOW |
16 | select GENERIC_PCI_IOMAP | 18 | select GENERIC_PCI_IOMAP |
17 | select GENERIC_SCHED_CLOCK | 19 | select GENERIC_SCHED_CLOCK |
18 | select GENERIC_SMP_IDLE_THREAD | 20 | select GENERIC_SMP_IDLE_THREAD |
19 | select GENERIC_IDLE_POLL_SETUP | ||
20 | select GENERIC_STRNCPY_FROM_USER | 21 | select GENERIC_STRNCPY_FROM_USER |
21 | select GENERIC_STRNLEN_USER | 22 | select GENERIC_STRNLEN_USER |
22 | select HARDIRQS_SW_RESEND | 23 | select HARDIRQS_SW_RESEND |
@@ -25,6 +26,7 @@ config ARM | |||
25 | select HAVE_ARCH_SECCOMP_FILTER | 26 | select HAVE_ARCH_SECCOMP_FILTER |
26 | select HAVE_ARCH_TRACEHOOK | 27 | select HAVE_ARCH_TRACEHOOK |
27 | select HAVE_BPF_JIT | 28 | select HAVE_BPF_JIT |
29 | select HAVE_CONTEXT_TRACKING | ||
28 | select HAVE_C_RECORDMCOUNT | 30 | select HAVE_C_RECORDMCOUNT |
29 | select HAVE_DEBUG_KMEMLEAK | 31 | select HAVE_DEBUG_KMEMLEAK |
30 | select HAVE_DMA_API_DEBUG | 32 | select HAVE_DMA_API_DEBUG |
@@ -47,6 +49,7 @@ config ARM | |||
47 | select HAVE_KPROBES if !XIP_KERNEL | 49 | select HAVE_KPROBES if !XIP_KERNEL |
48 | select HAVE_KRETPROBES if (HAVE_KPROBES) | 50 | select HAVE_KRETPROBES if (HAVE_KPROBES) |
49 | select HAVE_MEMBLOCK | 51 | select HAVE_MEMBLOCK |
52 | select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND | ||
50 | select HAVE_OPROFILE if (HAVE_PERF_EVENTS) | 53 | select HAVE_OPROFILE if (HAVE_PERF_EVENTS) |
51 | select HAVE_PERF_EVENTS | 54 | select HAVE_PERF_EVENTS |
52 | select HAVE_REGS_AND_STACK_ACCESS_API | 55 | select HAVE_REGS_AND_STACK_ACCESS_API |
@@ -54,15 +57,14 @@ config ARM | |||
54 | select HAVE_UID16 | 57 | select HAVE_UID16 |
55 | select IRQ_FORCED_THREADING | 58 | select IRQ_FORCED_THREADING |
56 | select KTIME_SCALAR | 59 | select KTIME_SCALAR |
60 | select MODULES_USE_ELF_REL | ||
61 | select OLD_SIGACTION | ||
62 | select OLD_SIGSUSPEND3 | ||
57 | select PERF_USE_VMALLOC | 63 | select PERF_USE_VMALLOC |
58 | select RTC_LIB | 64 | select RTC_LIB |
59 | select SYS_SUPPORTS_APM_EMULATION | 65 | select SYS_SUPPORTS_APM_EMULATION |
60 | select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND | 66 | # Above selects are sorted alphabetically; please add new ones |
61 | select MODULES_USE_ELF_REL | 67 | # according to that. Thanks. |
62 | select CLONE_BACKWARDS | ||
63 | select OLD_SIGSUSPEND3 | ||
64 | select OLD_SIGACTION | ||
65 | select HAVE_CONTEXT_TRACKING | ||
66 | help | 68 | help |
67 | The ARM series is a line of low-power-consumption RISC chip designs | 69 | The ARM series is a line of low-power-consumption RISC chip designs |
68 | licensed by ARM Ltd and targeted at embedded applications and | 70 | licensed by ARM Ltd and targeted at embedded applications and |
@@ -386,8 +388,8 @@ config ARCH_GEMINI | |||
386 | bool "Cortina Systems Gemini" | 388 | bool "Cortina Systems Gemini" |
387 | select ARCH_REQUIRE_GPIOLIB | 389 | select ARCH_REQUIRE_GPIOLIB |
388 | select ARCH_USES_GETTIMEOFFSET | 390 | select ARCH_USES_GETTIMEOFFSET |
389 | select NEED_MACH_GPIO_H | ||
390 | select CPU_FA526 | 391 | select CPU_FA526 |
392 | select NEED_MACH_GPIO_H | ||
391 | help | 393 | help |
392 | Support for the Cortina Systems Gemini family SoCs | 394 | Support for the Cortina Systems Gemini family SoCs |
393 | 395 | ||
@@ -487,8 +489,8 @@ config ARCH_IXP4XX | |||
487 | select GENERIC_CLOCKEVENTS | 489 | select GENERIC_CLOCKEVENTS |
488 | select MIGHT_HAVE_PCI | 490 | select MIGHT_HAVE_PCI |
489 | select NEED_MACH_IO_H | 491 | select NEED_MACH_IO_H |
490 | select USB_EHCI_BIG_ENDIAN_MMIO | ||
491 | select USB_EHCI_BIG_ENDIAN_DESC | 492 | select USB_EHCI_BIG_ENDIAN_DESC |
493 | select USB_EHCI_BIG_ENDIAN_MMIO | ||
492 | help | 494 | help |
493 | Support for Intel's IXP4XX (XScale) family of processors. | 495 | Support for Intel's IXP4XX (XScale) family of processors. |
494 | 496 | ||
@@ -498,11 +500,11 @@ config ARCH_DOVE | |||
498 | select CPU_PJ4 | 500 | select CPU_PJ4 |
499 | select GENERIC_CLOCKEVENTS | 501 | select GENERIC_CLOCKEVENTS |
500 | select MIGHT_HAVE_PCI | 502 | select MIGHT_HAVE_PCI |
503 | select MVEBU_MBUS | ||
501 | select PINCTRL | 504 | select PINCTRL |
502 | select PINCTRL_DOVE | 505 | select PINCTRL_DOVE |
503 | select PLAT_ORION_LEGACY | 506 | select PLAT_ORION_LEGACY |
504 | select USB_ARCH_HAS_EHCI | 507 | select USB_ARCH_HAS_EHCI |
505 | select MVEBU_MBUS | ||
506 | help | 508 | help |
507 | Support for the Marvell Dove SoC 88AP510 | 509 | Support for the Marvell Dove SoC 88AP510 |
508 | 510 | ||
@@ -512,12 +514,12 @@ config ARCH_KIRKWOOD | |||
512 | select ARCH_REQUIRE_GPIOLIB | 514 | select ARCH_REQUIRE_GPIOLIB |
513 | select CPU_FEROCEON | 515 | select CPU_FEROCEON |
514 | select GENERIC_CLOCKEVENTS | 516 | select GENERIC_CLOCKEVENTS |
517 | select MVEBU_MBUS | ||
515 | select PCI | 518 | select PCI |
516 | select PCI_QUIRKS | 519 | select PCI_QUIRKS |
517 | select PINCTRL | 520 | select PINCTRL |
518 | select PINCTRL_KIRKWOOD | 521 | select PINCTRL_KIRKWOOD |
519 | select PLAT_ORION_LEGACY | 522 | select PLAT_ORION_LEGACY |
520 | select MVEBU_MBUS | ||
521 | help | 523 | help |
522 | Support for the following Marvell Kirkwood series SoCs: | 524 | Support for the following Marvell Kirkwood series SoCs: |
523 | 88F6180, 88F6192 and 88F6281. | 525 | 88F6180, 88F6192 and 88F6281. |
@@ -527,9 +529,9 @@ config ARCH_MV78XX0 | |||
527 | select ARCH_REQUIRE_GPIOLIB | 529 | select ARCH_REQUIRE_GPIOLIB |
528 | select CPU_FEROCEON | 530 | select CPU_FEROCEON |
529 | select GENERIC_CLOCKEVENTS | 531 | select GENERIC_CLOCKEVENTS |
532 | select MVEBU_MBUS | ||
530 | select PCI | 533 | select PCI |
531 | select PLAT_ORION_LEGACY | 534 | select PLAT_ORION_LEGACY |
532 | select MVEBU_MBUS | ||
533 | help | 535 | help |
534 | Support for the following Marvell MV78xx0 series SoCs: | 536 | Support for the following Marvell MV78xx0 series SoCs: |
535 | MV781x0, MV782x0. | 537 | MV781x0, MV782x0. |
@@ -540,9 +542,9 @@ config ARCH_ORION5X | |||
540 | select ARCH_REQUIRE_GPIOLIB | 542 | select ARCH_REQUIRE_GPIOLIB |
541 | select CPU_FEROCEON | 543 | select CPU_FEROCEON |
542 | select GENERIC_CLOCKEVENTS | 544 | select GENERIC_CLOCKEVENTS |
545 | select MVEBU_MBUS | ||
543 | select PCI | 546 | select PCI |
544 | select PLAT_ORION_LEGACY | 547 | select PLAT_ORION_LEGACY |
545 | select MVEBU_MBUS | ||
546 | help | 548 | help |
547 | Support for the following Marvell Orion 5x series SoCs: | 549 | Support for the following Marvell Orion 5x series SoCs: |
548 | Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), | 550 | Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), |
@@ -758,8 +760,8 @@ config ARCH_S5P64X0 | |||
758 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 760 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
759 | select HAVE_S3C_RTC if RTC_CLASS | 761 | select HAVE_S3C_RTC if RTC_CLASS |
760 | select NEED_MACH_GPIO_H | 762 | select NEED_MACH_GPIO_H |
761 | select SAMSUNG_WDT_RESET | ||
762 | select SAMSUNG_ATAGS | 763 | select SAMSUNG_ATAGS |
764 | select SAMSUNG_WDT_RESET | ||
763 | help | 765 | help |
764 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, | 766 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, |
765 | SMDK6450. | 767 | SMDK6450. |
@@ -777,8 +779,8 @@ config ARCH_S5PC100 | |||
777 | select HAVE_S3C2410_WATCHDOG if WATCHDOG | 779 | select HAVE_S3C2410_WATCHDOG if WATCHDOG |
778 | select HAVE_S3C_RTC if RTC_CLASS | 780 | select HAVE_S3C_RTC if RTC_CLASS |
779 | select NEED_MACH_GPIO_H | 781 | select NEED_MACH_GPIO_H |
780 | select SAMSUNG_WDT_RESET | ||
781 | select SAMSUNG_ATAGS | 782 | select SAMSUNG_ATAGS |
783 | select SAMSUNG_WDT_RESET | ||
782 | help | 784 | help |
783 | Samsung S5PC100 series based systems | 785 | Samsung S5PC100 series based systems |
784 | 786 | ||
@@ -1619,9 +1621,10 @@ config HZ_FIXED | |||
1619 | ARCH_S5PV210 || ARCH_EXYNOS4 | 1621 | ARCH_S5PV210 || ARCH_EXYNOS4 |
1620 | default AT91_TIMER_HZ if ARCH_AT91 | 1622 | default AT91_TIMER_HZ if ARCH_AT91 |
1621 | default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE | 1623 | default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE |
1624 | default 0 | ||
1622 | 1625 | ||
1623 | choice | 1626 | choice |
1624 | depends on !HZ_FIXED | 1627 | depends on HZ_FIXED = 0 |
1625 | prompt "Timer frequency" | 1628 | prompt "Timer frequency" |
1626 | 1629 | ||
1627 | config HZ_100 | 1630 | config HZ_100 |
@@ -1646,7 +1649,7 @@ endchoice | |||
1646 | 1649 | ||
1647 | config HZ | 1650 | config HZ |
1648 | int | 1651 | int |
1649 | default HZ_FIXED if HZ_FIXED | 1652 | default HZ_FIXED if HZ_FIXED != 0 |
1650 | default 100 if HZ_100 | 1653 | default 100 if HZ_100 |
1651 | default 200 if HZ_200 | 1654 | default 200 if HZ_200 |
1652 | default 250 if HZ_250 | 1655 | default 250 if HZ_250 |
diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile index aaf3a8731136..bd454b09133e 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile | |||
@@ -49,5 +49,5 @@ $(obj)/csumpartialcopyuser.o: $(obj)/csumpartialcopygeneric.S | |||
49 | ifeq ($(CONFIG_KERNEL_MODE_NEON),y) | 49 | ifeq ($(CONFIG_KERNEL_MODE_NEON),y) |
50 | NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon | 50 | NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon |
51 | CFLAGS_xor-neon.o += $(NEON_FLAGS) | 51 | CFLAGS_xor-neon.o += $(NEON_FLAGS) |
52 | lib-$(CONFIG_XOR_BLOCKS) += xor-neon.o | 52 | obj-$(CONFIG_XOR_BLOCKS) += xor-neon.o |
53 | endif | 53 | endif |
diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c index f485e5a2af4b..2c40aeab3eaa 100644 --- a/arch/arm/lib/xor-neon.c +++ b/arch/arm/lib/xor-neon.c | |||
@@ -9,6 +9,9 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/raid/xor.h> | 11 | #include <linux/raid/xor.h> |
12 | #include <linux/module.h> | ||
13 | |||
14 | MODULE_LICENSE("GPL"); | ||
12 | 15 | ||
13 | #ifndef __ARM_NEON__ | 16 | #ifndef __ARM_NEON__ |
14 | #error You should compile this file with '-mfloat-abi=softfp -mfpu=neon' | 17 | #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 | .do_4 = xor_8regs_4, | 43 | .do_4 = xor_8regs_4, |
41 | .do_5 = xor_8regs_5, | 44 | .do_5 = xor_8regs_5, |
42 | }; | 45 | }; |
46 | EXPORT_SYMBOL(xor_block_neon_inner); | ||