Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+14 -8
+1
arch/microblaze/Kconfig.platform
··· 8 8 9 9 config OPT_LIB_FUNCTION 10 10 bool "Optimalized lib function" 11 + depends on CPU_LITTLE_ENDIAN 11 12 default y 12 13 help 13 14 Allows turn on optimalized library function (memcpy and memmove).
+11 -6
arch/microblaze/Makefile
··· 36 36 CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div 37 37 CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift 38 38 CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare 39 - CPUFLAGS-$(CONFIG_BIG_ENDIAN) += -mbig-endian 40 - CPUFLAGS-$(CONFIG_LITTLE_ENDIAN) += -mlittle-endian 39 + 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 50 CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) 43 51 44 52 # r31 holds current when in kernel mode 45 - KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-1) $(CPUFLAGS-2) 46 - 47 - LDFLAGS := 48 - LDFLAGS_vmlinux := 53 + KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2) 49 54 50 55 head-y := arch/microblaze/kernel/head.o 51 56 libs-y += arch/microblaze/lib/
+1 -1
arch/microblaze/include/asm/io.h
··· 36 36 #ifdef CONFIG_MMU 37 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 41 extern void __iomem *ioremap(phys_addr_t address, unsigned long size); 42 42 #define ioremap_nocache(addr, size) ioremap((addr), (size))
+1 -1
arch/microblaze/mm/pgtable.c
··· 127 127 } 128 128 EXPORT_SYMBOL(ioremap); 129 129 130 - void iounmap(void __iomem *addr) 130 + void iounmap(volatile void __iomem *addr) 131 131 { 132 132 if ((__force void *)addr > high_memory && 133 133 (unsigned long) addr < ioremap_bot)