From 56aea88df7b3930b3010488bdf9d1796bb051fb1 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Fri, 25 Oct 2013 16:37:56 +0200 Subject: openrisc: Refactor 16-bit constant relocation arch/openrisc/kernel/module.c: In function 'apply_relocate_add': arch/openrisc/kernel/module.c:50:13: warning: assignment from incompatible pointer type arch/openrisc/kernel/module.c:54:13: warning: assignment from incompatible pointer type Move the pointer increments to the dereference statements to avoid incompatible pointer assignments, and remove superfluous casts. Signed-off-by: Geert Uytterhoeven Signed-off-by: Jonas Bonn --- arch/openrisc/kernel/module.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'arch/openrisc/kernel') diff --git a/arch/openrisc/kernel/module.c b/arch/openrisc/kernel/module.c index 10ff50f0202a..ef872ae4c878 100644 --- a/arch/openrisc/kernel/module.c +++ b/arch/openrisc/kernel/module.c @@ -47,12 +47,10 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, *location = value; break; case R_OR32_CONST: - location = (uint16_t *)location + 1; - *((uint16_t *)location) = (uint16_t) (value); + *((uint16_t *)location + 1) = value; break; case R_OR32_CONSTH: - location = (uint16_t *)location + 1; - *((uint16_t *)location) = (uint16_t) (value >> 16); + *((uint16_t *)location + 1) = value >> 16; break; case R_OR32_JUMPTARG: value -= (uint32_t)location; -- cgit v1.2.3 From be5940c9fd2fa1905fab4353bb9c7051d088d824 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Nov 2013 20:56:20 +0100 Subject: openrisc: Use the declarations provided by Openrisc's private vmlinux.h duplicates a few definitions that are already provided by asm-generic/sections.h. The former is used by setup.c only, while the latter is already used everywhere else. Convert setup.c to use the generic version: - Include , - Remove the (slightly different) extern declarations, - Remove the no longer needed address-of ('&') operators. Signed-off-by: Geert Uytterhoeven Signed-off-by: Jonas Bonn --- arch/openrisc/kernel/setup.c | 11 ++++++----- arch/openrisc/kernel/vmlinux.h | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'arch/openrisc/kernel') diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c index d7359ffbcbdd..89c497813bab 100644 --- a/arch/openrisc/kernel/setup.c +++ b/arch/openrisc/kernel/setup.c @@ -40,6 +40,7 @@ #include #include +#include #include #include #include @@ -77,7 +78,7 @@ static unsigned long __init setup_memory(void) ram_start_pfn = PFN_UP(memory_start); /* free_ram_start_pfn is first page after kernel */ - free_ram_start_pfn = PFN_UP(__pa(&_end)); + free_ram_start_pfn = PFN_UP(__pa(_end)); ram_end_pfn = PFN_DOWN(memblock_end_of_DRAM()); max_pfn = ram_end_pfn; @@ -290,10 +291,10 @@ void __init setup_arch(char **cmdline_p) setup_cpuinfo(); /* process 1's initial memory region is the kernel code/data */ - init_mm.start_code = (unsigned long)&_stext; - init_mm.end_code = (unsigned long)&_etext; - init_mm.end_data = (unsigned long)&_edata; - init_mm.brk = (unsigned long)&_end; + init_mm.start_code = (unsigned long)_stext; + init_mm.end_code = (unsigned long)_etext; + init_mm.end_data = (unsigned long)_edata; + init_mm.brk = (unsigned long)_end; #ifdef CONFIG_BLK_DEV_INITRD initrd_start = (unsigned long)&__initrd_start; diff --git a/arch/openrisc/kernel/vmlinux.h b/arch/openrisc/kernel/vmlinux.h index ee842a2d3f36..3f7b2b23a439 100644 --- a/arch/openrisc/kernel/vmlinux.h +++ b/arch/openrisc/kernel/vmlinux.h @@ -1,7 +1,6 @@ #ifndef __OPENRISC_VMLINUX_H_ #define __OPENRISC_VMLINUX_H_ -extern char _stext, _etext, _edata, _end; #ifdef CONFIG_BLK_DEV_INITRD extern char __initrd_start, __initrd_end; extern char __initramfs_start; -- cgit v1.2.3 From 0db041be3be9c84c2949a4f7eb9c3b6cd80ae97c Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Nov 2013 20:56:21 +0100 Subject: openrisc: Remove unused declaration of __initramfs_start Signed-off-by: Geert Uytterhoeven Signed-off-by: Jonas Bonn --- arch/openrisc/kernel/vmlinux.h | 1 - 1 file changed, 1 deletion(-) (limited to 'arch/openrisc/kernel') diff --git a/arch/openrisc/kernel/vmlinux.h b/arch/openrisc/kernel/vmlinux.h index 3f7b2b23a439..70b9ce41835c 100644 --- a/arch/openrisc/kernel/vmlinux.h +++ b/arch/openrisc/kernel/vmlinux.h @@ -3,7 +3,6 @@ #ifdef CONFIG_BLK_DEV_INITRD extern char __initrd_start, __initrd_end; -extern char __initramfs_start; #endif extern u32 __dtb_start[]; -- cgit v1.2.3 From 621c2cd853fca98258b720d9fe7e8c031ec7f96f Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 12 Nov 2013 20:42:23 +0100 Subject: openrisc: Refactor or32_early_setup() - Change fdt pointer (passed from head.S) from unsigned int to void *, which allows to kill a cast, and makes it compatible with __dtb_start. - Use pr_info(), - Extract common part. Signed-off-by: Geert Uytterhoeven Cc: linux@lists.openrisc.net Signed-off-by: Jonas Bonn --- arch/openrisc/kernel/setup.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'arch/openrisc/kernel') diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c index 89c497813bab..7d205be45913 100644 --- a/arch/openrisc/kernel/setup.c +++ b/arch/openrisc/kernel/setup.c @@ -210,15 +210,15 @@ void __init setup_cpuinfo(void) * Falls back on built-in device tree in case null pointer is passed. */ -void __init or32_early_setup(unsigned int fdt) +void __init or32_early_setup(void *fdt) { - if (fdt) { - early_init_devtree((void*) fdt); - printk(KERN_INFO "FDT at 0x%08x\n", fdt); - } else { - early_init_devtree(__dtb_start); - printk(KERN_INFO "Compiled-in FDT at %p\n", __dtb_start); + if (fdt) + pr_info("FDT at %p\n", fdt); + else { + fdt = __dtb_start; + pr_info("Compiled-in FDT at %p\n", fdt); } + early_init_devtree(fdt); } static int __init openrisc_device_probe(void) -- cgit v1.2.3