diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-02 12:48:36 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-02 12:48:36 -0500 |
| commit | 44644391ff1817fa01b1ae4a7e52af8a23e0baa2 (patch) | |
| tree | caa93c353bbf80edb8e897ed34968a5614729b5b | |
| parent | 4bf772b14675411a69b3c807f73006de0fe4b649 (diff) | |
| parent | 7b6ce52be3f86520524711a6f33f3866f9339694 (diff) | |
Merge tag 'microblaze-4.16-rc1' of git://git.monstr.eu/linux-2.6-microblaze
Pull microblaze updates from Michal Simek:
- Fix endian handling and Kconfig dependency
- Fix iounmap prototype
* tag 'microblaze-4.16-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
microblaze: Setup proper dependency for optimized lib functions
microblaze: fix iounmap prototype
microblaze: fix endian handling
| -rw-r--r-- | arch/microblaze/Kconfig.platform | 1 | ||||
| -rw-r--r-- | arch/microblaze/Makefile | 17 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/io.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/mm/pgtable.c | 2 |
4 files changed, 14 insertions, 8 deletions
diff --git a/arch/microblaze/Kconfig.platform b/arch/microblaze/Kconfig.platform index 1b3d8c849101..6996f397c16c 100644 --- a/arch/microblaze/Kconfig.platform +++ b/arch/microblaze/Kconfig.platform | |||
| @@ -8,6 +8,7 @@ menu "Platform options" | |||
| 8 | 8 | ||
| 9 | config OPT_LIB_FUNCTION | 9 | config OPT_LIB_FUNCTION |
| 10 | bool "Optimalized lib function" | 10 | bool "Optimalized lib function" |
| 11 | depends on CPU_LITTLE_ENDIAN | ||
| 11 | default y | 12 | default y |
| 12 | help | 13 | help |
| 13 | Allows turn on optimalized library function (memcpy and memmove). | 14 | Allows turn on optimalized library function (memcpy and memmove). |
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index 830ee7d42fa0..d269dd4b8279 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile | |||
| @@ -36,16 +36,21 @@ endif | |||
| 36 | CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div | 36 | CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div |
| 37 | CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift | 37 | CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift |
| 38 | CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare | 38 | CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare |
| 39 | CPUFLAGS-$(CONFIG_BIG_ENDIAN) += -mbig-endian | 39 | |
| 40 | CPUFLAGS-$(CONFIG_LITTLE_ENDIAN) += -mlittle-endian | 40 | ifdef CONFIG_CPU_BIG_ENDIAN |
| 41 | KBUILD_CFLAGS += -mbig-endian | ||
| 42 | KBUILD_AFLAGS += -mbig-endian | ||
| 43 | LD += -EB | ||
| 44 | else | ||
| 45 | KBUILD_CFLAGS += -mlittle-endian | ||
| 46 | KBUILD_AFLAGS += -mlittle-endian | ||
| 47 | LD += -EL | ||
| 48 | endif | ||
| 41 | 49 | ||
| 42 | CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) | 50 | CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) |
| 43 | 51 | ||
| 44 | # r31 holds current when in kernel mode | 52 | # r31 holds current when in kernel mode |
| 45 | KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-1) $(CPUFLAGS-2) | 53 | KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2) |
| 46 | |||
| 47 | LDFLAGS := | ||
| 48 | LDFLAGS_vmlinux := | ||
| 49 | 54 | ||
| 50 | head-y := arch/microblaze/kernel/head.o | 55 | head-y := arch/microblaze/kernel/head.o |
| 51 | libs-y += arch/microblaze/lib/ | 56 | libs-y += arch/microblaze/lib/ |
diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index 39b6315db82e..c7968139486f 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h | |||
| @@ -36,7 +36,7 @@ extern resource_size_t isa_mem_base; | |||
| 36 | #ifdef CONFIG_MMU | 36 | #ifdef CONFIG_MMU |
| 37 | #define page_to_bus(page) (page_to_phys(page)) | 37 | #define page_to_bus(page) (page_to_phys(page)) |
| 38 | 38 | ||
| 39 | extern void iounmap(void __iomem *addr); | 39 | extern void iounmap(volatile void __iomem *addr); |
| 40 | 40 | ||
| 41 | extern void __iomem *ioremap(phys_addr_t address, unsigned long size); | 41 | extern void __iomem *ioremap(phys_addr_t address, unsigned long size); |
| 42 | #define ioremap_nocache(addr, size) ioremap((addr), (size)) | 42 | #define ioremap_nocache(addr, size) ioremap((addr), (size)) |
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c index 4c0599239915..7f525962cdfa 100644 --- a/arch/microblaze/mm/pgtable.c +++ b/arch/microblaze/mm/pgtable.c | |||
| @@ -127,7 +127,7 @@ void __iomem *ioremap(phys_addr_t addr, unsigned long size) | |||
| 127 | } | 127 | } |
| 128 | EXPORT_SYMBOL(ioremap); | 128 | EXPORT_SYMBOL(ioremap); |
| 129 | 129 | ||
| 130 | void iounmap(void __iomem *addr) | 130 | void iounmap(volatile void __iomem *addr) |
| 131 | { | 131 | { |
| 132 | if ((__force void *)addr > high_memory && | 132 | if ((__force void *)addr > high_memory && |
| 133 | (unsigned long) addr < ioremap_bot) | 133 | (unsigned long) addr < ioremap_bot) |
