sparc32: fix sparse warnings in sun4m_irq.c and sun4d_irq.c
PATCH 7/29 sparc32: fix sparse warnings in sun4m_irq.c and sun4d_irq.c
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 <[email protected]>
--- arch/sparc/include/asm/timer_32.h | 2 +- arch/sparc/kernel/irq.h | 3 +++ arch/sparc/kernel/leon_kernel.c | 5 +++-- arch/sparc/kernel/time_32.c | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-)
arch/sparc/include/asm/timer_32.h +1 -1
@@ -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);
arch/sparc/kernel/irq.h +3 -0
@@ -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 */
arch/sparc/kernel/leon_kernel.c +2 -2
@@ -32,7 +32,7 @@ struct leon3_gptimer_regs_map *leon3_gptimer_regs; /* timer controller base addrint 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" );
arch/sparc/kernel/time_32.c +1 -1
@@ -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) {
Signature · 1 line
1.8.3.1