OSDN Git Service

staging: dgnc: Constify ktermios structure
authorGargi Sharma <gs051095@gmail.com>
Sun, 5 Mar 2017 09:51:44 +0000 (15:21 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 7 Mar 2017 06:37:01 +0000 (07:37 +0100)
The ktermios structure is a local default termios struct. All ports
are initially created with this termios. Since, the structure is
never modified, it can be declared as const.

Coccinelle Script:
@r disable optional_qualifier@
identifier s,i;
position p;
@@
static struct ktermios i@p = { ... };

@ok1@
identifier r.i;
expression e;
position p;
@@
e = i@p

@bad@
position p != {r.p,ok1.p};
identifier r.i;
@@
e@i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
struct ktermios i = { ... };

File Size before:

text data   bss   dec    hex   filename
25469 2048   256   27773  6c7d  drivers/staging/dgnc/dgnc_tty.o

File Size after:

text data bss dec hex filename
25636 2016 256 27908 6d04 drivers/staging/dgnc/dgnc_tty.o

Signed-off-by: Gargi Sharma <gs051095@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/dgnc/dgnc_tty.c

index c3b8fc5..cde00e3 100644 (file)
@@ -58,7 +58,7 @@ static const struct digi_t dgnc_digi_init = {
  * This defines a raw port at 9600 baud, 8 data bits, no parity,
  * 1 stop bit.
  */
-static struct ktermios default_termios = {
+static const struct ktermios default_termios = {
        .c_iflag =      (DEFAULT_IFLAGS),       /* iflags */
        .c_oflag =      (DEFAULT_OFLAGS),       /* oflags */
        .c_cflag =      (DEFAULT_CFLAGS),       /* cflags */