diff options
Diffstat (limited to 'arch/sh/kernel')
| -rw-r--r-- | arch/sh/kernel/cpu/fpu.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/hwblk.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/cpufreq.c | 4 | ||||
| -rw-r--r-- | arch/sh/kernel/dwarf.c | 5 | ||||
| -rw-r--r-- | arch/sh/kernel/idle.c | 2 | ||||
| -rw-r--r-- | arch/sh/kernel/kprobes.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/perf_event.c | 22 | ||||
| -rw-r--r-- | arch/sh/kernel/process.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/process_32.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/process_64.c | 8 | ||||
| -rw-r--r-- | arch/sh/kernel/ptrace_32.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/return_address.c | 3 | ||||
| -rw-r--r-- | arch/sh/kernel/smp.c | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/vsyscall/vsyscall.c | 1 | 
14 files changed, 35 insertions, 17 deletions
diff --git a/arch/sh/kernel/cpu/fpu.c b/arch/sh/kernel/cpu/fpu.c index f059ed62cf5..7f1b70cace3 100644 --- a/arch/sh/kernel/cpu/fpu.c +++ b/arch/sh/kernel/cpu/fpu.c @@ -1,4 +1,5 @@  #include <linux/sched.h> +#include <linux/slab.h>  #include <asm/processor.h>  #include <asm/fpu.h> diff --git a/arch/sh/kernel/cpu/hwblk.c b/arch/sh/kernel/cpu/hwblk.c index c0ad7d46e78..67a1e811cfe 100644 --- a/arch/sh/kernel/cpu/hwblk.c +++ b/arch/sh/kernel/cpu/hwblk.c @@ -1,6 +1,5 @@  #include <linux/clk.h>  #include <linux/compiler.h> -#include <linux/slab.h>  #include <linux/io.h>  #include <linux/spinlock.h>  #include <asm/suspend.h> diff --git a/arch/sh/kernel/cpufreq.c b/arch/sh/kernel/cpufreq.c index dce4f3ff093..0fffacea6ed 100644 --- a/arch/sh/kernel/cpufreq.c +++ b/arch/sh/kernel/cpufreq.c @@ -48,7 +48,7 @@ static int sh_cpufreq_target(struct cpufreq_policy *policy,  		return -ENODEV;  	cpus_allowed = current->cpus_allowed; -	set_cpus_allowed(current, cpumask_of_cpu(cpu)); +	set_cpus_allowed_ptr(current, cpumask_of(cpu));  	BUG_ON(smp_processor_id() != cpu); @@ -66,7 +66,7 @@ static int sh_cpufreq_target(struct cpufreq_policy *policy,  	freqs.flags	= 0;  	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); -	set_cpus_allowed(current, cpus_allowed); +	set_cpus_allowed_ptr(current, &cpus_allowed);  	clk_set_rate(cpuclk, freq);  	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c index bd1c497280a..a8234b2010d 100644 --- a/arch/sh/kernel/dwarf.c +++ b/arch/sh/kernel/dwarf.c @@ -22,6 +22,7 @@  #include <linux/mm.h>  #include <linux/elf.h>  #include <linux/ftrace.h> +#include <linux/slab.h>  #include <asm/dwarf.h>  #include <asm/unwinder.h>  #include <asm/sections.h> @@ -727,7 +728,7 @@ static int dwarf_parse_cie(void *entry, void *p, unsigned long len,  			   unsigned char *end, struct module *mod)  {  	struct rb_node **rb_node = &cie_root.rb_node; -	struct rb_node *parent; +	struct rb_node *parent = *rb_node;  	struct dwarf_cie *cie;  	unsigned long flags;  	int count; @@ -856,7 +857,7 @@ static int dwarf_parse_fde(void *entry, u32 entry_type,  			   unsigned char *end, struct module *mod)  {  	struct rb_node **rb_node = &fde_root.rb_node; -	struct rb_node *parent; +	struct rb_node *parent = *rb_node;  	struct dwarf_fde *fde;  	struct dwarf_cie *cie;  	unsigned long flags; diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c index 0fd7b41f0a2..273f890b17a 100644 --- a/arch/sh/kernel/idle.c +++ b/arch/sh/kernel/idle.c @@ -112,7 +112,7 @@ void cpu_idle(void)  	}  } -void __cpuinit select_idle_routine(void) +void __init select_idle_routine(void)  {  	/*  	 * If a platform has set its own idle routine, leave it alone. diff --git a/arch/sh/kernel/kprobes.c b/arch/sh/kernel/kprobes.c index c96850b061f..4049d99f76e 100644 --- a/arch/sh/kernel/kprobes.c +++ b/arch/sh/kernel/kprobes.c @@ -13,6 +13,7 @@  #include <linux/ptrace.h>  #include <linux/preempt.h>  #include <linux/kdebug.h> +#include <linux/slab.h>  #include <asm/cacheflush.h>  #include <asm/uaccess.h> diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c index 7ff0943e7a0..81b6de41ae5 100644 --- a/arch/sh/kernel/perf_event.c +++ b/arch/sh/kernel/perf_event.c @@ -275,13 +275,30 @@ const struct pmu *hw_perf_event_init(struct perf_event *event)  	return &pmu;  } -void hw_perf_event_setup(int cpu) +static void sh_pmu_setup(int cpu)  {  	struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu);  	memset(cpuhw, 0, sizeof(struct cpu_hw_events));  } +static int __cpuinit +sh_pmu_notifier(struct notifier_block *self, unsigned long action, void *hcpu) +{ +	unsigned int cpu = (long)hcpu; + +	switch (action & ~CPU_TASKS_FROZEN) { +	case CPU_UP_PREPARE: +		sh_pmu_setup(cpu); +		break; + +	default: +		break; +	} + +	return NOTIFY_OK; +} +  void hw_perf_enable(void)  {  	if (!sh_pmu_initialized()) @@ -298,7 +315,7 @@ void hw_perf_disable(void)  	sh_pmu->disable_all();  } -int register_sh_pmu(struct sh_pmu *pmu) +int __cpuinit register_sh_pmu(struct sh_pmu *pmu)  {  	if (sh_pmu)  		return -EBUSY; @@ -308,5 +325,6 @@ int register_sh_pmu(struct sh_pmu *pmu)  	WARN_ON(pmu->num_events > MAX_HWEVENTS); +	perf_cpu_notifier(sh_pmu_notifier);  	return 0;  } diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 81add9b9ea6..17f89aa4e1b 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -1,5 +1,6 @@  #include <linux/mm.h>  #include <linux/kernel.h> +#include <linux/slab.h>  #include <linux/sched.h>  struct kmem_cache *task_xstate_cachep = NULL; diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index 3cb88f114d7..052981972ae 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c @@ -15,6 +15,7 @@   */  #include <linux/module.h>  #include <linux/mm.h> +#include <linux/slab.h>  #include <linux/elfcore.h>  #include <linux/kallsyms.h>  #include <linux/fs.h> diff --git a/arch/sh/kernel/process_64.c b/arch/sh/kernel/process_64.c index c90957a459a..d4ca6480e35 100644 --- a/arch/sh/kernel/process_64.c +++ b/arch/sh/kernel/process_64.c @@ -21,6 +21,7 @@  #include <linux/fs.h>  #include <linux/ptrace.h>  #include <linux/reboot.h> +#include <linux/slab.h>  #include <linux/init.h>  #include <linux/module.h>  #include <linux/io.h> @@ -504,13 +505,6 @@ out:  	return error;  } -/* - * These bracket the sleeping functions.. - */ -extern void interruptible_sleep_on(wait_queue_head_t *q); - -#define mid_sched	((unsigned long) interruptible_sleep_on) -  #ifdef CONFIG_FRAME_POINTER  static int in_sh64_switch_to(unsigned long pc)  { diff --git a/arch/sh/kernel/ptrace_32.c b/arch/sh/kernel/ptrace_32.c index c625cdab76d..7759a9a9321 100644 --- a/arch/sh/kernel/ptrace_32.c +++ b/arch/sh/kernel/ptrace_32.c @@ -17,7 +17,6 @@  #include <linux/errno.h>  #include <linux/ptrace.h>  #include <linux/user.h> -#include <linux/slab.h>  #include <linux/security.h>  #include <linux/signal.h>  #include <linux/io.h> diff --git a/arch/sh/kernel/return_address.c b/arch/sh/kernel/return_address.c index df3ab581107..cbf1dd5372b 100644 --- a/arch/sh/kernel/return_address.c +++ b/arch/sh/kernel/return_address.c @@ -9,6 +9,7 @@   * for more details.   */  #include <linux/kernel.h> +#include <linux/module.h>  #include <asm/dwarf.h>  #ifdef CONFIG_DWARF_UNWINDER @@ -52,3 +53,5 @@ void *return_address(unsigned int depth)  }  #endif + +EXPORT_SYMBOL_GPL(return_address); diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index e124cf7008d..002cc612dee 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c @@ -69,6 +69,7 @@ asmlinkage void __cpuinit start_secondary(void)  	unsigned int cpu;  	struct mm_struct *mm = &init_mm; +	enable_mmu();  	atomic_inc(&mm->mm_count);  	atomic_inc(&mm->mm_users);  	current->active_mm = mm; diff --git a/arch/sh/kernel/vsyscall/vsyscall.c b/arch/sh/kernel/vsyscall/vsyscall.c index 3f7e415be86..242117cbad6 100644 --- a/arch/sh/kernel/vsyscall/vsyscall.c +++ b/arch/sh/kernel/vsyscall/vsyscall.c @@ -11,7 +11,6 @@   * for more details.   */  #include <linux/mm.h> -#include <linux/slab.h>  #include <linux/kernel.h>  #include <linux/init.h>  #include <linux/gfp.h>  |