summaryrefslogtreecommitdiffstats
path: root/kernel/arch/sh/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/sh/kernel')
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4/sq.c3
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4a/clock-sh7724.c2
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4a/clock-sh7734.c3
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4a/clock-sh7757.c4
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4a/clock-sh7785.c4
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4a/clock-sh7786.c4
-rw-r--r--kernel/arch/sh/kernel/cpu/sh4a/clock-shx3.c4
-rw-r--r--kernel/arch/sh/kernel/cpu/sh5/unwind.c2
-rw-r--r--kernel/arch/sh/kernel/irq.c9
-rw-r--r--kernel/arch/sh/kernel/localtimer.c6
-rw-r--r--kernel/arch/sh/kernel/perf_event.c2
-rw-r--r--kernel/arch/sh/kernel/traps_64.c2
12 files changed, 19 insertions, 26 deletions
diff --git a/kernel/arch/sh/kernel/cpu/sh4/sq.c b/kernel/arch/sh/kernel/cpu/sh4/sq.c
index 0a47bd3e7..4ca78ed71 100644
--- a/kernel/arch/sh/kernel/cpu/sh4/sq.c
+++ b/kernel/arch/sh/kernel/cpu/sh4/sq.c
@@ -355,13 +355,12 @@ static int sq_dev_add(struct device *dev, struct subsys_interface *sif)
return error;
}
-static int sq_dev_remove(struct device *dev, struct subsys_interface *sif)
+static void sq_dev_remove(struct device *dev, struct subsys_interface *sif)
{
unsigned int cpu = dev->id;
struct kobject *kobj = sq_kobject[cpu];
kobject_put(kobj);
- return 0;
}
static struct subsys_interface sq_interface = {
diff --git a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7724.c b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7724.c
index c187b9579..f27c618de 100644
--- a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7724.c
+++ b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7724.c
@@ -343,7 +343,7 @@ static struct clk_lookup lookups[] = {
CLKDEV_CON_ID("2ddmac0", &mstp_clks[HWBLK_2DDMAC]),
CLKDEV_DEV_ID("sh_fsi.0", &mstp_clks[HWBLK_SPU]),
CLKDEV_CON_ID("jpu0", &mstp_clks[HWBLK_JPU]),
- CLKDEV_DEV_ID("sh-vou.0", &mstp_clks[HWBLK_VOU]),
+ CLKDEV_DEV_ID("sh-vou", &mstp_clks[HWBLK_VOU]),
CLKDEV_CON_ID("beu0", &mstp_clks[HWBLK_BEU0]),
CLKDEV_DEV_ID("sh_mobile_ceu.0", &mstp_clks[HWBLK_CEU0]),
CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU0]),
diff --git a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7734.c b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7734.c
index 1fdf1ee67..7f54bf2f4 100644
--- a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7734.c
+++ b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7734.c
@@ -246,8 +246,7 @@ int __init arch_clk_init(void)
for (i = 0; i < ARRAY_SIZE(main_clks); i++)
ret |= clk_register(main_clks[i]);
- for (i = 0; i < ARRAY_SIZE(lookups); i++)
- clkdev_add(&lookups[i]);
+ clkdev_add_table(lookups, ARRAY_SIZE(lookups));
if (!ret)
ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),
diff --git a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7757.c b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7757.c
index 9a28fdb36..e40ec2c97 100644
--- a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7757.c
+++ b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7757.c
@@ -141,8 +141,8 @@ int __init arch_clk_init(void)
for (i = 0; i < ARRAY_SIZE(clks); i++)
ret |= clk_register(clks[i]);
- for (i = 0; i < ARRAY_SIZE(lookups); i++)
- clkdev_add(&lookups[i]);
+
+ clkdev_add_table(lookups, ARRAY_SIZE(lookups));
if (!ret)
ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),
diff --git a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7785.c b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7785.c
index 17d0ea55a..8eb6e6234 100644
--- a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7785.c
+++ b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7785.c
@@ -164,8 +164,8 @@ int __init arch_clk_init(void)
for (i = 0; i < ARRAY_SIZE(clks); i++)
ret |= clk_register(clks[i]);
- for (i = 0; i < ARRAY_SIZE(lookups); i++)
- clkdev_add(&lookups[i]);
+
+ clkdev_add_table(lookups, ARRAY_SIZE(lookups));
if (!ret)
ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),
diff --git a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7786.c b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7786.c
index bec2a83f1..5e50e7ebe 100644
--- a/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7786.c
+++ b/kernel/arch/sh/kernel/cpu/sh4a/clock-sh7786.c
@@ -179,8 +179,8 @@ int __init arch_clk_init(void)
for (i = 0; i < ARRAY_SIZE(clks); i++)
ret |= clk_register(clks[i]);
- for (i = 0; i < ARRAY_SIZE(lookups); i++)
- clkdev_add(&lookups[i]);
+
+ clkdev_add_table(lookups, ARRAY_SIZE(lookups));
if (!ret)
ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),
diff --git a/kernel/arch/sh/kernel/cpu/sh4a/clock-shx3.c b/kernel/arch/sh/kernel/cpu/sh4a/clock-shx3.c
index 9a49a44f6..605221d14 100644
--- a/kernel/arch/sh/kernel/cpu/sh4a/clock-shx3.c
+++ b/kernel/arch/sh/kernel/cpu/sh4a/clock-shx3.c
@@ -138,8 +138,8 @@ int __init arch_clk_init(void)
for (i = 0; i < ARRAY_SIZE(clks); i++)
ret |= clk_register(clks[i]);
- for (i = 0; i < ARRAY_SIZE(lookups); i++)
- clkdev_add(&lookups[i]);
+
+ clkdev_add_table(lookups, ARRAY_SIZE(lookups));
if (!ret)
ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),
diff --git a/kernel/arch/sh/kernel/cpu/sh5/unwind.c b/kernel/arch/sh/kernel/cpu/sh5/unwind.c
index 10aed4175..3a4fed406 100644
--- a/kernel/arch/sh/kernel/cpu/sh5/unwind.c
+++ b/kernel/arch/sh/kernel/cpu/sh5/unwind.c
@@ -159,7 +159,7 @@ static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc,
/* Sign extend */
regcache[dest] =
- ((((s64)(u64)op >> 10) & 0xffff) << 54) >> 54;
+ sign_extend64((((u64)op >> 10) & 0xffff), 9);
break;
case (0xd0 >> 2): /* addi */
case (0xd4 >> 2): /* addi.l */
diff --git a/kernel/arch/sh/kernel/irq.c b/kernel/arch/sh/kernel/irq.c
index 6fe8089e6..abd58b4df 100644
--- a/kernel/arch/sh/kernel/irq.c
+++ b/kernel/arch/sh/kernel/irq.c
@@ -229,16 +229,17 @@ void migrate_irqs(void)
for_each_active_irq(irq) {
struct irq_data *data = irq_get_irq_data(irq);
- if (data->node == cpu) {
- unsigned int newcpu = cpumask_any_and(data->affinity,
+ if (irq_data_get_node(data) == cpu) {
+ struct cpumask *mask = irq_data_get_affinity_mask(data);
+ unsigned int newcpu = cpumask_any_and(mask,
cpu_online_mask);
if (newcpu >= nr_cpu_ids) {
pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n",
irq, cpu);
- cpumask_setall(data->affinity);
+ cpumask_setall(mask);
}
- irq_set_affinity(irq, data->affinity);
+ irq_set_affinity(irq, mask);
}
}
}
diff --git a/kernel/arch/sh/kernel/localtimer.c b/kernel/arch/sh/kernel/localtimer.c
index b880a7e2a..cbb7d4636 100644
--- a/kernel/arch/sh/kernel/localtimer.c
+++ b/kernel/arch/sh/kernel/localtimer.c
@@ -39,11 +39,6 @@ void local_timer_interrupt(void)
irq_exit();
}
-static void dummy_timer_set_mode(enum clock_event_mode mode,
- struct clock_event_device *clk)
-{
-}
-
void local_timer_setup(unsigned int cpu)
{
struct clock_event_device *clk = &per_cpu(local_clockevent, cpu);
@@ -54,7 +49,6 @@ void local_timer_setup(unsigned int cpu)
CLOCK_EVT_FEAT_DUMMY;
clk->rating = 400;
clk->mult = 1;
- clk->set_mode = dummy_timer_set_mode;
clk->broadcast = smp_timer_broadcast;
clk->cpumask = cpumask_of(cpu);
diff --git a/kernel/arch/sh/kernel/perf_event.c b/kernel/arch/sh/kernel/perf_event.c
index 7cfd7f153..4dca18347 100644
--- a/kernel/arch/sh/kernel/perf_event.c
+++ b/kernel/arch/sh/kernel/perf_event.c
@@ -10,7 +10,7 @@
* Copyright (C) 2008-2009 Red Hat, Inc., Ingo Molnar
* Copyright (C) 2009 Jaswinder Singh Rajput
* Copyright (C) 2009 Advanced Micro Devices, Inc., Robert Richter
- * Copyright (C) 2008-2009 Red Hat, Inc., Peter Zijlstra <pzijlstr@redhat.com>
+ * Copyright (C) 2008-2009 Red Hat, Inc., Peter Zijlstra
* Copyright (C) 2009 Intel Corporation, <markus.t.metzger@intel.com>
*
* ppc:
diff --git a/kernel/arch/sh/kernel/traps_64.c b/kernel/arch/sh/kernel/traps_64.c
index 112ea11c0..d208c27cc 100644
--- a/kernel/arch/sh/kernel/traps_64.c
+++ b/kernel/arch/sh/kernel/traps_64.c
@@ -101,7 +101,7 @@ static int generate_and_check_address(struct pt_regs *regs,
if (displacement_not_indexed) {
__s64 displacement;
displacement = (opcode >> 10) & 0x3ff;
- displacement = ((displacement << 54) >> 54); /* sign extend */
+ displacement = sign_extend64(displacement, 9);
addr = (__u64)((__s64)base_address + (displacement << width_shift));
} else {
__u64 offset;