From: Jiri Slaby - do not init .bss zeroed data to zero again (by memset or explicit assignment) - use char [] instead of char * for string constants Signed-off-by: Jiri Slaby Cc: Alan Cox Cc: Akinobu Mita Signed-off-by: Andrew Morton --- drivers/char/ip2/ip2main.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff -puN drivers/char/ip2/ip2main.c~char-ip2-cleanup-globals drivers/char/ip2/ip2main.c --- a/drivers/char/ip2/ip2main.c~char-ip2-cleanup-globals +++ a/drivers/char/ip2/ip2main.c @@ -150,12 +150,12 @@ static int ip2_read_proc(char *, char ** /*************/ /* String constants to identify ourselves */ -static char *pcName = "Computone IntelliPort Plus multiport driver"; -static char *pcVersion = "1.2.14"; +static const char pcName[] = "Computone IntelliPort Plus multiport driver"; +static const char pcVersion[] = "1.2.14"; /* String constants for port names */ -static char *pcDriver_name = "ip2"; -static char *pcIpl = "ip2ipl"; +static const char pcDriver_name[] = "ip2"; +static const char pcIpl[] = "ip2ipl"; /***********************/ /* Function Prototypes */ @@ -237,8 +237,8 @@ static const struct file_operations ip2_ .open = ip2_ipl_open, }; -static unsigned long irq_counter = 0; -static unsigned long bh_counter = 0; +static unsigned long irq_counter; +static unsigned long bh_counter; // Use immediate queue to service interrupts #define USE_IQI @@ -286,7 +286,7 @@ MODULE_AUTHOR("Doug McNash"); MODULE_DESCRIPTION("Computone IntelliPort Plus Driver"); MODULE_LICENSE("GPL"); -static int poll_only = 0; +static int poll_only; static int Eisa_irq; static int Eisa_slot; @@ -615,10 +615,6 @@ static int ip2_loadmain(void) /* Initialise the iiEllis subsystem. */ iiEllisInit(); - /* Initialize arrays. */ - memset( i2BoardPtrTable, 0, sizeof i2BoardPtrTable ); - memset( DevTable, 0, sizeof DevTable ); - /* Initialise all the boards we can find (up to the maximum). */ for ( i = 0; i < IP2_MAX_BOARDS; ++i ) { switch ( ip2config.addr[i] ) { _