Re: [PATCH] Drivers: staging: speakup: spk_priv.h - style fix

From: kbuild test robot
Date: Fri Feb 03 2017 - 21:56:43 EST


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