提交 91b152aa 编写于 作者: J Jason Wessel

kdb,kgdb: fix sparse fixups

Fix the following sparse warnings:

kdb_main.c:328:5: warning: symbol 'kdbgetu64arg' was not declared. Should it be static?
kgdboc.c:246:12: warning: symbol 'kgdboc_early_init' was not declared. Should it be static?
kgdb.c:652:26: warning: incorrect type in argument 1 (different address spaces)
kgdb.c:652:26:    expected void const *ptr
kgdb.c:652:26:    got struct perf_event *[noderef] <asn:3>*pev

The one in kgdb.c required the (void * __force) because of the return
code from register_wide_hw_breakpoint looking like:

        return (void __percpu __force *)ERR_PTR(err);
Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
上级 75d14ede
...@@ -649,7 +649,7 @@ void kgdb_arch_late(void) ...@@ -649,7 +649,7 @@ void kgdb_arch_late(void)
if (breakinfo[i].pev) if (breakinfo[i].pev)
continue; continue;
breakinfo[i].pev = register_wide_hw_breakpoint(&attr, NULL); breakinfo[i].pev = register_wide_hw_breakpoint(&attr, NULL);
if (IS_ERR(breakinfo[i].pev)) { if (IS_ERR((void * __force)breakinfo[i].pev)) {
printk(KERN_ERR "kgdb: Could not allocate hw" printk(KERN_ERR "kgdb: Could not allocate hw"
"breakpoints\nDisabling the kernel debugger\n"); "breakpoints\nDisabling the kernel debugger\n");
breakinfo[i].pev = NULL; breakinfo[i].pev = NULL;
......
...@@ -243,7 +243,7 @@ static struct kgdb_io kgdboc_io_ops = { ...@@ -243,7 +243,7 @@ static struct kgdb_io kgdboc_io_ops = {
#ifdef CONFIG_KGDB_SERIAL_CONSOLE #ifdef CONFIG_KGDB_SERIAL_CONSOLE
/* This is only available if kgdboc is a built in for early debugging */ /* This is only available if kgdboc is a built in for early debugging */
int __init kgdboc_early_init(char *opt) static int __init kgdboc_early_init(char *opt)
{ {
/* save the first character of the config string because the /* save the first character of the config string because the
* init routine can destroy it. * init routine can destroy it.
......
...@@ -139,6 +139,14 @@ int kdb_process_cpu(const struct task_struct *p) ...@@ -139,6 +139,14 @@ int kdb_process_cpu(const struct task_struct *p)
/* kdb access to register set for stack dumping */ /* kdb access to register set for stack dumping */
extern struct pt_regs *kdb_current_regs; extern struct pt_regs *kdb_current_regs;
#ifdef CONFIG_KALLSYMS
extern const char *kdb_walk_kallsyms(loff_t *pos);
#else /* ! CONFIG_KALLSYMS */
static inline const char *kdb_walk_kallsyms(loff_t *pos)
{
return NULL;
}
#endif /* ! CONFIG_KALLSYMS */
/* Dynamic kdb shell command registration */ /* Dynamic kdb shell command registration */
extern int kdb_register(char *, kdb_func_t, char *, char *, short); extern int kdb_register(char *, kdb_func_t, char *, char *, short);
......
...@@ -105,6 +105,7 @@ extern int kdb_getword(unsigned long *, unsigned long, size_t); ...@@ -105,6 +105,7 @@ extern int kdb_getword(unsigned long *, unsigned long, size_t);
extern int kdb_putword(unsigned long, unsigned long, size_t); extern int kdb_putword(unsigned long, unsigned long, size_t);
extern int kdbgetularg(const char *, unsigned long *); extern int kdbgetularg(const char *, unsigned long *);
extern int kdbgetu64arg(const char *, u64 *);
extern char *kdbgetenv(const char *); extern char *kdbgetenv(const char *);
extern int kdbgetaddrarg(int, const char **, int*, unsigned long *, extern int kdbgetaddrarg(int, const char **, int*, unsigned long *,
long *, char **); long *, char **);
...@@ -216,14 +217,6 @@ extern void kdb_ps1(const struct task_struct *p); ...@@ -216,14 +217,6 @@ extern void kdb_ps1(const struct task_struct *p);
extern void kdb_print_nameval(const char *name, unsigned long val); extern void kdb_print_nameval(const char *name, unsigned long val);
extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info); extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info);
extern void kdb_meminfo_proc_show(void); extern void kdb_meminfo_proc_show(void);
#ifdef CONFIG_KALLSYMS
extern const char *kdb_walk_kallsyms(loff_t *pos);
#else /* ! CONFIG_KALLSYMS */
static inline const char *kdb_walk_kallsyms(loff_t *pos)
{
return NULL;
}
#endif /* ! CONFIG_KALLSYMS */
extern char *kdb_getstr(char *, size_t, char *); extern char *kdb_getstr(char *, size_t, char *);
/* Defines for kdb_symbol_print */ /* Defines for kdb_symbol_print */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册