sparc32: fix sparse warnings in sun4m_irq.c and sun4d_irq.c
authorSam Ravnborg <sam@ravnborg.org>
Mon, 21 Apr 2014 19:39:22 +0000 (21:39 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Apr 2014 05:12:25 +0000 (01:12 -0400)
Fix following warnings:

sun4m_irq.c:308:6: warning: symbol 'sun4m_nmi' was not declared. Should it be static?
sun4m_irq.c:396:28: warning: incorrect type in assignment (different address spaces)
sun4m_irq.c:396:28:    expected unsigned int volatile *extern [addressable] [toplevel] master_l10_counter
sun4d_irq.c:469:28: warning: incorrect type in assignment (different address spaces)
sun4d_irq.c:469:28:    expected unsigned int volatile *extern [addressable] [toplevel] master_l10_counter

master_l10_counter is a pointer to __iomem - add annotations.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/timer_32.h
arch/sparc/kernel/irq.h
arch/sparc/kernel/leon_kernel.c
arch/sparc/kernel/time_32.c

index 72f40a546de35e73086f7ecb270cd27fdf7f6b7a..93476f8d7fea423a8bedb28f34cba1d9bb0c9cf7 100644 (file)
@@ -32,7 +32,7 @@ static inline unsigned int timer_value(unsigned int value)
        return (value + 1) << TIMER_VALUE_SHIFT;
 }
 
-extern __volatile__ unsigned int *master_l10_counter;
+extern volatile unsigned int __iomem *master_l10_counter;
 
 extern irqreturn_t notrace timer_interrupt(int dummy, void *dev_id);
 
index b66b6aad1d6d7f1444b6e482a5ad89afce107473..97c07dead26bf44faf98d51ee67bad5b180eef18 100644 (file)
@@ -82,6 +82,9 @@ void handler_irq(unsigned int pil, struct pt_regs *regs);
 
 unsigned long leon_get_irqmask(unsigned int irq);
 
+/* sun4m_irq.c */
+void sun4m_nmi(struct pt_regs *regs);
+
 #ifdef CONFIG_SMP
 
 /* All SUN4D IPIs are sent on this IRQ, may be shared with hard IRQs */
index b7c68976cbc7568360dfde49044f70a4aac9ffb7..b9a2599e3a3a1ffe9c3fafb1ae3063fe27149726 100644 (file)
@@ -32,7 +32,7 @@ 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);
 
@@ -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");
index c4c27b0f9063d74f2a2d6dd8963b3753354976ba..772b37986a9cc45af7d058c31a18eaee77c8ad44 100644 (file)
@@ -83,7 +83,7 @@ unsigned long profile_pc(struct pt_regs *regs)
 
 EXPORT_SYMBOL(profile_pc);
 
-__volatile__ unsigned int *master_l10_counter;
+volatile unsigned int __iomem *master_l10_counter;
 
 int update_persistent_clock(struct timespec now)
 {