diff options
Diffstat (limited to 'arch/arm/kernel')
| -rw-r--r-- | arch/arm/kernel/armksyms.c | 3 | ||||
| -rw-r--r-- | arch/arm/kernel/bios32.c | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/calls.S | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/devtree.c | 14 | ||||
| -rw-r--r-- | arch/arm/kernel/irq.c | 19 | ||||
| -rw-r--r-- | arch/arm/kernel/iwmmxt.S | 6 | ||||
| -rw-r--r-- | arch/arm/kernel/module.c | 4 | ||||
| -rw-r--r-- | arch/arm/kernel/pmu.c | 26 | ||||
| -rw-r--r-- | arch/arm/kernel/process.c | 4 | ||||
| -rw-r--r-- | arch/arm/kernel/relocate_kernel.S | 3 | ||||
| -rw-r--r-- | arch/arm/kernel/setup.c | 15 | ||||
| -rw-r--r-- | arch/arm/kernel/smp.c | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/smp_twd.c | 4 | ||||
| -rw-r--r-- | arch/arm/kernel/traps.c | 2 | 
14 files changed, 53 insertions, 53 deletions
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c index acca35aebe2..aeef960ff79 100644 --- a/arch/arm/kernel/armksyms.c +++ b/arch/arm/kernel/armksyms.c @@ -112,9 +112,6 @@ EXPORT_SYMBOL(__put_user_4);  EXPORT_SYMBOL(__put_user_8);  #endif -	/* crypto hash */ -EXPORT_SYMBOL(sha_transform); -  	/* gcc lib functions */  EXPORT_SYMBOL(__ashldi3);  EXPORT_SYMBOL(__ashrdi3); diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index e4ee050aad7..d6df359408f 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c @@ -476,7 +476,7 @@ static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin)  /*   * Map a slot/pin to an IRQ.   */ -static int pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) +static int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)  {  	struct pci_sys_data *sys = dev->sysdata;  	int irq = -1; diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S index 80f7896cc01..9943e9e74a1 100644 --- a/arch/arm/kernel/calls.S +++ b/arch/arm/kernel/calls.S @@ -178,7 +178,7 @@  		CALL(sys_ni_syscall)		/* vm86 */  		CALL(sys_ni_syscall)		/* was sys_query_module */  		CALL(sys_poll) -		CALL(sys_nfsservctl) +		CALL(sys_ni_syscall)		/* was nfsservctl */  /* 170 */	CALL(sys_setresgid16)  		CALL(sys_getresgid16)  		CALL(sys_prctl) diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c index 0cdd7b456cb..1a33e9d6bb1 100644 --- a/arch/arm/kernel/devtree.c +++ b/arch/arm/kernel/devtree.c @@ -132,17 +132,3 @@ struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)  	return mdesc_best;  } - -/** - * irq_create_of_mapping - Hook to resolve OF irq specifier into a Linux irq# - * - * Currently the mapping mechanism is trivial; simple flat hwirq numbers are - * mapped 1:1 onto Linux irq numbers.  Cascaded irq controllers are not - * supported. - */ -unsigned int irq_create_of_mapping(struct device_node *controller, -				   const u32 *intspec, unsigned int intsize) -{ -	return intspec[0]; -} -EXPORT_SYMBOL_GPL(irq_create_of_mapping); diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 0f928a131af..de3dcab8610 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -67,12 +67,12 @@ int arch_show_interrupts(struct seq_file *p, int prec)  }  /* - * do_IRQ handles all hardware IRQ's.  Decoded IRQs should not - * come via this function.  Instead, they should provide their - * own 'handler' + * handle_IRQ handles all hardware IRQ's.  Decoded IRQs should + * not come via this function.  Instead, they should provide their + * own 'handler'.  Used by platform code implementing C-based 1st + * level decoding.   */ -asmlinkage void __exception_irq_entry -asm_do_IRQ(unsigned int irq, struct pt_regs *regs) +void handle_IRQ(unsigned int irq, struct pt_regs *regs)  {  	struct pt_regs *old_regs = set_irq_regs(regs); @@ -97,6 +97,15 @@ asm_do_IRQ(unsigned int irq, struct pt_regs *regs)  	set_irq_regs(old_regs);  } +/* + * asm_do_IRQ is the interface to be used from assembly code. + */ +asmlinkage void __exception_irq_entry +asm_do_IRQ(unsigned int irq, struct pt_regs *regs) +{ +	handle_IRQ(irq, regs); +} +  void set_irq_flags(unsigned int irq, unsigned int iflags)  {  	unsigned long clr = 0, set = IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; diff --git a/arch/arm/kernel/iwmmxt.S b/arch/arm/kernel/iwmmxt.S index 7fa3bb0d239..a08783823b3 100644 --- a/arch/arm/kernel/iwmmxt.S +++ b/arch/arm/kernel/iwmmxt.S @@ -195,10 +195,10 @@ ENTRY(iwmmxt_task_disable)  	@ enable access to CP0 and CP1  	XSC(mrc	p15, 0, r4, c15, c1, 0) -	XSC(orr	r4, r4, #0xf) +	XSC(orr	r4, r4, #0x3)  	XSC(mcr	p15, 0, r4, c15, c1, 0)  	PJ4(mrc p15, 0, r4, c1, c0, 2) -	PJ4(orr	r4, r4, #0x3) +	PJ4(orr	r4, r4, #0xf)  	PJ4(mcr	p15, 0, r4, c1, c0, 2)  	mov	r0, #0				@ nothing to load @@ -313,7 +313,7 @@ ENTRY(iwmmxt_task_switch)  	teq	r2, r3				@ next task owns it?  	movne	pc, lr				@ no: leave Concan disabled -1:	@ flip Conan access +1:	@ flip Concan access  	XSC(eor	r1, r1, #0x3)  	XSC(mcr	p15, 0, r1, c15, c1, 0)  	PJ4(eor r1, r1, #0xf) diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 05b377616fd..cc2020c2c70 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c @@ -323,7 +323,11 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,  #endif  	s = find_mod_section(hdr, sechdrs, ".alt.smp.init");  	if (s && !is_smp()) +#ifdef CONFIG_SMP_ON_UP  		fixup_smp((void *)s->sh_addr, s->sh_size); +#else +		return -EINVAL; +#endif  	return 0;  } diff --git a/arch/arm/kernel/pmu.c b/arch/arm/kernel/pmu.c index 2b70709376c..c53474fe84d 100644 --- a/arch/arm/kernel/pmu.c +++ b/arch/arm/kernel/pmu.c @@ -31,7 +31,7 @@ static int __devinit pmu_register(struct platform_device *pdev,  {  	if (type < 0 || type >= ARM_NUM_PMU_DEVICES) {  		pr_warning("received registration request for unknown " -				"device %d\n", type); +				"PMU device type %d\n", type);  		return -EINVAL;  	} @@ -112,17 +112,17 @@ static int __init register_pmu_driver(void)  device_initcall(register_pmu_driver);  struct platform_device * -reserve_pmu(enum arm_pmu_type device) +reserve_pmu(enum arm_pmu_type type)  {  	struct platform_device *pdev; -	if (test_and_set_bit_lock(device, &pmu_lock)) { +	if (test_and_set_bit_lock(type, &pmu_lock)) {  		pdev = ERR_PTR(-EBUSY); -	} else if (pmu_devices[device] == NULL) { -		clear_bit_unlock(device, &pmu_lock); +	} else if (pmu_devices[type] == NULL) { +		clear_bit_unlock(type, &pmu_lock);  		pdev = ERR_PTR(-ENODEV);  	} else { -		pdev = pmu_devices[device]; +		pdev = pmu_devices[type];  	}  	return pdev; @@ -130,11 +130,11 @@ reserve_pmu(enum arm_pmu_type device)  EXPORT_SYMBOL_GPL(reserve_pmu);  int -release_pmu(enum arm_pmu_type device) +release_pmu(enum arm_pmu_type type)  { -	if (WARN_ON(!pmu_devices[device])) +	if (WARN_ON(!pmu_devices[type]))  		return -EINVAL; -	clear_bit_unlock(device, &pmu_lock); +	clear_bit_unlock(type, &pmu_lock);  	return 0;  }  EXPORT_SYMBOL_GPL(release_pmu); @@ -182,17 +182,17 @@ init_cpu_pmu(void)  }  int -init_pmu(enum arm_pmu_type device) +init_pmu(enum arm_pmu_type type)  {  	int err = 0; -	switch (device) { +	switch (type) {  	case ARM_PMU_DEVICE_CPU:  		err = init_cpu_pmu();  		break;  	default: -		pr_warning("attempt to initialise unknown device %d\n", -				device); +		pr_warning("attempt to initialise PMU of unknown " +			   "type %d\n", type);  		err = -EINVAL;  	} diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 5e1e5419722..1a347f481e5 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -30,6 +30,7 @@  #include <linux/uaccess.h>  #include <linux/random.h>  #include <linux/hw_breakpoint.h> +#include <linux/cpuidle.h>  #include <asm/cacheflush.h>  #include <asm/leds.h> @@ -196,7 +197,8 @@ void cpu_idle(void)  				cpu_relax();  			} else {  				stop_critical_timings(); -				pm_idle(); +				if (cpuidle_idle_call()) +					pm_idle();  				start_critical_timings();  				/*  				 * This will eventually be removed - pm_idle diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S index 9cf4cbf8f95..d0cdedf4864 100644 --- a/arch/arm/kernel/relocate_kernel.S +++ b/arch/arm/kernel/relocate_kernel.S @@ -57,7 +57,8 @@ relocate_new_kernel:  	mov r0,#0  	ldr r1,kexec_mach_type  	ldr r2,kexec_boot_atags -	mov pc,lr + ARM(	mov pc, lr	) + THUMB(	bx lr		)  	.align diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 70bca649e92..e514c76043b 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -280,18 +280,19 @@ static void __init cacheid_init(void)  	if (arch >= CPU_ARCH_ARMv6) {  		if ((cachetype & (7 << 29)) == 4 << 29) {  			/* ARMv7 register format */ +			arch = CPU_ARCH_ARMv7;  			cacheid = CACHEID_VIPT_NONALIASING;  			if ((cachetype & (3 << 14)) == 1 << 14)  				cacheid |= CACHEID_ASID_TAGGED; -			else if (cpu_has_aliasing_icache(CPU_ARCH_ARMv7)) -				cacheid |= CACHEID_VIPT_I_ALIASING; -		} else if (cachetype & (1 << 23)) { -			cacheid = CACHEID_VIPT_ALIASING;  		} else { -			cacheid = CACHEID_VIPT_NONALIASING; -			if (cpu_has_aliasing_icache(CPU_ARCH_ARMv6)) -				cacheid |= CACHEID_VIPT_I_ALIASING; +			arch = CPU_ARCH_ARMv6; +			if (cachetype & (1 << 23)) +				cacheid = CACHEID_VIPT_ALIASING; +			else +				cacheid = CACHEID_VIPT_NONALIASING;  		} +		if (cpu_has_aliasing_icache(arch)) +			cacheid |= CACHEID_VIPT_I_ALIASING;  	} else {  		cacheid = CACHEID_VIVT;  	} diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 167e3cbe1f2..d88ff0230e8 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -27,7 +27,7 @@  #include <linux/clockchips.h>  #include <linux/completion.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  #include <asm/cacheflush.h>  #include <asm/cpu.h>  #include <asm/cputype.h> diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index 2c277d40cee..01c186222f3 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c @@ -137,8 +137,8 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk)  	clk->max_delta_ns = clockevent_delta2ns(0xffffffff, clk);  	clk->min_delta_ns = clockevent_delta2ns(0xf, clk); +	clockevents_register_device(clk); +  	/* Make sure our local interrupt controller has this enabled */  	gic_enable_ppi(clk->irq); - -	clockevents_register_device(clk);  } diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 2d3436e9f71..bc9f9da782c 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -25,7 +25,7 @@  #include <linux/init.h>  #include <linux/sched.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  #include <asm/cacheflush.h>  #include <asm/system.h>  #include <asm/unistd.h>  |