Hi Derek, [auto build test ERROR on staging/staging-testing] [also build test ERROR on v4.10-rc6 next-20170203] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Derek-Robson/Drivers-staging-speakup-spk_priv-h-style-fix/20170204-080247 config: x86_64-allyesdebian (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): In file included from drivers/staging/speakup/speakup_acntsa.c:22:0: drivers/staging/speakup/spk_priv.h: In function 'synth_request_region': >> drivers/staging/speakup/spk_priv.h:69:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int' int synth_add(struct spk_synth *in_synth); ^~~ >> drivers/staging/speakup/spk_priv.h:72:30: error: storage class specified for parameter 'speakup_info' extern struct speakup_info_t speakup_info; ^~~~~~~~~~~~ >> drivers/staging/speakup/spk_priv.h:74:21: error: storage class specified for parameter 'synth_time_vars' extern struct var_t synth_time_vars[]; ^~~~~~~~~~~~~~~ In file included from drivers/staging/speakup/speakup.h:5:0, from drivers/staging/speakup/speakup_acntsa.c:23: >> drivers/staging/speakup/i18n.h:5:1: warning: empty declaration enum msg_index_t { ^~~~ drivers/staging/speakup/i18n.h:221:1: warning: empty declaration struct msg_group_t { ^~~~~~ In file included from drivers/staging/speakup/speakup_acntsa.c:23:0: >> drivers/staging/speakup/speakup.h:66:21: error: storage class specified for parameter 'spk_special_handler' extern special_func spk_special_handler; ^~~~~~~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:84:24: error: storage class specified for parameter 'spk_sel_cons' extern struct vc_data *spk_sel_cons; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:85:23: error: storage class specified for parameter 'spk_xs' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:85:31: error: storage class specified for parameter 'spk_ys' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:85:39: error: storage class specified for parameter 'spk_xe' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:85:47: error: storage class specified for parameter 'spk_ye' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:87:26: error: storage class specified for parameter 'speakup_event' extern wait_queue_head_t speakup_event; ^~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:88:24: error: storage class specified for parameter 'speakup_kobj' extern struct kobject *speakup_kobj; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:89:28: error: storage class specified for parameter 'speakup_task' extern struct task_struct *speakup_task; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:90:21: error: storage class specified for parameter 'spk_key_defaults' extern const u_char spk_key_defaults[]; ^~~~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:93:21: error: storage class specified for parameter 'spk_mutex' extern struct mutex spk_mutex; ^~~~~~~~~ >> drivers/staging/speakup/speakup.h:94:25: error: storage class specified for parameter 'speakup_console' extern struct st_spk_t *speakup_console[]; ^~~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:95:26: error: storage class specified for parameter 'synth' extern struct spk_synth *synth; ^~~~~ >> drivers/staging/speakup/speakup.h:96:13: error: storage class specified for parameter 'spk_pitch_buff' extern char spk_pitch_buff[]; ^~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:97:16: error: storage class specified for parameter 'spk_our_keys' extern u_char *spk_our_keys[]; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:98:14: error: storage class specified for parameter 'spk_punc_masks' extern short spk_punc_masks[]; ^~~~~~~~~~~~~~ -- In file included from drivers/staging/speakup/speakup_apollo.c:26:0: drivers/staging/speakup/spk_priv.h: In function 'synth_request_region': >> drivers/staging/speakup/spk_priv.h:69:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int' int synth_add(struct spk_synth *in_synth); ^~~ >> drivers/staging/speakup/spk_priv.h:72:30: error: storage class specified for parameter 'speakup_info' extern struct speakup_info_t speakup_info; ^~~~~~~~~~~~ >> drivers/staging/speakup/spk_priv.h:74:21: error: storage class specified for parameter 'synth_time_vars' extern struct var_t synth_time_vars[]; ^~~~~~~~~~~~~~~ In file included from include/linux/serial.h:13:0, from drivers/staging/speakup/serialio.h:4, from drivers/staging/speakup/speakup_apollo.c:27: >> include/uapi/linux/serial.h:18:1: warning: empty declaration struct serial_struct { ^~~~~~ include/uapi/linux/serial.h:83:1: warning: empty declaration struct serial_multiport_struct { ^~~~~~ include/uapi/linux/serial.h:101:1: warning: empty declaration struct serial_icounter_struct { ^~~~~~ include/uapi/linux/serial.h:116:1: warning: empty declaration struct serial_rs485 { ^~~~~~ In file included from drivers/staging/speakup/serialio.h:4:0, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/serial.h:20:1: warning: empty declaration struct async_icount { ^~~~~~ In file included from include/linux/interrupt.h:10:0, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/irqreturn.h:10:1: warning: empty declaration enum irqreturn { ^~~~ >> include/linux/irqreturn.h:16:24: error: storage class specified for parameter 'irqreturn_t' typedef enum irqreturn irqreturn_t; ^~~~~~~~~~~ In file included from include/linux/interrupt.h:11:0, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/irqnr.h:7:12: error: storage class specified for parameter 'nr_irqs' extern int nr_irqs; ^~~~~~~ >> include/linux/irqnr.h:8:25: error: storage class specified for parameter 'irq_to_desc' extern struct irq_desc *irq_to_desc(unsigned int irq); ^~~~~~~~~~~ In file included from include/linux/hardirq.h:6:0, from include/linux/interrupt.h:12, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/ftrace_irq.h:9:48: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void arch_ftrace_nmi_enter(void) { } ^ include/linux/ftrace_irq.h:10:47: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void arch_ftrace_nmi_exit(void) { } ^ include/linux/ftrace_irq.h:19:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ include/linux/ftrace_irq.h:28:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ In file included from include/linux/vtime.h:4:0, from include/linux/hardirq.h:7, from include/linux/interrupt.h:12, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/context_tracking_state.h:7:1: warning: empty declaration struct context_tracking { ^~~~~~ >> include/linux/context_tracking_state.h:43:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline bool context_tracking_in_user(void) { return false; } ^ include/linux/context_tracking_state.h:44:50: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline bool context_tracking_active(void) { return false; } ^ include/linux/context_tracking_state.h:45:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline bool context_tracking_is_enabled(void) { return false; } ^ include/linux/context_tracking_state.h:46:58: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline bool context_tracking_cpu_is_enabled(void) { return false; } ^ In file included from include/linux/hardirq.h:7:0, from include/linux/interrupt.h:12, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/vtime.h:10:1: warning: empty declaration struct task_struct; ^~~~~~ >> include/linux/vtime.h:39:55: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline bool vtime_accounting_cpu_enabled(void) { return false; } ^ include/linux/vtime.h:65:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_task_switch(struct task_struct *prev) { } ^ include/linux/vtime.h:66:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_account_system(struct task_struct *tsk) { } ^ include/linux/vtime.h:67:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_account_user(struct task_struct *tsk) { } ^ include/linux/vtime.h:82:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_user_enter(struct task_struct *tsk) { } ^ include/linux/vtime.h:83:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_user_exit(struct task_struct *tsk) { } ^ include/linux/vtime.h:84:63: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_guest_enter(struct task_struct *tsk) { } ^ include/linux/vtime.h:85:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_guest_exit(struct task_struct *tsk) { } ^ include/linux/vtime.h:86:70: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_init_idle(struct task_struct *tsk, int cpu) { } ^ include/linux/vtime.h:97:69: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_account_irq_enter(struct task_struct *tsk) { } ^ include/linux/vtime.h:98:68: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void vtime_account_irq_exit(struct task_struct *tsk) { } ^ include/linux/vtime.h:105:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token static inline void irqtime_account_irq(struct task_struct *tsk) { } ^ include/linux/vtime.h:109:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ include/linux/vtime.h:115:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ In file included from include/linux/irq.h:18:0, from arch/x86/include/asm/hardirq.h:5, from include/linux/hardirq.h:8, from include/linux/interrupt.h:12, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> include/linux/irqhandler.h:9:1: warning: empty declaration struct irq_desc; ^~~~~~ include/linux/irqhandler.h:10:1: warning: empty declaration struct irq_data; ^~~~~~ >> include/linux/irqhandler.h:11:16: error: storage class specified for parameter 'irq_flow_handler_t' typedef void (*irq_flow_handler_t)(struct irq_desc *desc); ^~~~~~~~~~~~~~~~~~ >> include/linux/irqhandler.h:12:16: error: storage class specified for parameter 'irq_preflow_handler_t' typedef void (*irq_preflow_handler_t)(struct irq_data *data); ^~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/irq.h:26:0, from arch/x86/include/asm/hardirq.h:5, from include/linux/hardirq.h:8, from include/linux/interrupt.h:12, from include/linux/serial_core.h:25, from drivers/staging/speakup/serialio.h:9, from drivers/staging/speakup/speakup_apollo.c:27: >> arch/x86/include/asm/irq.h:14:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ >> arch/x86/include/asm/irq.h:26:1: warning: empty declaration struct irq_desc; ^~~~~~ >> arch/x86/include/asm/irq.h:30:12: error: storage class specified for parameter 'check_irq_vectors_for_cpu_disable' extern int check_irq_vectors_for_cpu_disable(void); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- In file included from drivers/staging/speakup/speakup_audptr.c:21:0: drivers/staging/speakup/spk_priv.h: In function 'synth_request_region': >> drivers/staging/speakup/spk_priv.h:69:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int' int synth_add(struct spk_synth *in_synth); ^~~ >> drivers/staging/speakup/spk_priv.h:72:30: error: storage class specified for parameter 'speakup_info' extern struct speakup_info_t speakup_info; ^~~~~~~~~~~~ >> drivers/staging/speakup/spk_priv.h:74:21: error: storage class specified for parameter 'synth_time_vars' extern struct var_t synth_time_vars[]; ^~~~~~~~~~~~~~~ In file included from drivers/staging/speakup/speakup.h:5:0, from drivers/staging/speakup/speakup_audptr.c:22: >> drivers/staging/speakup/i18n.h:5:1: warning: empty declaration enum msg_index_t { ^~~~ drivers/staging/speakup/i18n.h:221:1: warning: empty declaration struct msg_group_t { ^~~~~~ In file included from drivers/staging/speakup/speakup_audptr.c:22:0: >> drivers/staging/speakup/speakup.h:66:21: error: storage class specified for parameter 'spk_special_handler' extern special_func spk_special_handler; ^~~~~~~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:84:24: error: storage class specified for parameter 'spk_sel_cons' extern struct vc_data *spk_sel_cons; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:85:23: error: storage class specified for parameter 'spk_xs' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:85:31: error: storage class specified for parameter 'spk_ys' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:85:39: error: storage class specified for parameter 'spk_xe' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:85:47: error: storage class specified for parameter 'spk_ye' extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */ ^~~~~~ >> drivers/staging/speakup/speakup.h:87:26: error: storage class specified for parameter 'speakup_event' extern wait_queue_head_t speakup_event; ^~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:88:24: error: storage class specified for parameter 'speakup_kobj' extern struct kobject *speakup_kobj; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:89:28: error: storage class specified for parameter 'speakup_task' extern struct task_struct *speakup_task; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:90:21: error: storage class specified for parameter 'spk_key_defaults' extern const u_char spk_key_defaults[]; ^~~~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:93:21: error: storage class specified for parameter 'spk_mutex' extern struct mutex spk_mutex; ^~~~~~~~~ >> drivers/staging/speakup/speakup.h:94:25: error: storage class specified for parameter 'speakup_console' extern struct st_spk_t *speakup_console[]; ^~~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:95:26: error: storage class specified for parameter 'synth' extern struct spk_synth *synth; ^~~~~ >> drivers/staging/speakup/speakup.h:96:13: error: storage class specified for parameter 'spk_pitch_buff' extern char spk_pitch_buff[]; ^~~~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:97:16: error: storage class specified for parameter 'spk_our_keys' extern u_char *spk_our_keys[]; ^~~~~~~~~~~~ >> drivers/staging/speakup/speakup.h:98:14: error: storage class specified for parameter 'spk_punc_masks' extern short spk_punc_masks[]; ^~~~~~~~~~~~~~ .. vim +69 drivers/staging/speakup/spk_priv.h c6e3fd22 William Hubbs 2010-10-07 24 #include "spk_priv_keyinfo.h" c6e3fd22 William Hubbs 2010-10-07 25 c6e3fd22 William Hubbs 2010-10-07 26 #ifndef pr_warn c6e3fd22 William Hubbs 2010-10-07 27 #define pr_warn(fmt, arg...) printk(KERN_WARNING fmt, ##arg) c6e3fd22 William Hubbs 2010-10-07 28 #endif c6e3fd22 William Hubbs 2010-10-07 29 c6e3fd22 William Hubbs 2010-10-07 @30 #define V_LAST_VAR { MAXVARS } c6e3fd22 William Hubbs 2010-10-07 31 #define SPACE 0x20 c6e3fd22 William Hubbs 2010-10-07 32 #define SYNTH_CHECK 20030716 /* today's date ought to do for check value */ c6e3fd22 William Hubbs 2010-10-07 33 /* synth flags, for odd synths */ c6e3fd22 William Hubbs 2010-10-07 34 #define SF_DEC 1 /* to fiddle puncs in alpha strings so it doesn't spell */ c6e3fd22 William Hubbs 2010-10-07 35 #ifdef MODULE c6e3fd22 William Hubbs 2010-10-07 36 #define SYNTH_START 1 c6e3fd22 William Hubbs 2010-10-07 37 #else c6e3fd22 William Hubbs 2010-10-07 38 #define SYNTH_START 0 c6e3fd22 William Hubbs 2010-10-07 39 #endif c6e3fd22 William Hubbs 2010-10-07 40 c6e3fd22 William Hubbs 2010-10-07 41 #define KT_SPKUP 15 c6e3fd22 William Hubbs 2010-10-07 42 13d932f7 Katie Dunne 2015-02-26 43 const struct old_serial_port *spk_serial_init(int index); 13d932f7 Katie Dunne 2015-02-26 44 void spk_stop_serial_interrupt(void); 13d932f7 Katie Dunne 2015-02-26 45 int spk_wait_for_xmitr(void); 13d932f7 Katie Dunne 2015-02-26 46 unsigned char spk_serial_in(void); 13d932f7 Katie Dunne 2015-02-26 47 unsigned char spk_serial_in_nowait(void); 13d932f7 Katie Dunne 2015-02-26 48 int spk_serial_out(const char ch); 13d932f7 Katie Dunne 2015-02-26 49 void spk_serial_release(void); c6e3fd22 William Hubbs 2010-10-07 50 13d932f7 Katie Dunne 2015-02-26 51 char synth_buffer_getc(void); 13d932f7 Katie Dunne 2015-02-26 52 char synth_buffer_peek(void); 13d932f7 Katie Dunne 2015-02-26 53 int synth_buffer_empty(void); 13d932f7 Katie Dunne 2015-02-26 54 struct var_t *spk_get_var(enum var_id_t var_id); 13d932f7 Katie Dunne 2015-02-26 55 ssize_t spk_var_show(struct kobject *kobj, struct kobj_attribute *attr, c6e3fd22 William Hubbs 2010-10-07 56 char *buf); 13d932f7 Katie Dunne 2015-02-26 57 ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr, c6e3fd22 William Hubbs 2010-10-07 58 const char *buf, size_t count); c6e3fd22 William Hubbs 2010-10-07 59 13d932f7 Katie Dunne 2015-02-26 60 int spk_serial_synth_probe(struct spk_synth *synth); 13d932f7 Katie Dunne 2015-02-26 61 const char *spk_synth_immediate(struct spk_synth *synth, const char *buff); 13d932f7 Katie Dunne 2015-02-26 62 void spk_do_catch_up(struct spk_synth *synth); 13d932f7 Katie Dunne 2015-02-26 63 void spk_synth_flush(struct spk_synth *synth); 13d932f7 Katie Dunne 2015-02-26 64 int spk_synth_is_alive_nop(struct spk_synth *synth); 13d932f7 Katie Dunne 2015-02-26 65 int spk_synth_is_alive_restart(struct spk_synth *synth); 13d932f7 Katie Dunne 2015-02-26 66 void synth_printf(const char *buf, ...); 68db8938 Derek Robson 2017-02-04 @67 int synth_request_region(unsigned long start, unsigned long n) 68db8938 Derek Robson 2017-02-04 68 int synth_release_region(unsigned long start, unsigned long n) 13d932f7 Katie Dunne 2015-02-26 @69 int synth_add(struct spk_synth *in_synth); 13d932f7 Katie Dunne 2015-02-26 70 void synth_remove(struct spk_synth *in_synth); c6e3fd22 William Hubbs 2010-10-07 71 c6e3fd22 William Hubbs 2010-10-07 @72 extern struct speakup_info_t speakup_info; c6e3fd22 William Hubbs 2010-10-07 73 c6e3fd22 William Hubbs 2010-10-07 @74 extern struct var_t synth_time_vars[]; c6e3fd22 William Hubbs 2010-10-07 75 c6e3fd22 William Hubbs 2010-10-07 76 #endif :::::: The code at line 69 was first introduced by commit :::::: 13d932f79cea6b59b9a18a54c2e776d88799654d Staging: speakup: Remove 'extern' keywords from .h prototypes :::::: TO: Katie Dunne <kdunne@xxxxxxxxxxxxx> :::::: CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip
_______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel