Skip to content

Commit

Permalink
sparc32: fix sparse warnings in auxio_32.c
Browse files Browse the repository at this point in the history
Fix following warnings:
auxio_32.c:23:14: warning: symbol 'auxio_register' was not declared. Should it be static?
auxio_32.c:26:13: warning: symbol 'auxio_probe' was not declared. Should it be static?
auxio_32.c:108:13: warning: symbol 'auxio_power_probe' was not declared. Should it be static?

Add proper decalarations for the above.

The leaves one sparse warning:
auxio_32.c:130:33: warning: cast removes address space of expression

This is here:
    auxio_power_register = (unsigned char *) of_ioremap()

This is __iomem that is removed from return value of of_ioremap()
The pointer is later used without any helpers in process_32.c:
    *auxio_power_register |= AUXIO_POWER_OFF;

It would be simple to introduce a few sbus() helpers.
But as I was not sure this was correct the warning are left as-is.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sam Ravnborg authored and David S. Miller committed Apr 29, 2014
1 parent 3731e19 commit a3ee8fa
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 8 deletions.
7 changes: 7 additions & 0 deletions arch/sparc/include/asm/auxio.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
#ifndef ___ASM_SPARC_AUXIO_H
#define ___ASM_SPARC_AUXIO_H

#ifndef __ASSEMBLY__

extern void __iomem *auxio_register;

#endif /* ifndef __ASSEMBLY__ */

#if defined(__sparc__) && defined(__arch64__)
#include <asm/auxio_64.h>
#else
Expand Down
2 changes: 0 additions & 2 deletions arch/sparc/include/asm/auxio_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@

#ifndef __ASSEMBLY__

extern void __iomem *auxio_register;

#define AUXIO_LTE_ON 1
#define AUXIO_LTE_OFF 0

Expand Down
3 changes: 3 additions & 0 deletions arch/sparc/kernel/auxio_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,15 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/export.h>

#include <asm/oplib.h>
#include <asm/io.h>
#include <asm/auxio.h>
#include <asm/string.h> /* memset(), Linux has no bzero() */
#include <asm/cpu_type.h>

#include "kernel.h"

/* Probe and map in the Auxiliary I/O register */

/* auxio_register is not static because it is referenced
Expand Down
8 changes: 2 additions & 6 deletions arch/sparc/kernel/devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,7 @@ void __init device_scan(void)
}
#endif /* !CONFIG_SMP */

{
extern void auxio_probe(void);
extern void auxio_power_probe(void);
auxio_probe();
auxio_power_probe();
}
auxio_probe();
auxio_power_probe();
clock_stop_probe();
}
4 changes: 4 additions & 0 deletions arch/sparc/kernel/kernel.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ void try_to_clear_window_buffer(struct pt_regs *regs, int who);
/* tadpole.c */
void __init clock_stop_probe(void);

/* auxio_32.c */
void __init auxio_probe(void);
void __init auxio_power_probe(void);

#else /* CONFIG_SPARC32 */
#endif /* CONFIG_SPARC32 */
#endif /* !(__SPARC_KERNEL_H) */

0 comments on commit a3ee8fa

Please sign in to comment.