diff options
47 files changed, 299 insertions, 331 deletions
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index d26fb905ee0..0a603d3ecf2 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile @@ -69,16 +69,13 @@ export MMU DTB  all: linux.bin -# With make 3.82 we cannot mix normal and wildcard targets -BOOT_TARGETS1 = linux.bin linux.bin.gz -BOOT_TARGETS2 = simpleImage.% -  archclean:  	$(Q)$(MAKE) $(clean)=$(boot) -$(BOOT_TARGETS1): vmlinux +linux.bin linux.bin.gz: vmlinux  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ -$(BOOT_TARGETS2): vmlinux + +simpleImage.%: vmlinux  	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@  define archhelp diff --git a/arch/microblaze/boot/.gitignore b/arch/microblaze/boot/.gitignore new file mode 100644 index 00000000000..bf045918602 --- /dev/null +++ b/arch/microblaze/boot/.gitignore @@ -0,0 +1,3 @@ +*.dtb +linux.bin* +simpleImage.* diff --git a/arch/microblaze/include/asm/io.h b/arch/microblaze/include/asm/io.h index 4fbfdc1ac7f..8cb8a8566ed 100644 --- a/arch/microblaze/include/asm/io.h +++ b/arch/microblaze/include/asm/io.h @@ -150,7 +150,7 @@ static inline void writel(unsigned int v, volatile void __iomem *addr)  #define page_to_bus(page)	(page_to_phys(page))  #define bus_to_virt(addr)	(phys_to_virt(addr)) -extern void iounmap(void *addr); +extern void iounmap(void __iomem *addr);  /*extern void *__ioremap(phys_addr_t address, unsigned long size,  		unsigned long flags);*/  extern void __iomem *ioremap(phys_addr_t address, unsigned long size); diff --git a/arch/microblaze/kernel/.gitignore b/arch/microblaze/kernel/.gitignore new file mode 100644 index 00000000000..c5f676c3c22 --- /dev/null +++ b/arch/microblaze/kernel/.gitignore @@ -0,0 +1 @@ +vmlinux.lds diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c index 4b7d8a3f4ae..4254514b4c8 100644 --- a/arch/microblaze/kernel/cpu/cache.c +++ b/arch/microblaze/kernel/cpu/cache.c @@ -17,82 +17,70 @@  static inline void __enable_icache_msr(void)  { -	__asm__ __volatile__ ("	msrset	r0, %0;		\ -				nop; "			\ +	__asm__ __volatile__ ("	 msrset	r0, %0;"	\ +				"nop;"			\  			: : "i" (MSR_ICE) : "memory");  }  static inline void __disable_icache_msr(void)  { -	__asm__ __volatile__ ("	msrclr	r0, %0;		\ -				nop; "			\ +	__asm__ __volatile__ ("	 msrclr	r0, %0;"	\ +				"nop;"			\  			: : "i" (MSR_ICE) : "memory");  }  static inline void __enable_dcache_msr(void)  { -	__asm__ __volatile__ ("	msrset	r0, %0;		\ -				nop; "			\ -				:			\ -				: "i" (MSR_DCE)		\ -				: "memory"); +	__asm__ __volatile__ ("	 msrset	r0, %0;"	\ +				"nop;"			\ +			: : "i" (MSR_DCE) : "memory");  }  static inline void __disable_dcache_msr(void)  { -	__asm__ __volatile__ ("	msrclr	r0, %0;		\ -				nop; "			\ -				:			\ -				: "i" (MSR_DCE)		\ -				: "memory"); +	__asm__ __volatile__ ("	 msrclr	r0, %0;"	\ +				"nop; "			\ +			: : "i" (MSR_DCE) : "memory");  }  static inline void __enable_icache_nomsr(void)  { -	__asm__ __volatile__ ("	mfs	r12, rmsr;	\ -				nop;			\ -				ori	r12, r12, %0;	\ -				mts	rmsr, r12;	\ -				nop; "			\ -				:			\ -				: "i" (MSR_ICE)		\ -				: "memory", "r12"); +	__asm__ __volatile__ ("	 mfs	r12, rmsr;"	\ +				"nop;"			\ +				"ori	r12, r12, %0;"	\ +				"mts	rmsr, r12;"	\ +				"nop;"			\ +			: : "i" (MSR_ICE) : "memory", "r12");  }  static inline void __disable_icache_nomsr(void)  { -	__asm__ __volatile__ ("	mfs	r12, rmsr;	\ -				nop;			\ -				andi	r12, r12, ~%0;	\ -				mts	rmsr, r12;	\ -				nop; "			\ -				:			\ -				: "i" (MSR_ICE)		\ -				: "memory", "r12"); +	__asm__ __volatile__ ("	 mfs	r12, rmsr;"	\ +				"nop;"			\ +				"andi	r12, r12, ~%0;"	\ +				"mts	rmsr, r12;"	\ +				"nop;"			\ +			: : "i" (MSR_ICE) : "memory", "r12");  }  static inline void __enable_dcache_nomsr(void)  { -	__asm__ __volatile__ ("	mfs	r12, rmsr;	\ -				nop;			\ -				ori	r12, r12, %0;	\ -				mts	rmsr, r12;	\ -				nop; "			\ -				:			\ -				: "i" (MSR_DCE)		\ -				: "memory", "r12"); +	__asm__ __volatile__ ("	 mfs	r12, rmsr;"	\ +				"nop;"			\ +				"ori	r12, r12, %0;"	\ +				"mts	rmsr, r12;"	\ +				"nop;"			\ +			: : "i" (MSR_DCE) : "memory", "r12");  }  static inline void __disable_dcache_nomsr(void)  { -	__asm__ __volatile__ ("	mfs	r12, rmsr;	\ -				nop;			\ -				andi	r12, r12, ~%0;	\ -				mts	rmsr, r12;	\ -				nop; "			\ -				:			\ -				: "i" (MSR_DCE)		\ -				: "memory", "r12"); +	__asm__ __volatile__ ("	 mfs	r12, rmsr;"	\ +				"nop;"			\ +				"andi	r12, r12, ~%0;"	\ +				"mts	rmsr, r12;"	\ +				"nop;"			\ +			: : "i" (MSR_DCE) : "memory", "r12");  } @@ -106,7 +94,7 @@ do {									\  	int align = ~(cache_line_length - 1);				\  	end = min(start + cache_size, end);				\  	start &= align;							\ -} while (0); +} while (0)  /*   * Helper macro to loop over the specified cache_size/line_length and @@ -118,12 +106,12 @@ do {									\  	int step = -line_length;					\  	WARN_ON(step >= 0);						\  									\ -	__asm__ __volatile__ (" 1:      " #op " %0, r0;			\ -					bgtid   %0, 1b;			\ -					addk    %0, %0, %1;		\ -					" : : "r" (len), "r" (step)	\ +	__asm__ __volatile__ (" 1:      " #op " %0, r0;"		\ +					"bgtid   %0, 1b;"		\ +					"addk    %0, %0, %1;"		\ +					: : "r" (len), "r" (step)	\  					: "memory");			\ -} while (0); +} while (0)  /* Used for wdc.flush/clear which can use rB for offset which is not possible   * to use for simple wdc or wic. @@ -142,12 +130,12 @@ do {									\  	count = end - start;						\  	WARN_ON(count < 0);						\  									\ -	__asm__ __volatile__ (" 1:	" #op "	%0, %1;			\ -					bgtid	%1, 1b;			\ -					addk	%1, %1, %2;		\ -					" : : "r" (start), "r" (count),	\ +	__asm__ __volatile__ (" 1:	" #op "	%0, %1;"		\ +					"bgtid	%1, 1b;"		\ +					"addk	%1, %1, %2;"		\ +					: : "r" (start), "r" (count),	\  					"r" (step) : "memory");		\ -} while (0); +} while (0)  /* It is used only first parameter for OP - for wic, wdc */  #define CACHE_RANGE_LOOP_1(start, end, line_length, op)			\ @@ -157,13 +145,13 @@ do {									\  	end = ((end & align) == end) ? end - line_length : end & align;	\  	WARN_ON(end - start < 0);					\  									\ -	__asm__ __volatile__ (" 1:	" #op "	%1, r0;			\ -					cmpu	%0, %1, %2;		\ -					bgtid	%0, 1b;			\ -					addk	%1, %1, %3;		\ -				" : : "r" (temp), "r" (start), "r" (end),\ +	__asm__ __volatile__ (" 1:	" #op "	%1, r0;"		\ +					"cmpu	%0, %1, %2;"		\ +					"bgtid	%0, 1b;"		\ +					"addk	%1, %1, %3;"		\ +				: : "r" (temp), "r" (start), "r" (end),	\  					"r" (line_length) : "memory");	\ -} while (0); +} while (0)  #define ASM_LOOP @@ -352,7 +340,7 @@ static void __invalidate_dcache_all_noirq_wt(void)  #endif  	pr_debug("%s\n", __func__);  #ifdef ASM_LOOP -	CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc) +	CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, wdc);  #else  	for (i = 0; i < cpuinfo.dcache_size;  		 i += cpuinfo.dcache_line_length) @@ -361,7 +349,8 @@ static void __invalidate_dcache_all_noirq_wt(void)  #endif  } -/* FIXME It is blindly invalidation as is expected +/* + * FIXME It is blindly invalidation as is expected   * but can't be called on noMMU in microblaze_cache_init below   *   * MS: noMMU kernel won't boot if simple wdc is used @@ -375,7 +364,7 @@ static void __invalidate_dcache_all_wb(void)  	pr_debug("%s\n", __func__);  #ifdef ASM_LOOP  	CACHE_ALL_LOOP(cpuinfo.dcache_size, cpuinfo.dcache_line_length, -					wdc) +					wdc);  #else  	for (i = 0; i < cpuinfo.dcache_size;  		 i += cpuinfo.dcache_line_length) @@ -616,49 +605,48 @@ static const struct scache wt_nomsr_noirq = {  #define CPUVER_7_20_A	0x0c  #define CPUVER_7_20_D	0x0f -#define INFO(s)	printk(KERN_INFO "cache: " s "\n"); -  void microblaze_cache_init(void)  {  	if (cpuinfo.use_instr & PVR2_USE_MSR_INSTR) {  		if (cpuinfo.dcache_wb) { -			INFO("wb_msr"); +			pr_info("wb_msr\n");  			mbc = (struct scache *)&wb_msr;  			if (cpuinfo.ver_code <= CPUVER_7_20_D) {  				/* MS: problem with signal handling - hw bug */ -				INFO("WB won't work properly"); +				pr_info("WB won't work properly\n");  			}  		} else {  			if (cpuinfo.ver_code >= CPUVER_7_20_A) { -				INFO("wt_msr_noirq"); +				pr_info("wt_msr_noirq\n");  				mbc = (struct scache *)&wt_msr_noirq;  			} else { -				INFO("wt_msr"); +				pr_info("wt_msr\n");  				mbc = (struct scache *)&wt_msr;  			}  		}  	} else {  		if (cpuinfo.dcache_wb) { -			INFO("wb_nomsr"); +			pr_info("wb_nomsr\n");  			mbc = (struct scache *)&wb_nomsr;  			if (cpuinfo.ver_code <= CPUVER_7_20_D) {  				/* MS: problem with signal handling - hw bug */ -				INFO("WB won't work properly"); +				pr_info("WB won't work properly\n");  			}  		} else {  			if (cpuinfo.ver_code >= CPUVER_7_20_A) { -				INFO("wt_nomsr_noirq"); +				pr_info("wt_nomsr_noirq\n");  				mbc = (struct scache *)&wt_nomsr_noirq;  			} else { -				INFO("wt_nomsr"); +				pr_info("wt_nomsr\n");  				mbc = (struct scache *)&wt_nomsr;  			}  		}  	} -/* FIXME Invalidation is done in U-BOOT - * WT cache: Data is already written to main memory - * WB cache: Discard data on noMMU which caused that kernel doesn't boot - */ +	/* +	 * FIXME Invalidation is done in U-BOOT +	 * WT cache: Data is already written to main memory +	 * WB cache: Discard data on noMMU which caused that kernel doesn't boot +	 */  	/* invalidate_dcache(); */  	enable_dcache(); diff --git a/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c b/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c index 916aaedf194..ee468941541 100644 --- a/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c +++ b/arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c @@ -27,7 +27,7 @@  	early_printk("ERROR: Microblaze " x "-different for PVR and DTS\n");  #else  #define err_printk(x) \ -	printk(KERN_INFO "ERROR: Microblaze " x "-different for PVR and DTS\n"); +	pr_info("ERROR: Microblaze " x "-different for PVR and DTS\n");  #endif  void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu) @@ -38,12 +38,11 @@ void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu)  	CI(ver_code, VERSION);  	if (!ci->ver_code) { -		printk(KERN_ERR "ERROR: MB has broken PVR regs " -						"-> use DTS setting\n"); +		pr_err("ERROR: MB has broken PVR regs -> use DTS setting\n");  		return;  	} -	temp = PVR_USE_BARREL(pvr) | PVR_USE_MSR_INSTR(pvr) |\ +	temp = PVR_USE_BARREL(pvr) | PVR_USE_MSR_INSTR(pvr) |  		PVR_USE_PCMP_INSTR(pvr) | PVR_USE_DIV(pvr);  	if (ci->use_instr != temp)  		err_printk("BARREL, MSR, PCMP or DIV"); @@ -59,13 +58,13 @@ void set_cpuinfo_pvr_full(struct cpuinfo *ci, struct device_node *cpu)  		err_printk("HW_FPU");  	ci->use_fpu = temp; -	ci->use_exc = PVR_OPCODE_0x0_ILLEGAL(pvr) |\ -			PVR_UNALIGNED_EXCEPTION(pvr) |\ -			PVR_ILL_OPCODE_EXCEPTION(pvr) |\ -			PVR_IOPB_BUS_EXCEPTION(pvr) |\ -			PVR_DOPB_BUS_EXCEPTION(pvr) |\ -			PVR_DIV_ZERO_EXCEPTION(pvr) |\ -			PVR_FPU_EXCEPTION(pvr) |\ +	ci->use_exc = PVR_OPCODE_0x0_ILLEGAL(pvr) | +			PVR_UNALIGNED_EXCEPTION(pvr) | +			PVR_ILL_OPCODE_EXCEPTION(pvr) | +			PVR_IOPB_BUS_EXCEPTION(pvr) | +			PVR_DOPB_BUS_EXCEPTION(pvr) | +			PVR_DIV_ZERO_EXCEPTION(pvr) | +			PVR_FPU_EXCEPTION(pvr) |  			PVR_FSL_EXCEPTION(pvr);  	CI(pvr_user1, USER1); diff --git a/arch/microblaze/kernel/cpu/cpuinfo.c b/arch/microblaze/kernel/cpu/cpuinfo.c index eab6abf5652..0b2299bcb94 100644 --- a/arch/microblaze/kernel/cpu/cpuinfo.c +++ b/arch/microblaze/kernel/cpu/cpuinfo.c @@ -68,31 +68,30 @@ void __init setup_cpuinfo(void)  	cpu = (struct device_node *) of_find_node_by_type(NULL, "cpu");  	if (!cpu) -		printk(KERN_ERR "You don't have cpu!!!\n"); +		pr_err("You don't have cpu!!!\n"); -	printk(KERN_INFO "%s: initialising\n", __func__); +	pr_info("%s: initialising\n", __func__);  	switch (cpu_has_pvr()) {  	case 0: -		printk(KERN_WARNING -			"%s: No PVR support. Using static CPU info from FDT\n", +		pr_warn("%s: No PVR support. Using static CPU info from FDT\n",  			__func__);  		set_cpuinfo_static(&cpuinfo, cpu);  		break;  /* FIXME I found weird behavior with MB 7.00.a/b 7.10.a   * please do not use FULL PVR with MMU */  	case 1: -		printk(KERN_INFO "%s: Using full CPU PVR support\n", +		pr_info("%s: Using full CPU PVR support\n",  			__func__);  		set_cpuinfo_static(&cpuinfo, cpu);  		set_cpuinfo_pvr_full(&cpuinfo, cpu);  		break;  	default: -		printk(KERN_WARNING "%s: Unsupported PVR setting\n", __func__); +		pr_warn("%s: Unsupported PVR setting\n", __func__);  		set_cpuinfo_static(&cpuinfo, cpu);  	}  	if (cpuinfo.mmu_privins) -		printk(KERN_WARNING "%s: Stream instructions enabled" +		pr_warn("%s: Stream instructions enabled"  			" - USERSPACE CAN LOCK THIS KERNEL!\n", __func__);  } diff --git a/arch/microblaze/kernel/cpu/pvr.c b/arch/microblaze/kernel/cpu/pvr.c index 3a749d5e71f..8d0dc6db48c 100644 --- a/arch/microblaze/kernel/cpu/pvr.c +++ b/arch/microblaze/kernel/cpu/pvr.c @@ -27,7 +27,7 @@  	tmp = 0x0;	/* Prevent warning about unused */	\  	__asm__ __volatile__ (					\  			"mfs	%0, rpvr" #pvrid ";"		\ -			: "=r" (tmp) : : "memory"); 		\ +			: "=r" (tmp) : : "memory");		\  	val = tmp;						\  } diff --git a/arch/microblaze/kernel/dma.c b/arch/microblaze/kernel/dma.c index a2bfa2ca573..da68d00fd08 100644 --- a/arch/microblaze/kernel/dma.c +++ b/arch/microblaze/kernel/dma.c @@ -11,7 +11,7 @@  #include <linux/gfp.h>  #include <linux/dma-debug.h>  #include <linux/export.h> -#include <asm/bug.h> +#include <linux/bug.h>  /*   * Generic direct DMA implementation @@ -197,8 +197,8 @@ EXPORT_SYMBOL(dma_direct_ops);  static int __init dma_init(void)  { -       dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES); +	dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES); -       return 0; +	return 0;  }  fs_initcall(dma_init); diff --git a/arch/microblaze/kernel/early_printk.c b/arch/microblaze/kernel/early_printk.c index aba1f9a97d5..60dcacc6803 100644 --- a/arch/microblaze/kernel/early_printk.c +++ b/arch/microblaze/kernel/early_printk.c @@ -140,20 +140,20 @@ int __init setup_early_printk(char *opt)  		switch (version) {  #ifdef CONFIG_SERIAL_UARTLITE_CONSOLE  		case UARTLITE: -			printk(KERN_INFO "Early console on uartlite " -						"at 0x%08x\n", base_addr); +			pr_info("Early console on uartlite at 0x%08x\n", +								base_addr);  			early_console = &early_serial_uartlite_console;  			break;  #endif  #ifdef CONFIG_SERIAL_8250_CONSOLE  		case UART16550: -			printk(KERN_INFO "Early console on uart16650 " -						"at 0x%08x\n", base_addr); +			pr_info("Early console on uart16650 at 0x%08x\n", +								base_addr);  			early_console = &early_serial_uart16550_console;  			break;  #endif  		default: -			printk(KERN_INFO  "Unsupported early console %d\n", +			pr_info("Unsupported early console %d\n",  								version);  			return 1;  		} @@ -171,10 +171,9 @@ void __init remap_early_printk(void)  {  	if (!early_console_initialized || !early_console)  		return; -	printk(KERN_INFO "early_printk_console remapping from 0x%x to ", -								base_addr); +	pr_info("early_printk_console remapping from 0x%x to ", base_addr);  	base_addr = (u32) ioremap(base_addr, PAGE_SIZE); -	printk(KERN_CONT "0x%x\n", base_addr); +	pr_cont("0x%x\n", base_addr);  #ifdef CONFIG_MMU  	/* @@ -197,7 +196,7 @@ void __init disable_early_printk(void)  {  	if (!early_console_initialized || !early_console)  		return; -	printk(KERN_WARNING "disabling early console\n"); +	pr_warn("disabling early console\n");  	unregister_console(early_console);  	early_console_initialized = 0;  } diff --git a/arch/microblaze/kernel/exceptions.c b/arch/microblaze/kernel/exceptions.c index 6348dc82f42..42dd12a62ff 100644 --- a/arch/microblaze/kernel/exceptions.c +++ b/arch/microblaze/kernel/exceptions.c @@ -13,11 +13,11 @@   * This file handles the architecture-dependent parts of hardware exceptions   */ +#include <linux/export.h>  #include <linux/kernel.h>  #include <linux/signal.h>  #include <linux/sched.h>  #include <linux/kallsyms.h> -#include <linux/module.h>  #include <asm/exceptions.h>  #include <asm/entry.h>		/* For KM CPU var */ @@ -40,7 +40,7 @@ void die(const char *str, struct pt_regs *fp, long err)  {  	console_verbose();  	spin_lock_irq(&die_lock); -	printk(KERN_WARNING "Oops: %s, sig: %ld\n", str, err); +	pr_warn("Oops: %s, sig: %ld\n", str, err);  	show_regs(fp);  	spin_unlock_irq(&die_lock);  	/* do_exit() should take care of panic'ing from an interrupt @@ -61,9 +61,9 @@ void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr)  {  	siginfo_t info; -	if (kernel_mode(regs)) { +	if (kernel_mode(regs))  		die("Exception in kernel mode", regs, signr); -	} +  	info.si_signo = signr;  	info.si_errno = 0;  	info.si_code = code; @@ -79,8 +79,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,  #endif  #if 0 -	printk(KERN_WARNING "Exception %02x in %s mode, FSR=%08x PC=%08x " \ -							"ESR=%08x\n", +	pr_warn("Exception %02x in %s mode, FSR=%08x PC=%08x ESR=%08x\n",  			type, user_mode(regs) ? "user" : "kernel", fsr,  			(unsigned int) regs->pc, (unsigned int) regs->esr);  #endif @@ -92,8 +91,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,  			_exception(SIGILL, regs, ILL_ILLOPC, addr);  			return;  		} -		printk(KERN_WARNING "Illegal opcode exception " \ -							"in kernel mode.\n"); +		pr_warn("Illegal opcode exception in kernel mode.\n");  		die("opcode exception", regs, SIGBUS);  		break;  	case MICROBLAZE_IBUS_EXCEPTION: @@ -102,8 +100,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,  			_exception(SIGBUS, regs, BUS_ADRERR, addr);  			return;  		} -		printk(KERN_WARNING "Instruction bus error exception " \ -							"in kernel mode.\n"); +		pr_warn("Instruction bus error exception in kernel mode.\n");  		die("bus exception", regs, SIGBUS);  		break;  	case MICROBLAZE_DBUS_EXCEPTION: @@ -112,8 +109,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,  			_exception(SIGBUS, regs, BUS_ADRERR, addr);  			return;  		} -		printk(KERN_WARNING "Data bus error exception " \ -							"in kernel mode.\n"); +		pr_warn("Data bus error exception in kernel mode.\n");  		die("bus exception", regs, SIGBUS);  		break;  	case MICROBLAZE_DIV_ZERO_EXCEPTION: @@ -122,8 +118,7 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,  			_exception(SIGFPE, regs, FPE_INTDIV, addr);  			return;  		} -		printk(KERN_WARNING "Divide by zero exception " \ -							"in kernel mode.\n"); +		pr_warn("Divide by zero exception in kernel mode.\n");  		die("Divide by zero exception", regs, SIGBUS);  		break;  	case MICROBLAZE_FPU_EXCEPTION: @@ -151,8 +146,8 @@ asmlinkage void full_exception(struct pt_regs *regs, unsigned int type,  #endif  	default:  	/* FIXME what to do in unexpected exception */ -		printk(KERN_WARNING "Unexpected exception %02x " -			"PC=%08x in %s mode\n", type, (unsigned int) addr, +		pr_warn("Unexpected exception %02x PC=%08x in %s mode\n", +			type, (unsigned int) addr,  			kernel_mode(regs) ? "kernel" : "user");  	}  	return; diff --git a/arch/microblaze/kernel/ftrace.c b/arch/microblaze/kernel/ftrace.c index 357d56abe24..e8a5e9cf4ed 100644 --- a/arch/microblaze/kernel/ftrace.c +++ b/arch/microblaze/kernel/ftrace.c @@ -35,18 +35,18 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)  	 * happen. This tool is too much intrusive to  	 * ignore such a protection.  	 */ -	asm volatile("	1:	lwi	%0, %2, 0;		\ -			2:	swi	%3, %2, 0;		\ -				addik	%1, r0, 0;		\ -			3:					\ -				.section .fixup, \"ax\";	\ -			4:	brid	3b;			\ -				addik	%1, r0, 1;		\ -				.previous;			\ -				.section __ex_table,\"a\";	\ -				.word	1b,4b;			\ -				.word	2b,4b;			\ -				.previous;"			\ +	asm volatile("	1:	lwi	%0, %2, 0;"		\ +			"2:	swi	%3, %2, 0;"		\ +			"	addik	%1, r0, 0;"		\ +			"3:"					\ +			"	.section .fixup, \"ax\";"	\ +			"4:	brid	3b;"			\ +			"	addik	%1, r0, 1;"		\ +			"	.previous;"			\ +			"	.section __ex_table,\"a\";"	\ +			"	.word	1b,4b;"			\ +			"	.word	2b,4b;"			\ +			"	.previous;"			\  			: "=&r" (old), "=r" (faulted)  			: "r" (parent), "r" (return_hooker)  	); @@ -81,16 +81,16 @@ static int ftrace_modify_code(unsigned long addr, unsigned int value)  {  	int faulted = 0; -	__asm__ __volatile__("	1:	swi	%2, %1, 0;		\ -					addik	%0, r0, 0;		\ -				2:					\ -					.section .fixup, \"ax\";	\ -				3:	brid	2b;			\ -					addik	%0, r0, 1;		\ -					.previous;			\ -					.section __ex_table,\"a\";	\ -					.word	1b,3b;			\ -					.previous;"			\ +	__asm__ __volatile__("	1:	swi	%2, %1, 0;"		\ +				"	addik	%0, r0, 0;"		\ +				"2:"					\ +				"	.section .fixup, \"ax\";"	\ +				"3:	brid	2b;"			\ +				"	addik	%0, r0, 1;"		\ +				"	.previous;"			\ +				"	.section __ex_table,\"a\";"	\ +				"	.word	1b,3b;"			\ +				"	.previous;"			\  				: "=r" (faulted)  				: "r" (addr), "r" (value)  	); diff --git a/arch/microblaze/kernel/heartbeat.c b/arch/microblaze/kernel/heartbeat.c index 154756f3c69..1879a052777 100644 --- a/arch/microblaze/kernel/heartbeat.c +++ b/arch/microblaze/kernel/heartbeat.c @@ -61,7 +61,7 @@ void setup_heartbeat(void)  	if (gpio) {  		base_addr = be32_to_cpup(of_get_property(gpio, "reg", NULL));  		base_addr = (unsigned long) ioremap(base_addr, PAGE_SIZE); -		printk(KERN_NOTICE "Heartbeat GPIO at 0x%x\n", base_addr); +		pr_notice("Heartbeat GPIO at 0x%x\n", base_addr);  		/* GPIO is configured as output */  		prop = (int *) of_get_property(gpio, "xlnx,is-bidir", NULL); diff --git a/arch/microblaze/kernel/intc.c b/arch/microblaze/kernel/intc.c index 7a1a8d4354f..8778adf72bd 100644 --- a/arch/microblaze/kernel/intc.c +++ b/arch/microblaze/kernel/intc.c @@ -147,12 +147,12 @@ void __init init_IRQ(void)  	intr_mask =  		be32_to_cpup(of_get_property(intc, "xlnx,kind-of-intr", NULL));  	if (intr_mask > (u32)((1ULL << nr_irq) - 1)) -		printk(KERN_INFO " ERROR: Mismatch in kind-of-intr param\n"); +		pr_info(" ERROR: Mismatch in kind-of-intr param\n");  #ifdef CONFIG_SELFMOD_INTC  	selfmod_function((int *) arr_func, intc_baseaddr);  #endif -	printk(KERN_INFO "%s #0 at 0x%08x, num_irq=%d, edge=0x%x\n", +	pr_info("%s #0 at 0x%08x, num_irq=%d, edge=0x%x\n",  		intc->name, intc_baseaddr, nr_irq, intr_mask);  	/* diff --git a/arch/microblaze/kernel/kgdb.c b/arch/microblaze/kernel/kgdb.c index 09a5e828613..8adc9244310 100644 --- a/arch/microblaze/kernel/kgdb.c +++ b/arch/microblaze/kernel/kgdb.c @@ -141,7 +141,7 @@ void kgdb_arch_exit(void)  /*   * Global data   */ -struct kgdb_arch arch_kgdb_ops = { +const struct kgdb_arch arch_kgdb_ops = {  #ifdef __MICROBLAZEEL__  	.gdb_bpt_instr = {0x18, 0x00, 0x0c, 0xba}, /* brki r16, 0x18 */  #else diff --git a/arch/microblaze/kernel/microblaze_ksyms.c b/arch/microblaze/kernel/microblaze_ksyms.c index 2b25bcf05c0..9f1d02c4c5c 100644 --- a/arch/microblaze/kernel/microblaze_ksyms.c +++ b/arch/microblaze/kernel/microblaze_ksyms.c @@ -7,7 +7,7 @@   * published by the Free Software Foundation.   */ -#include <linux/module.h> +#include <linux/export.h>  #include <linux/string.h>  #include <linux/cryptohash.h>  #include <linux/delay.h> diff --git a/arch/microblaze/kernel/module.c b/arch/microblaze/kernel/module.c index f39257a5abc..182e6be856c 100644 --- a/arch/microblaze/kernel/module.c +++ b/arch/microblaze/kernel/module.c @@ -7,7 +7,7 @@   * published by the Free Software Foundation.   */ -#include <linux/module.h> +#include <linux/export.h>  #include <linux/moduleloader.h>  #include <linux/kernel.h>  #include <linux/elf.h> @@ -108,8 +108,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,  			break;  		default: -			printk(KERN_ERR "module %s: " -				"Unknown relocation: %u\n", +			pr_err("module %s: Unknown relocation: %u\n",  				module->name,  				ELF32_R_TYPE(rela[i].r_info));  			return -ENOEXEC; diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c index 08f87343f8d..fa0ea609137 100644 --- a/arch/microblaze/kernel/process.c +++ b/arch/microblaze/kernel/process.c @@ -8,36 +8,36 @@   * for more details.   */ -#include <linux/module.h> +#include <linux/export.h>  #include <linux/sched.h>  #include <linux/pm.h>  #include <linux/tick.h>  #include <linux/bitops.h>  #include <linux/ptrace.h>  #include <asm/pgalloc.h> -#include <asm/uaccess.h> /* for USER_DS macros */ +#include <linux/uaccess.h> /* for USER_DS macros */  #include <asm/cacheflush.h>  void show_regs(struct pt_regs *regs)  { -	printk(KERN_INFO " Registers dump: mode=%X\r\n", regs->pt_mode); -	printk(KERN_INFO " r1=%08lX, r2=%08lX, r3=%08lX, r4=%08lX\n", +	pr_info(" Registers dump: mode=%X\r\n", regs->pt_mode); +	pr_info(" r1=%08lX, r2=%08lX, r3=%08lX, r4=%08lX\n",  				regs->r1, regs->r2, regs->r3, regs->r4); -	printk(KERN_INFO " r5=%08lX, r6=%08lX, r7=%08lX, r8=%08lX\n", +	pr_info(" r5=%08lX, r6=%08lX, r7=%08lX, r8=%08lX\n",  				regs->r5, regs->r6, regs->r7, regs->r8); -	printk(KERN_INFO " r9=%08lX, r10=%08lX, r11=%08lX, r12=%08lX\n", +	pr_info(" r9=%08lX, r10=%08lX, r11=%08lX, r12=%08lX\n",  				regs->r9, regs->r10, regs->r11, regs->r12); -	printk(KERN_INFO " r13=%08lX, r14=%08lX, r15=%08lX, r16=%08lX\n", +	pr_info(" r13=%08lX, r14=%08lX, r15=%08lX, r16=%08lX\n",  				regs->r13, regs->r14, regs->r15, regs->r16); -	printk(KERN_INFO " r17=%08lX, r18=%08lX, r19=%08lX, r20=%08lX\n", +	pr_info(" r17=%08lX, r18=%08lX, r19=%08lX, r20=%08lX\n",  				regs->r17, regs->r18, regs->r19, regs->r20); -	printk(KERN_INFO " r21=%08lX, r22=%08lX, r23=%08lX, r24=%08lX\n", +	pr_info(" r21=%08lX, r22=%08lX, r23=%08lX, r24=%08lX\n",  				regs->r21, regs->r22, regs->r23, regs->r24); -	printk(KERN_INFO " r25=%08lX, r26=%08lX, r27=%08lX, r28=%08lX\n", +	pr_info(" r25=%08lX, r26=%08lX, r27=%08lX, r28=%08lX\n",  				regs->r25, regs->r26, regs->r27, regs->r28); -	printk(KERN_INFO " r29=%08lX, r30=%08lX, r31=%08lX, rPC=%08lX\n", +	pr_info(" r29=%08lX, r30=%08lX, r31=%08lX, rPC=%08lX\n",  				regs->r29, regs->r30, regs->r31, regs->pc); -	printk(KERN_INFO " msr=%08lX, ear=%08lX, esr=%08lX, fsr=%08lX\n", +	pr_info(" msr=%08lX, ear=%08lX, esr=%08lX, fsr=%08lX\n",  				regs->msr, regs->ear, regs->esr, regs->fsr);  } diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c index a744e3f1888..0a2c68f9f9b 100644 --- a/arch/microblaze/kernel/prom.c +++ b/arch/microblaze/kernel/prom.c @@ -14,6 +14,7 @@   */  #include <stdarg.h> +#include <linux/export.h>  #include <linux/kernel.h>  #include <linux/string.h>  #include <linux/init.h> @@ -25,7 +26,6 @@  #include <linux/delay.h>  #include <linux/initrd.h>  #include <linux/bitops.h> -#include <linux/module.h>  #include <linux/kexec.h>  #include <linux/debugfs.h>  #include <linux/irq.h> diff --git a/arch/microblaze/kernel/prom_parse.c b/arch/microblaze/kernel/prom_parse.c index 47187cc2cf0..068762f55fd 100644 --- a/arch/microblaze/kernel/prom_parse.c +++ b/arch/microblaze/kernel/prom_parse.c @@ -1,8 +1,8 @@  #undef DEBUG +#include <linux/export.h>  #include <linux/kernel.h>  #include <linux/string.h> -#include <linux/module.h>  #include <linux/ioport.h>  #include <linux/etherdevice.h>  #include <linux/of_address.h> diff --git a/arch/microblaze/kernel/ptrace.c b/arch/microblaze/kernel/ptrace.c index b050219c42e..39cf50841f6 100644 --- a/arch/microblaze/kernel/ptrace.c +++ b/arch/microblaze/kernel/ptrace.c @@ -40,7 +40,7 @@  #include <asm/asm-offsets.h>  #include <asm/cacheflush.h>  #include <asm/syscall.h> -#include <asm/io.h> +#include <linux/io.h>  /* Returns the address where the register at REG_OFFS in P is stashed away. */  static microblaze_reg_t *reg_save_addr(unsigned reg_offs, diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c index 954348f8350..0263da7b83d 100644 --- a/arch/microblaze/kernel/setup.c +++ b/arch/microblaze/kernel/setup.c @@ -150,33 +150,35 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,  	/* printk("TLB1 0x%08x, TLB0 0x%08x, tlb 0x%x\n", tlb0,  							tlb1, kernel_tlb); */ -	printk("Ramdisk addr 0x%08x, ", ram); +	pr_info("Ramdisk addr 0x%08x, ", ram);  	if (fdt) -		printk("FDT at 0x%08x\n", fdt); +		pr_info("FDT at 0x%08x\n", fdt);  	else -		printk("Compiled-in FDT at 0x%08x\n", +		pr_info("Compiled-in FDT at 0x%08x\n",  					(unsigned int)_fdt_start);  #ifdef CONFIG_MTD_UCLINUX -	printk("Found romfs @ 0x%08x (0x%08x)\n", +	pr_info("Found romfs @ 0x%08x (0x%08x)\n",  			romfs_base, romfs_size); -	printk("#### klimit %p ####\n", old_klimit); +	pr_info("#### klimit %p ####\n", old_klimit);  	BUG_ON(romfs_size < 0); /* What else can we do? */ -	printk("Moved 0x%08x bytes from 0x%08x to 0x%08x\n", +	pr_info("Moved 0x%08x bytes from 0x%08x to 0x%08x\n",  			romfs_size, romfs_base, (unsigned)&__bss_stop); -	printk("New klimit: 0x%08x\n", (unsigned)klimit); +	pr_info("New klimit: 0x%08x\n", (unsigned)klimit);  #endif  #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR -	if (msr) -		printk("!!!Your kernel has setup MSR instruction but " -				"CPU don't have it %x\n", msr); +	if (msr) { +		pr_info("!!!Your kernel has setup MSR instruction but "); +		pr_cont("CPU don't have it %x\n", msr); +	}  #else -	if (!msr) -		printk("!!!Your kernel not setup MSR instruction but " -				"CPU have it %x\n", msr); +	if (!msr) { +		pr_info("!!!Your kernel not setup MSR instruction but "); +		pr_cont"CPU have it %x\n", msr); +	}  #endif  	/* Do not copy reset vectors. offset = 0x2 means skip the first @@ -216,6 +218,8 @@ static int __init debugfs_tlb(void)  	d = debugfs_create_u32("tlb_skip", S_IRUGO, of_debugfs_root, &tlb_skip);  	if (!d)  		return -ENOMEM; + +	return 0;  }  device_initcall(debugfs_tlb);  # endif diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c index 9f7a8bde068..d26d7e7a691 100644 --- a/arch/microblaze/kernel/signal.c +++ b/arch/microblaze/kernel/signal.c @@ -242,7 +242,7 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,  	set_fs(USER_DS);  #ifdef DEBUG_SIG -	printk(KERN_INFO "SIG deliver (%s:%d): sp=%p pc=%08lx\n", +	pr_info("SIG deliver (%s:%d): sp=%p pc=%08lx\n",  		current->comm, current->pid, frame, regs->pc);  #endif @@ -317,8 +317,8 @@ static void do_signal(struct pt_regs *regs, int in_syscall)  	int signr;  	struct k_sigaction ka;  #ifdef DEBUG_SIG -	printk(KERN_INFO "do signal: %p %d\n", regs, in_syscall); -	printk(KERN_INFO "do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1, +	pr_info("do signal: %p %d\n", regs, in_syscall); +	pr_info("do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1,  			regs->r12, current_thread_info()->flags);  #endif diff --git a/arch/microblaze/kernel/stacktrace.c b/arch/microblaze/kernel/stacktrace.c index 84bc6686102..b4debe283a7 100644 --- a/arch/microblaze/kernel/stacktrace.c +++ b/arch/microblaze/kernel/stacktrace.c @@ -9,11 +9,11 @@   * for more details.   */ +#include <linux/export.h>  #include <linux/sched.h>  #include <linux/stacktrace.h>  #include <linux/thread_info.h>  #include <linux/ptrace.h> -#include <linux/module.h>  #include <asm/unwind.h>  void save_stack_trace(struct stack_trace *trace) diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c index 63647c586b4..f905b3ae68c 100644 --- a/arch/microblaze/kernel/sys_microblaze.c +++ b/arch/microblaze/kernel/sys_microblaze.c @@ -13,6 +13,7 @@   */  #include <linux/errno.h> +#include <linux/export.h>  #include <linux/mm.h>  #include <linux/smp.h>  #include <linux/syscalls.h> @@ -24,14 +25,12 @@  #include <linux/sys.h>  #include <linux/ipc.h>  #include <linux/file.h> -#include <linux/module.h>  #include <linux/err.h>  #include <linux/fs.h>  #include <linux/semaphore.h>  #include <linux/uaccess.h>  #include <linux/unistd.h>  #include <linux/slab.h> -  #include <asm/syscalls.h>  asmlinkage long sys_mmap(unsigned long addr, unsigned long len, diff --git a/arch/microblaze/kernel/traps.c b/arch/microblaze/kernel/traps.c index 5541ac55959..30e6b5004a6 100644 --- a/arch/microblaze/kernel/traps.c +++ b/arch/microblaze/kernel/traps.c @@ -8,9 +8,9 @@   * for more details.   */ +#include <linux/export.h>  #include <linux/kernel.h>  #include <linux/kallsyms.h> -#include <linux/module.h>  #include <linux/sched.h>  #include <linux/debug_locks.h> @@ -26,7 +26,7 @@ static unsigned long kstack_depth_to_print;	/* 0 == entire stack */  static int __init kstack_setup(char *s)  { -	return !strict_strtoul(s, 0, &kstack_depth_to_print); +	return !kstrtoul(s, 0, &kstack_depth_to_print);  }  __setup("kstack=", kstack_setup); @@ -66,9 +66,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)  	}  	print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 32, 4, (void *)fp,  		       words_to_show << 2, 0); -	printk(KERN_INFO "\n\n"); - -	pr_info("Call Trace:\n"); +	pr_info("\n\nCall Trace:\n");  	microblaze_unwind(task, NULL);  	pr_info("\n"); diff --git a/arch/microblaze/kernel/unwind.c b/arch/microblaze/kernel/unwind.c index 6be4ae3c335..1f7b8d44966 100644 --- a/arch/microblaze/kernel/unwind.c +++ b/arch/microblaze/kernel/unwind.c @@ -13,13 +13,13 @@   */  /* #define DEBUG 1 */ +#include <linux/export.h>  #include <linux/kallsyms.h>  #include <linux/kernel.h>  #include <linux/sched.h>  #include <linux/stacktrace.h>  #include <linux/types.h>  #include <linux/errno.h> -#include <linux/module.h>  #include <linux/io.h>  #include <asm/sections.h>  #include <asm/exceptions.h> diff --git a/arch/microblaze/lib/ashldi3.c b/arch/microblaze/lib/ashldi3.c index beb80f31609..1af904cd972 100644 --- a/arch/microblaze/lib/ashldi3.c +++ b/arch/microblaze/lib/ashldi3.c @@ -1,4 +1,4 @@ -#include <linux/module.h> +#include <linux/export.h>  #include "libgcc.h" @@ -25,5 +25,4 @@ long long __ashldi3(long long u, word_type b)  	return w.ll;  } -  EXPORT_SYMBOL(__ashldi3); diff --git a/arch/microblaze/lib/ashrdi3.c b/arch/microblaze/lib/ashrdi3.c index c884a912b66..32c334c05d0 100644 --- a/arch/microblaze/lib/ashrdi3.c +++ b/arch/microblaze/lib/ashrdi3.c @@ -1,4 +1,4 @@ -#include <linux/module.h> +#include <linux/export.h>  #include "libgcc.h" @@ -27,5 +27,4 @@ long long __ashrdi3(long long u, word_type b)  	return w.ll;  } -  EXPORT_SYMBOL(__ashrdi3); diff --git a/arch/microblaze/lib/cmpdi2.c b/arch/microblaze/lib/cmpdi2.c index a708400ea7b..67abc9ac1bd 100644 --- a/arch/microblaze/lib/cmpdi2.c +++ b/arch/microblaze/lib/cmpdi2.c @@ -1,4 +1,4 @@ -#include <linux/module.h> +#include <linux/export.h>  #include "libgcc.h" diff --git a/arch/microblaze/lib/lshrdi3.c b/arch/microblaze/lib/lshrdi3.c index dcf8d6810b7..adcb253f11c 100644 --- a/arch/microblaze/lib/lshrdi3.c +++ b/arch/microblaze/lib/lshrdi3.c @@ -1,4 +1,4 @@ -#include <linux/module.h> +#include <linux/export.h>  #include "libgcc.h" @@ -25,5 +25,4 @@ long long __lshrdi3(long long u, word_type b)  	return w.ll;  } -  EXPORT_SYMBOL(__lshrdi3); diff --git a/arch/microblaze/lib/memcpy.c b/arch/microblaze/lib/memcpy.c index fe9c53fafde..f536e81b816 100644 --- a/arch/microblaze/lib/memcpy.c +++ b/arch/microblaze/lib/memcpy.c @@ -24,10 +24,10 @@   * not any responsibility to update it.   */ +#include <linux/export.h>  #include <linux/types.h>  #include <linux/stddef.h>  #include <linux/compiler.h> -#include <linux/module.h>  #include <linux/string.h> @@ -103,12 +103,12 @@ void *memcpy(void *v_dst, const void *v_src, __kernel_size_t c)  			}  #else  			/* Load the holding buffer */ -			buf_hold = (*i_src++ & 0xFFFFFF00) >>8; +			buf_hold = (*i_src++ & 0xFFFFFF00) >> 8;  			for (; c >= 4; c -= 4) {  				value = *i_src++;  				*i_dst++ = buf_hold | ((value & 0xFF) << 24); -				buf_hold = (value & 0xFFFFFF00) >>8; +				buf_hold = (value & 0xFFFFFF00) >> 8;  			}  #endif  			/* Realign the source */ @@ -129,12 +129,12 @@ void *memcpy(void *v_dst, const void *v_src, __kernel_size_t c)  			}  #else  			/* Load the holding buffer */ -			buf_hold = (*i_src++ & 0xFFFF0000 )>>16; +			buf_hold = (*i_src++ & 0xFFFF0000) >> 16;  			for (; c >= 4; c -= 4) {  				value = *i_src++; -				*i_dst++ = buf_hold | ((value & 0xFFFF)<<16); -				buf_hold = (value & 0xFFFF0000) >>16; +				*i_dst++ = buf_hold | ((value & 0xFFFF) << 16); +				buf_hold = (value & 0xFFFF0000) >> 16;  			}  #endif  			/* Realign the source */ diff --git a/arch/microblaze/lib/memmove.c b/arch/microblaze/lib/memmove.c index 2146c3752a8..3611ce70415 100644 --- a/arch/microblaze/lib/memmove.c +++ b/arch/microblaze/lib/memmove.c @@ -24,10 +24,10 @@   * not any responsibility to update it.   */ +#include <linux/export.h>  #include <linux/types.h>  #include <linux/stddef.h>  #include <linux/compiler.h> -#include <linux/module.h>  #include <linux/string.h>  #ifdef __HAVE_ARCH_MEMMOVE @@ -129,7 +129,8 @@ void *memmove(void *v_dst, const void *v_src, __kernel_size_t c)  			for (; c >= 4; c -= 4) {  				value = *--i_src; -				*--i_dst = buf_hold | ((value & 0xFFFFFF00)>>8); +				*--i_dst = buf_hold | +						((value & 0xFFFFFF00) >> 8);  				buf_hold = (value  & 0xFF) << 24;  			}  #endif @@ -155,7 +156,8 @@ void *memmove(void *v_dst, const void *v_src, __kernel_size_t c)  			for (; c >= 4; c -= 4) {  				value = *--i_src; -				*--i_dst = buf_hold | ((value & 0xFFFF0000)>>16); +				*--i_dst = buf_hold | +						((value & 0xFFFF0000) >> 16);  				buf_hold = (value & 0xFFFF) << 16;  			}  #endif @@ -181,7 +183,8 @@ void *memmove(void *v_dst, const void *v_src, __kernel_size_t c)  			for (; c >= 4; c -= 4) {  				value = *--i_src; -				*--i_dst = buf_hold | ((value & 0xFF000000)>> 24); +				*--i_dst = buf_hold | +						((value & 0xFF000000) >> 24);  				buf_hold = (value & 0xFFFFFF) << 8;  			}  #endif diff --git a/arch/microblaze/lib/memset.c b/arch/microblaze/lib/memset.c index ddf67939576..04ea72c8a81 100644 --- a/arch/microblaze/lib/memset.c +++ b/arch/microblaze/lib/memset.c @@ -24,10 +24,10 @@   * not any responsibility to update it.   */ +#include <linux/export.h>  #include <linux/types.h>  #include <linux/stddef.h>  #include <linux/compiler.h> -#include <linux/module.h>  #include <linux/string.h>  #ifdef __HAVE_ARCH_MEMSET diff --git a/arch/microblaze/lib/muldi3.c b/arch/microblaze/lib/muldi3.c index d3659244ab6..a3f9a03acdc 100644 --- a/arch/microblaze/lib/muldi3.c +++ b/arch/microblaze/lib/muldi3.c @@ -1,4 +1,4 @@ -#include <linux/module.h> +#include <linux/export.h>  #include "libgcc.h" diff --git a/arch/microblaze/lib/uaccess_old.S b/arch/microblaze/lib/uaccess_old.S index f085995ee84..0e8cc2710c2 100644 --- a/arch/microblaze/lib/uaccess_old.S +++ b/arch/microblaze/lib/uaccess_old.S @@ -38,15 +38,14 @@ __strncpy_user:  	addik	r3,r7,0		/* temp_count = len */  1:  	lbu	r4,r6,r0 +	beqid	r4,2f  	sb	r4,r5,r0 -	addik	r3,r3,-1 -	beqi	r3,2f		/* break on len */ -  	addik	r5,r5,1 -	bneid	r4,1b  	addik	r6,r6,1		/* delay slot */ -	addik	r3,r3,1		/* undo "temp_count--" */ + +	addik	r3,r3,-1 +	bnei	r3,1b		/* break on len */  2:  	rsubk	r3,r3,r7	/* temp_count = len - temp_count */  3: diff --git a/arch/microblaze/lib/ucmpdi2.c b/arch/microblaze/lib/ucmpdi2.c index 63ca105b671..d05f1585121 100644 --- a/arch/microblaze/lib/ucmpdi2.c +++ b/arch/microblaze/lib/ucmpdi2.c @@ -1,4 +1,4 @@ -#include <linux/module.h> +#include <linux/export.h>  #include "libgcc.h" diff --git a/arch/microblaze/mm/consistent.c b/arch/microblaze/mm/consistent.c index a1e2e18e096..5226b09cbbb 100644 --- a/arch/microblaze/mm/consistent.c +++ b/arch/microblaze/mm/consistent.c @@ -13,7 +13,7 @@   * published by the Free Software Foundation.   */ -#include <linux/module.h> +#include <linux/export.h>  #include <linux/signal.h>  #include <linux/sched.h>  #include <linux/kernel.h> @@ -37,7 +37,7 @@  #include <asm/pgalloc.h>  #include <linux/io.h>  #include <linux/hardirq.h> -#include <asm/mmu_context.h> +#include <linux/mmu_context.h>  #include <asm/mmu.h>  #include <linux/uaccess.h>  #include <asm/pgtable.h> @@ -102,8 +102,7 @@ void *consistent_alloc(gfp_t gfp, size_t size, dma_addr_t *dma_handle)  # endif  	if ((unsigned int)ret > cpuinfo.dcache_base &&  				(unsigned int)ret < cpuinfo.dcache_high) -		printk(KERN_WARNING -			"ERROR: Your cache coherent area is CACHED!!!\n"); +		pr_warn("ERROR: Your cache coherent area is CACHED!!!\n");  	/* dma_handle is same as physical (shadowed) address */  	*dma_handle = (dma_addr_t)ret; diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c index 714b35a9c4f..731f739d17a 100644 --- a/arch/microblaze/mm/fault.c +++ b/arch/microblaze/mm/fault.c @@ -32,7 +32,7 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/mmu.h> -#include <asm/mmu_context.h> +#include <linux/mmu_context.h>  #include <linux/uaccess.h>  #include <asm/exceptions.h> @@ -100,7 +100,7 @@ void do_page_fault(struct pt_regs *regs, unsigned long address,  	/* On a kernel SLB miss we can only check for a valid exception entry */  	if (unlikely(kernel_mode(regs) && (address >= TASK_SIZE))) { -		printk(KERN_WARNING "kernel task_size exceed"); +		pr_warn("kernel task_size exceed");  		_exception(SIGSEGV, regs, code, address);  	} @@ -114,9 +114,9 @@ void do_page_fault(struct pt_regs *regs, unsigned long address,  		/* in_atomic() in user mode is really bad,  		   as is current->mm == NULL. */ -		printk(KERN_EMERG "Page fault in user mode with " -		       "in_atomic(), mm = %p\n", mm); -		printk(KERN_EMERG "r15 = %lx  MSR = %lx\n", +		pr_emerg("Page fault in user mode with in_atomic(), mm = %p\n", +									mm); +		pr_emerg("r15 = %lx  MSR = %lx\n",  		       regs->r15, regs->msr);  		die("Weird page fault", regs, SIGSEGV);  	} diff --git a/arch/microblaze/mm/highmem.c b/arch/microblaze/mm/highmem.c index 7d78838e8bf..5a92576fad9 100644 --- a/arch/microblaze/mm/highmem.c +++ b/arch/microblaze/mm/highmem.c @@ -20,8 +20,8 @@   * highmem.h by Benjamin Herrenschmidt (c) 2009 IBM Corp.   */ +#include <linux/export.h>  #include <linux/highmem.h> -#include <linux/module.h>  /*   * The use of kmap_atomic/kunmap_atomic is discouraged - kmap/kunmap diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c index ce80823051b..8f8b367c079 100644 --- a/arch/microblaze/mm/init.c +++ b/arch/microblaze/mm/init.c @@ -89,7 +89,7 @@ static unsigned long highmem_setup(void)  		reservedpages++;  	}  	totalram_pages += totalhigh_pages; -	printk(KERN_INFO "High memory: %luk\n", +	pr_info("High memory: %luk\n",  					totalhigh_pages << (PAGE_SHIFT-10));  	return reservedpages; @@ -142,8 +142,8 @@ void __init setup_memory(void)  			((u32)_text <= (memory_start + lowmem_size - 1))) {  			memory_size = lowmem_size;  			PAGE_OFFSET = memory_start; -			printk(KERN_INFO "%s: Main mem: 0x%x, " -				"size 0x%08x\n", __func__, (u32) memory_start, +			pr_info("%s: Main mem: 0x%x, size 0x%08x\n", +				__func__, (u32) memory_start,  					(u32) memory_size);  			break;  		} @@ -158,7 +158,7 @@ void __init setup_memory(void)  	kernel_align_start = PAGE_DOWN((u32)_text);  	/* ALIGN can be remove because _end in vmlinux.lds.S is align */  	kernel_align_size = PAGE_UP((u32)klimit) - kernel_align_start; -	printk(KERN_INFO "%s: kernel addr:0x%08x-0x%08x size=0x%08x\n", +	pr_info("%s: kernel addr:0x%08x-0x%08x size=0x%08x\n",  		__func__, kernel_align_start, kernel_align_start  			+ kernel_align_size, kernel_align_size);  	memblock_reserve(kernel_align_start, kernel_align_size); @@ -181,10 +181,10 @@ void __init setup_memory(void)  	max_low_pfn = ((u64)memory_start + (u64)lowmem_size) >> PAGE_SHIFT;  	max_pfn = ((u64)memory_start + (u64)memory_size) >> PAGE_SHIFT; -	printk(KERN_INFO "%s: max_mapnr: %#lx\n", __func__, max_mapnr); -	printk(KERN_INFO "%s: min_low_pfn: %#lx\n", __func__, min_low_pfn); -	printk(KERN_INFO "%s: max_low_pfn: %#lx\n", __func__, max_low_pfn); -	printk(KERN_INFO "%s: max_pfn: %#lx\n", __func__, max_pfn); +	pr_info("%s: max_mapnr: %#lx\n", __func__, max_mapnr); +	pr_info("%s: min_low_pfn: %#lx\n", __func__, min_low_pfn); +	pr_info("%s: max_low_pfn: %#lx\n", __func__, max_low_pfn); +	pr_info("%s: max_pfn: %#lx\n", __func__, max_pfn);  	/*  	 * Find an area to use for the bootmem bitmap. @@ -246,7 +246,7 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)  		free_page(addr);  		totalram_pages++;  	} -	printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10); +	pr_info("Freeing %s: %ldk freed\n", what, (end - begin) >> 10);  }  #ifdef CONFIG_BLK_DEV_INITRD @@ -260,7 +260,7 @@ void free_initrd_mem(unsigned long start, unsigned long end)  		totalram_pages++;  		pages++;  	} -	printk(KERN_NOTICE "Freeing initrd memory: %dk freed\n", +	pr_notice("Freeing initrd memory: %dk freed\n",  					(int)(pages * (PAGE_SIZE / 1024)));  }  #endif @@ -304,11 +304,11 @@ void __init mem_init(void)  	initsize = (unsigned long)&__init_end - (unsigned long)&__init_begin;  	bsssize = (unsigned long)&__bss_stop - (unsigned long)&__bss_start; -	pr_info("Memory: %luk/%luk available (%luk kernel code, " -		"%luk reserved, %luk data, %luk bss, %luk init)\n", +	pr_info("Memory: %luk/%luk available (%luk kernel code, ",  		nr_free_pages() << (PAGE_SHIFT-10),  		num_physpages << (PAGE_SHIFT-10), -		codesize >> 10, +		codesize >> 10); +	pr_cont("%luk reserved, %luk data, %luk bss, %luk init)\n",  		reservedpages << (PAGE_SHIFT-10),  		datasize >> 10,  		bsssize >> 10, @@ -394,17 +394,17 @@ asmlinkage void __init mmu_init(void)  	unsigned int kstart, ksize;  	if (!memblock.reserved.cnt) { -		printk(KERN_EMERG "Error memory count\n"); +		pr_emerg("Error memory count\n");  		machine_restart(NULL);  	}  	if ((u32) memblock.memory.regions[0].size < 0x400000) { -		printk(KERN_EMERG "Memory must be greater than 4MB\n"); +		pr_emerg("Memory must be greater than 4MB\n");  		machine_restart(NULL);  	}  	if ((u32) memblock.memory.regions[0].size < kernel_tlb) { -		printk(KERN_EMERG "Kernel size is greater than memory node\n"); +		pr_emerg("Kernel size is greater than memory node\n");  		machine_restart(NULL);  	} diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c index d1c06d07fed..10b3bd0a980 100644 --- a/arch/microblaze/mm/pgtable.c +++ b/arch/microblaze/mm/pgtable.c @@ -26,8 +26,8 @@   *   */ +#include <linux/export.h>  #include <linux/kernel.h> -#include <linux/module.h>  #include <linux/types.h>  #include <linux/vmalloc.h>  #include <linux/init.h> @@ -39,8 +39,6 @@  #include <asm/sections.h>  #include <asm/fixmap.h> -#define flush_HPTE(X, va, pg)	_tlbie(va) -  unsigned long ioremap_base;  unsigned long ioremap_bot;  EXPORT_SYMBOL(ioremap_bot); @@ -75,9 +73,8 @@ static void __iomem *__ioremap(phys_addr_t addr, unsigned long size,  		p >= memory_start && p < virt_to_phys(high_memory) &&  		!(p >= virt_to_phys((unsigned long)&__bss_stop) &&  		p < virt_to_phys((unsigned long)__bss_stop))) { -		printk(KERN_WARNING "__ioremap(): phys addr "PTE_FMT -			" is RAM lr %pf\n", (unsigned long)p, -			__builtin_return_address(0)); +		pr_warn("__ioremap(): phys addr "PTE_FMT" is RAM lr %pf\n", +			(unsigned long)p, __builtin_return_address(0));  		return NULL;  	} @@ -128,9 +125,10 @@ void __iomem *ioremap(phys_addr_t addr, unsigned long size)  }  EXPORT_SYMBOL(ioremap); -void iounmap(void *addr) +void iounmap(void __iomem *addr)  { -	if (addr > high_memory && (unsigned long) addr < ioremap_bot) +	if ((__force void *)addr > high_memory && +					(unsigned long) addr < ioremap_bot)  		vfree((void *) (PAGE_MASK & (unsigned long) addr));  }  EXPORT_SYMBOL(iounmap); @@ -152,8 +150,7 @@ int map_page(unsigned long va, phys_addr_t pa, int flags)  		set_pte_at(&init_mm, va, pg, pfn_pte(pa >> PAGE_SHIFT,  				__pgprot(flags)));  		if (unlikely(mem_init_done)) -			flush_HPTE(0, va, pmd_val(*pd)); -			/* flush_HPTE(0, va, pg); */ +			_tlbie(va);  	}  	return err;  } diff --git a/arch/microblaze/pci/indirect_pci.c b/arch/microblaze/pci/indirect_pci.c index 4196eb6bd76..ae4fca46c9f 100644 --- a/arch/microblaze/pci/indirect_pci.c +++ b/arch/microblaze/pci/indirect_pci.c @@ -15,7 +15,7 @@  #include <linux/string.h>  #include <linux/init.h> -#include <asm/io.h> +#include <linux/io.h>  #include <asm/prom.h>  #include <asm/pci-bridge.h> diff --git a/arch/microblaze/pci/iomap.c b/arch/microblaze/pci/iomap.c index b07abbac031..94149f5e6eb 100644 --- a/arch/microblaze/pci/iomap.c +++ b/arch/microblaze/pci/iomap.c @@ -7,7 +7,7 @@  #include <linux/pci.h>  #include <linux/mm.h>  #include <linux/export.h> -#include <asm/io.h> +#include <linux/io.h>  #include <asm/pci-bridge.h>  void pci_iounmap(struct pci_dev *dev, void __iomem *addr) diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c index 96416553cb3..9ea521e4959 100644 --- a/arch/microblaze/pci/pci-common.c +++ b/arch/microblaze/pci/pci-common.c @@ -30,10 +30,11 @@  #include <linux/of.h>  #include <linux/of_address.h>  #include <linux/of_pci.h> +#include <linux/pci.h>  #include <linux/export.h>  #include <asm/processor.h> -#include <asm/io.h> +#include <linux/io.h>  #include <asm/pci-bridge.h>  #include <asm/byteorder.h> @@ -552,11 +553,10 @@ int pci_mmap_legacy_page_range(struct pci_bus *bus,  		 */  		if ((offset + size) > hose->isa_mem_size) {  #ifdef CONFIG_MMU -			printk(KERN_DEBUG -				"Process %s (pid:%d) mapped non-existing PCI" -				"legacy memory for 0%04x:%02x\n", -				current->comm, current->pid, pci_domain_nr(bus), -								bus->number); +			pr_debug("Process %s (pid:%d) mapped non-existing PCI", +				current->comm, current->pid); +			pr_debug("legacy memory for 0%04x:%02x\n", +				pci_domain_nr(bus), bus->number);  #endif  			if (vma->vm_flags & VM_SHARED)  				return shmem_zero_setup(vma); @@ -564,7 +564,7 @@ int pci_mmap_legacy_page_range(struct pci_bus *bus,  		}  		offset += hose->isa_mem_phys;  	} else { -		unsigned long io_offset = (unsigned long)hose->io_base_virt - \ +		unsigned long io_offset = (unsigned long)hose->io_base_virt -  								_IO_BASE;  		unsigned long roffset = offset + io_offset;  		rp = &hose->io_resource; @@ -668,7 +668,7 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,  	unsigned long long isa_mb = 0;  	struct resource *res; -	printk(KERN_INFO "PCI host bridge %s %s ranges:\n", +	pr_info("PCI host bridge %s %s ranges:\n",  	       dev->full_name, primary ? "(primary)" : "");  	/* Get ranges property */ @@ -685,9 +685,10 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,  		cpu_addr = of_translate_address(dev, ranges + 3);  		size = of_read_number(ranges + pna + 3, 2); -		pr_debug("pci_space: 0x%08x pci_addr:0x%016llx " -				"cpu_addr:0x%016llx size:0x%016llx\n", -					pci_space, pci_addr, cpu_addr, size); +		pr_debug("pci_space: 0x%08x pci_addr:0x%016llx ", +				pci_space, pci_addr); +		pr_debug("cpu_addr:0x%016llx size:0x%016llx\n", +					cpu_addr, size);  		ranges += np; @@ -716,14 +717,12 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,  		res = NULL;  		switch ((pci_space >> 24) & 0x3) {  		case 1:		/* PCI IO space */ -			printk(KERN_INFO -			       "  IO 0x%016llx..0x%016llx -> 0x%016llx\n", +			pr_info("  IO 0x%016llx..0x%016llx -> 0x%016llx\n",  			       cpu_addr, cpu_addr + size - 1, pci_addr);  			/* We support only one IO range */  			if (hose->pci_io_size) { -				printk(KERN_INFO -				       " \\--> Skipped (too many) !\n"); +				pr_info(" \\--> Skipped (too many) !\n");  				continue;  			}  			/* On 32 bits, limit I/O space to 16MB */ @@ -750,15 +749,13 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,  			break;  		case 2:		/* PCI Memory space */  		case 3:		/* PCI 64 bits Memory space */ -			printk(KERN_INFO -			       " MEM 0x%016llx..0x%016llx -> 0x%016llx %s\n", +			pr_info(" MEM 0x%016llx..0x%016llx -> 0x%016llx %s\n",  			       cpu_addr, cpu_addr + size - 1, pci_addr,  			       (pci_space & 0x40000000) ? "Prefetch" : "");  			/* We support only 3 memory ranges */  			if (memno >= 3) { -				printk(KERN_INFO -				       " \\--> Skipped (too many) !\n"); +				pr_info(" \\--> Skipped (too many) !\n");  				continue;  			}  			/* Handles ISA memory hole space here */ @@ -781,8 +778,7 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,  				hose->pci_mem_offset = cpu_addr - pci_addr;  			else if (pci_addr != 0 &&  				 hose->pci_mem_offset != cpu_addr - pci_addr) { -				printk(KERN_INFO -				       " \\--> Skipped (offset mismatch) !\n"); +				pr_info(" \\--> Skipped (offset mismatch) !\n");  				continue;  			} @@ -809,7 +805,7 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose,  	 */  	if (isa_hole >= 0 && hose->pci_mem_offset != isa_mb) {  		unsigned int next = isa_hole + 1; -		printk(KERN_INFO " Removing ISA hole at 0x%016llx\n", isa_mb); +		pr_info(" Removing ISA hole at 0x%016llx\n", isa_mb);  		if (next < memno)  			memmove(&hose->mem_resources[isa_hole],  				&hose->mem_resources[next], @@ -833,7 +829,7 @@ static void pcibios_fixup_resources(struct pci_dev *dev)  	int i;  	if (!hose) { -		printk(KERN_ERR "No host bridge for PCI dev %s !\n", +		pr_err("No host bridge for PCI dev %s !\n",  		       pci_name(dev));  		return;  	} @@ -842,12 +838,12 @@ static void pcibios_fixup_resources(struct pci_dev *dev)  		if (!res->flags)  			continue;  		if (res->start == 0) { -			pr_debug("PCI:%s Resource %d %016llx-%016llx [%x]" \ -							"is unassigned\n", +			pr_debug("PCI:%s Resource %d %016llx-%016llx [%x]",  				 pci_name(dev), i,  				 (unsigned long long)res->start,  				 (unsigned long long)res->end,  				 (unsigned int)res->flags); +			pr_debug("is unassigned\n");  			res->end -= res->start;  			res->start = 0;  			res->flags |= IORESOURCE_UNSET; @@ -856,7 +852,7 @@ static void pcibios_fixup_resources(struct pci_dev *dev)  		pr_debug("PCI:%s Resource %d %016llx-%016llx [%x]\n",  			 pci_name(dev), i, -			 (unsigned long long)res->start,\ +			 (unsigned long long)res->start,  			 (unsigned long long)res->end,  			 (unsigned int)res->flags);  	} @@ -947,7 +943,7 @@ static void pcibios_fixup_bridge(struct pci_bus *bus)  		pr_debug("PCI:%s Bus rsrc %d %016llx-%016llx [%x] fixup...\n",  			 pci_name(dev), i, -			 (unsigned long long)res->start,\ +			 (unsigned long long)res->start,  			 (unsigned long long)res->end,  			 (unsigned int)res->flags); @@ -1154,12 +1150,12 @@ static void pcibios_allocate_bus_resources(struct pci_bus *bus)  			}  		} -		pr_debug("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx " -			 "[0x%x], parent %p (%s)\n", +		pr_debug("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx ",  			 bus->self ? pci_name(bus->self) : "PHB",  			 bus->number, i,  			 (unsigned long long)res->start, -			 (unsigned long long)res->end, +			 (unsigned long long)res->end); +		pr_debug("[0x%x], parent %p (%s)\n",  			 (unsigned int)res->flags,  			 pr, (pr && pr->name) ? pr->name : "nil"); @@ -1174,9 +1170,8 @@ static void pcibios_allocate_bus_resources(struct pci_bus *bus)  			if (reparent_resources(pr, res) == 0)  				continue;  		} -		printk(KERN_WARNING "PCI: Cannot allocate resource region " -		       "%d of PCI bridge %d, will remap\n", i, bus->number); - +		pr_warn("PCI: Cannot allocate resource region "); +		pr_cont("%d of PCI bridge %d, will remap\n", i, bus->number);  		res->start = res->end = 0;  		res->flags = 0;  	} @@ -1198,8 +1193,8 @@ static inline void alloc_resource(struct pci_dev *dev, int idx)  	pr = pci_find_parent_resource(dev, r);  	if (!pr || (pr->flags & IORESOURCE_UNSET) ||  	    request_resource(pr, r) < 0) { -		printk(KERN_WARNING "PCI: Cannot allocate resource region %d" -		       " of device %s, will remap\n", idx, pci_name(dev)); +		pr_warn("PCI: Cannot allocate resource region %d ", idx); +		pr_cont("of device %s, will remap\n", pci_name(dev));  		if (pr)  			pr_debug("PCI:  parent is %p: %016llx-%016llx [%x]\n",  				 pr, @@ -1282,8 +1277,7 @@ static void __init pcibios_reserve_legacy_regions(struct pci_bus *bus)  	res->end = (offset + 0xfff) & 0xfffffffful;  	pr_debug("Candidate legacy IO: %pR\n", res);  	if (request_resource(&hose->io_resource, res)) { -		printk(KERN_DEBUG -		       "PCI %04x:%02x Cannot reserve Legacy IO %pR\n", +		pr_debug("PCI %04x:%02x Cannot reserve Legacy IO %pR\n",  		       pci_domain_nr(bus), bus->number, res);  		kfree(res);  	} @@ -1311,8 +1305,7 @@ static void __init pcibios_reserve_legacy_regions(struct pci_bus *bus)  	res->end = 0xbffff + offset;  	pr_debug("Candidate VGA memory: %pR\n", res);  	if (request_resource(pres, res)) { -		printk(KERN_DEBUG -		       "PCI %04x:%02x Cannot reserve VGA memory %pR\n", +		pr_debug("PCI %04x:%02x Cannot reserve VGA memory %pR\n",  		       pci_domain_nr(bus), bus->number, res);  		kfree(res);  	} @@ -1362,10 +1355,9 @@ void pcibios_claim_one_bus(struct pci_bus *bus)  			if (r->parent || !r->start || !r->flags)  				continue; -			pr_debug("PCI: Claiming %s: " -				 "Resource %d: %016llx..%016llx [%x]\n", -				 pci_name(dev), i, -				 (unsigned long long)r->start, +			pr_debug("PCI: Claiming %s: ", pci_name(dev)); +			pr_debug("Resource %d: %016llx..%016llx [%x]\n", +				 i, (unsigned long long)r->start,  				 (unsigned long long)r->end,  				 (unsigned int)r->flags); @@ -1423,9 +1415,9 @@ static void pcibios_setup_phb_resources(struct pci_controller *hose,  	res->end = (res->end + io_offset) & 0xffffffffu;  	if (!res->flags) { -		printk(KERN_WARNING "PCI: I/O resource not set for host" -		       " bridge %s (domain %d)\n", -		       hose->dn->full_name, hose->global_number); +		pr_warn("PCI: I/O resource not set for host "); +		pr_cont("bridge %s (domain %d)\n", +			hose->dn->full_name, hose->global_number);  		/* Workaround for lack of IO resource only on 32-bit */  		res->start = (unsigned long)hose->io_base_virt - isa_io_base;  		res->end = res->start + IO_SPACE_LIMIT; @@ -1445,9 +1437,9 @@ static void pcibios_setup_phb_resources(struct pci_controller *hose,  		if (!res->flags) {  			if (i > 0)  				continue; -			printk(KERN_ERR "PCI: Memory resource 0 not set for " -			       "host bridge %s (domain %d)\n", -			       hose->dn->full_name, hose->global_number); +			pr_err("PCI: Memory resource 0 not set for "); +			pr_cont("host bridge %s (domain %d)\n", +				hose->dn->full_name, hose->global_number);  			/* Workaround for lack of MEM resource only on 32-bit */  			res->start = hose->pci_mem_offset; @@ -1489,7 +1481,7 @@ static void pcibios_scan_phb(struct pci_controller *hose)  	bus = pci_scan_root_bus(hose->parent, hose->first_busno,  				hose->ops, hose, &resources);  	if (bus == NULL) { -		printk(KERN_ERR "Failed to create bus for PCI domain %04x\n", +		pr_err("Failed to create bus for PCI domain %04x\n",  		       hose->global_number);  		pci_free_resource_list(&resources);  		return; @@ -1505,7 +1497,7 @@ static int __init pcibios_init(void)  	struct pci_controller *hose, *tmp;  	int next_busno = 0; -	printk(KERN_INFO "PCI: Probing PCI hardware\n"); +	pr_info("PCI: Probing PCI hardware\n");  	/* Scan all of the recorded PCI controllers.  */  	list_for_each_entry_safe(hose, tmp, &hose_list, list_node) { @@ -1605,7 +1597,7 @@ fake_pci_bus(struct pci_controller *hose, int busnr)  	static struct pci_bus bus;  	if (!hose) -		printk(KERN_ERR "Can't find hose for PCI bus %d!\n", busnr); +		pr_err("Can't find hose for PCI bus %d!\n", busnr);  	bus.number = busnr;  	bus.sysdata = hose; diff --git a/arch/microblaze/pci/xilinx_pci.c b/arch/microblaze/pci/xilinx_pci.c index 0687a42a5bd..14c7da5fd03 100644 --- a/arch/microblaze/pci/xilinx_pci.c +++ b/arch/microblaze/pci/xilinx_pci.c @@ -18,7 +18,7 @@  #include <linux/of.h>  #include <linux/of_address.h>  #include <linux/pci.h> -#include <asm/io.h> +#include <linux/io.h>  #define XPLB_PCI_ADDR 0x10c  #define XPLB_PCI_DATA 0x110 @@ -82,7 +82,7 @@ xilinx_pci_exclude_device(struct pci_controller *hose, u_char bus, u8 devfn)   *   * List pci devices in very early phase.   */ -void __init xilinx_early_pci_scan(struct pci_controller *hose) +static void __init xilinx_early_pci_scan(struct pci_controller *hose)  {  	u32 bus = 0;  	u32 val, dev, func, offset; @@ -91,27 +91,27 @@ void __init xilinx_early_pci_scan(struct pci_controller *hose)  	for (dev = 0; dev < 2; dev++) {  		/* List only first function number - up-to 8 functions */  		for (func = 0; func < 1; func++) { -			printk(KERN_INFO "%02x:%02x:%02x", bus, dev, func); +			pr_info("%02x:%02x:%02x", bus, dev, func);  			/* read the first 64 standardized bytes */  			/* Up-to 192 bytes can be list of capabilities */  			for (offset = 0; offset < 64; offset += 4) {  				early_read_config_dword(hose, bus,  					PCI_DEVFN(dev, func), offset, &val);  				if (offset == 0 && val == 0xFFFFFFFF) { -					printk(KERN_CONT "\nABSENT"); +					pr_cont("\nABSENT");  					break;  				}  				if (!(offset % 0x10)) -					printk(KERN_CONT "\n%04x:    ", offset); +					pr_cont("\n%04x:    ", offset); -				printk(KERN_CONT "%08x  ", val); +				pr_cont("%08x  ", val);  			} -			printk(KERN_INFO "\n"); +			pr_info("\n");  		}  	}  }  #else -void __init xilinx_early_pci_scan(struct pci_controller *hose) +static void __init xilinx_early_pci_scan(struct pci_controller *hose)  {  }  #endif diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index 8e260cf0135..aba53083297 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h @@ -239,15 +239,15 @@ static inline void outsl(unsigned long addr, const void *buffer, int count)  #ifndef CONFIG_GENERIC_IOMAP  #define ioread8(addr)		readb(addr)  #define ioread16(addr)		readw(addr) -#define ioread16be(addr)	be16_to_cpu(ioread16(addr)) +#define ioread16be(addr)	__be16_to_cpu(__raw_readw(addr))  #define ioread32(addr)		readl(addr) -#define ioread32be(addr)	be32_to_cpu(ioread32(addr)) +#define ioread32be(addr)	__be32_to_cpu(__raw_readl(addr))  #define iowrite8(v, addr)	writeb((v), (addr))  #define iowrite16(v, addr)	writew((v), (addr)) -#define iowrite16be(v, addr)	iowrite16(be16_to_cpu(v), (addr)) +#define iowrite16be(v, addr)	__raw_writew(__cpu_to_be16(v), addr)  #define iowrite32(v, addr)	writel((v), (addr)) -#define iowrite32be(v, addr)	iowrite32(be32_to_cpu(v), (addr)) +#define iowrite32be(v, addr)	__raw_writel(__cpu_to_be32(v), addr)  #define ioread8_rep(p, dst, count) \  	insb((unsigned long) (p), (dst), (count))  |