diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 11:51:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-12 11:51:56 -0500 |
commit | 42cf0f203e877cc7e502883d43b3f72149033d86 (patch) | |
tree | 3658297d62f28d7bfaa148099b08001aa9904229 /lib | |
parent | a2f0bb03f7c499e3db72c70a62b1aa5c55d6a82b (diff) | |
parent | df9ab9771c64f5229843bfe2a20fe0ee6ac59fc1 (diff) |
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King:
- clang assembly fixes from Ard
- optimisations and cleanups for Aurora L2 cache support
- efficient L2 cache support for secure monitor API on Exynos SoCs
- debug menu cleanup from Daniel Thompson to allow better behaviour for
multiplatform kernels
- StrongARM SA11x0 conversion to irq domains, and pxa_timer
- kprobes updates for older ARM CPUs
- move probes support out of arch/arm/kernel to arch/arm/probes
- add inline asm support for the rbit (reverse bits) instruction
- provide an ARM mode secondary CPU entry point (for Qualcomm CPUs)
- remove the unused ARMv3 user access code
- add driver_override support to AMBA Primecell bus
* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (55 commits)
ARM: 8256/1: driver coamba: add device binding path 'driver_override'
ARM: 8301/1: qcom: Use secondary_startup_arm()
ARM: 8302/1: Add a secondary_startup that assumes ARM mode
ARM: 8300/1: teach __asmeq that r11 == fp and r12 == ip
ARM: kprobes: Fix compilation error caused by superfluous '*'
ARM: 8297/1: cache-l2x0: optimize aurora range operations
ARM: 8296/1: cache-l2x0: clean up aurora cache handling
ARM: 8284/1: sa1100: clear RCSR_SMR on resume
ARM: 8283/1: sa1100: collie: clear PWER register on machine init
ARM: 8282/1: sa1100: use handle_domain_irq
ARM: 8281/1: sa1100: move GPIO-related IRQ code to gpio driver
ARM: 8280/1: sa1100: switch to irq_domain_add_simple()
ARM: 8279/1: sa1100: merge both GPIO irqdomains
ARM: 8278/1: sa1100: split irq handling for low GPIOs
ARM: 8291/1: replace magic number with PAGE_SHIFT macro in fixup_pv code
ARM: 8290/1: decompressor: fix a wrong comment
ARM: 8286/1: mm: Fix dma_contiguous_reserve comment
ARM: 8248/1: pm: remove outdated comment
ARM: 8274/1: Fix DEBUG_LL for multi-platform kernels (without PL01X)
ARM: 8273/1: Seperate DEBUG_UART_PHYS from DEBUG_LL on EP93XX
...
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig | 9 | ||||
-rw-r--r-- | lib/bitrev.c | 17 |
2 files changed, 11 insertions, 15 deletions
diff --git a/lib/Kconfig b/lib/Kconfig index 54cf309a92a5..cd177caf3876 100644 --- a/lib/Kconfig +++ b/lib/Kconfig | |||
@@ -13,6 +13,15 @@ config RAID6_PQ | |||
13 | config BITREVERSE | 13 | config BITREVERSE |
14 | tristate | 14 | tristate |
15 | 15 | ||
16 | config HAVE_ARCH_BITREVERSE | ||
17 | boolean | ||
18 | default n | ||
19 | depends on BITREVERSE | ||
20 | help | ||
21 | This option provides an config for the architecture which have instruction | ||
22 | can do bitreverse operation, we use the hardware instruction if the architecture | ||
23 | have this capability. | ||
24 | |||
16 | config RATIONAL | 25 | config RATIONAL |
17 | boolean | 26 | boolean |
18 | 27 | ||
diff --git a/lib/bitrev.c b/lib/bitrev.c index 3956203456d4..40ffda94cc5d 100644 --- a/lib/bitrev.c +++ b/lib/bitrev.c | |||
@@ -1,3 +1,4 @@ | |||
1 | #ifndef CONFIG_HAVE_ARCH_BITREVERSE | ||
1 | #include <linux/types.h> | 2 | #include <linux/types.h> |
2 | #include <linux/module.h> | 3 | #include <linux/module.h> |
3 | #include <linux/bitrev.h> | 4 | #include <linux/bitrev.h> |
@@ -42,18 +43,4 @@ const u8 byte_rev_table[256] = { | |||
42 | }; | 43 | }; |
43 | EXPORT_SYMBOL_GPL(byte_rev_table); | 44 | EXPORT_SYMBOL_GPL(byte_rev_table); |
44 | 45 | ||
45 | u16 bitrev16(u16 x) | 46 | #endif /* CONFIG_HAVE_ARCH_BITREVERSE */ |
46 | { | ||
47 | return (bitrev8(x & 0xff) << 8) | bitrev8(x >> 8); | ||
48 | } | ||
49 | EXPORT_SYMBOL(bitrev16); | ||
50 | |||
51 | /** | ||
52 | * bitrev32 - reverse the order of bits in a u32 value | ||
53 | * @x: value to be bit-reversed | ||
54 | */ | ||
55 | u32 bitrev32(u32 x) | ||
56 | { | ||
57 | return (bitrev16(x & 0xffff) << 16) | bitrev16(x >> 16); | ||
58 | } | ||
59 | EXPORT_SYMBOL(bitrev32); | ||