summaryrefslogtreecommitdiff
path: root/arch/sparc/kernel/leon_kernel.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-04-29 01:12:34 -0400
committerDavid S. Miller <davem@davemloft.net>2014-04-29 01:12:34 -0400
commit8cf749a8f506b06ebbf090709d64e81af519184b (patch)
tree60a8018b846b55899be18adf0592adc10f7d4367 /arch/sparc/kernel/leon_kernel.c
parent2aafe1a4d451866e3e7b476e2fa0813b69b313c1 (diff)
parent1bbc90607762de736f58d48714710735c0c34848 (diff)
Merge branch 'sparc32-sparse'
Sam Ravnborg says: ==================== sparse warning fixes in arch/sparc/ The following patch-set address a lot of sparse warnings in the sparc32 specific parts of arch/sparc/. A few sparc64 bits are touched too when code are shared. Within arch/sparc/mm/ only two warnings remains. These are related to the return value of of_ioremap() which is __iomem. Within arch/sparc/kernel/ only three files now produces sparse warnings: sys_sparc_32.c time_32.c auxio_32.c The fixes was not obvious so the warnings was left for now. When looking at tadpole.c I was left with the impression that most of the code was actually unused - but for now I added a "TODO". This is made on top of 3.15-rc2. This set replaces the two sets sent the last days. V2: - Do not add extern in front of prototypes. - Tidy up a few changelongs There are still sparse warnings left that are easy to address. But this fixes the majority. ====================
Diffstat (limited to 'arch/sparc/kernel/leon_kernel.c')
-rw-r--r--arch/sparc/kernel/leon_kernel.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c
index b7c68976cbc7..d9397088893a 100644
--- a/arch/sparc/kernel/leon_kernel.c
+++ b/arch/sparc/kernel/leon_kernel.c
@@ -32,12 +32,12 @@ struct leon3_gptimer_regs_map *leon3_gptimer_regs; /* timer controller base addr
int leondebug_irq_disable;
int leon_debug_irqout;
-static int dummy_master_l10_counter;
+static volatile unsigned int dummy_master_l10_counter;
unsigned long amba_system_id;
static DEFINE_SPINLOCK(leon_irq_lock);
+static unsigned long leon3_gptimer_idx; /* Timer Index (0..6) within Timer Core */
unsigned long leon3_gptimer_irq; /* interrupt controller irq number */
-unsigned long leon3_gptimer_idx; /* Timer Index (0..6) within Timer Core */
unsigned int sparc_leon_eirq;
#define LEON_IMASK(cpu) (&leon3_irqctrl_regs->mask[cpu])
#define LEON_IACK (&leon3_irqctrl_regs->iclear)
@@ -65,7 +65,7 @@ static void leon_handle_ext_irq(unsigned int irq, struct irq_desc *desc)
}
/* The extended IRQ controller has been found, this function registers it */
-void leon_eirq_setup(unsigned int eirq)
+static void leon_eirq_setup(unsigned int eirq)
{
unsigned long mask, oldmask;
unsigned int veirq;
@@ -270,7 +270,7 @@ static u32 leon_cycles_offset(void)
#ifdef CONFIG_SMP
/* smp clockevent irq */
-irqreturn_t leon_percpu_timer_ce_interrupt(int irq, void *unused)
+static irqreturn_t leon_percpu_timer_ce_interrupt(int irq, void *unused)
{
struct clock_event_device *ce;
int cpu = smp_processor_id();
@@ -313,7 +313,8 @@ void __init leon_init_timers(void)
leondebug_irq_disable = 0;
leon_debug_irqout = 0;
- master_l10_counter = (unsigned int *)&dummy_master_l10_counter;
+ master_l10_counter =
+ (unsigned int __iomem *)&dummy_master_l10_counter;
dummy_master_l10_counter = 0;
rootnp = of_find_node_by_path("/ambapp0");