[PATCH] uml: mostly const a structure
authorJeff Dike <jdike@addtoit.com>
Sat, 10 Feb 2007 09:44:06 +0000 (01:44 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 11 Feb 2007 18:51:22 +0000 (10:51 -0800)
The chan_opts structure is mostly const, and needs no locking.  Comment the
lack of locking on the one field that can change.

Make all the other fields const.  It turned out that console_open_chan didn't
use its chan_opts argument, so that is deleted from the function and its
callers.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/drivers/chan_kern.c
arch/um/drivers/ssl.c
arch/um/drivers/stdio_console.c
arch/um/include/chan_kern.h
arch/um/include/chan_user.h

index bce9b3427b0916fda3fd4f585bc8b3b5e3741688..7b8baf146accc411487cb3c098db8825f0b56759 100644 (file)
@@ -354,8 +354,7 @@ int console_write_chan(struct list_head *chans, const char *buf, int len)
        return ret;
 }
 
-int console_open_chan(struct line *line, struct console *co,
-                     const struct chan_opts *opts)
+int console_open_chan(struct line *line, struct console *co)
 {
        int err;
 
@@ -363,7 +362,7 @@ int console_open_chan(struct line *line, struct console *co,
        if(err)
                return err;
 
-       printk("Console initialized on /dev/%s%d\n",co->name,co->index);
+       printk("Console initialized on /dev/%s%d\n", co->name, co->index);
        return 0;
 }
 
index fe400acc97515794bca75da605aecdd42f76c000..475de52783e4cbcd854ede1399410b7b5594caa9 100644 (file)
@@ -38,6 +38,7 @@ static void ssl_announce(char *dev_name, int dev)
               dev_name);
 }
 
+/* Almost const, except that xterm_title may be changed in an initcall */
 static struct chan_opts opts = {
        .announce       = ssl_announce,
        .xterm_title    = "Serial Line #%d",
@@ -171,7 +172,7 @@ static int ssl_console_setup(struct console *co, char *options)
 {
        struct line *line = &serial_lines[co->index];
 
-       return console_open_chan(line, co, &opts);
+       return console_open_chan(line, co);
 }
 
 static struct console ssl_cons = {
index 0b1bca4980496aee6720a003c8650626d0fced96..a83c42c263b3ef7ce4b7038ebdacddec8960fcef 100644 (file)
@@ -42,6 +42,7 @@ void stdio_announce(char *dev_name, int dev)
               dev_name);
 }
 
+/* Almost const, except that xterm_title may be changed in an initcall */
 static struct chan_opts opts = {
        .announce       = stdio_announce,
        .xterm_title    = "Virtual Console #%d",
@@ -144,7 +145,7 @@ static int uml_console_setup(struct console *co, char *options)
 {
        struct line *line = &vts[co->index];
 
-       return console_open_chan(line, co, &opts);
+       return console_open_chan(line, co);
 }
 
 static struct console stdiocons = {
index 2d9aa7ef4c27d5db7eb40a759848e9cc9a42129e..c4b41bb1035f6f8ef10a193b92bea717650711fc 100644 (file)
@@ -36,8 +36,7 @@ extern int write_chan(struct list_head *chans, const char *buf, int len,
                             int write_irq);
 extern int console_write_chan(struct list_head *chans, const char *buf, 
                              int len);
-extern int console_open_chan(struct line *line, struct console *co,
-                            const struct chan_opts *opts);
+extern int console_open_chan(struct line *line, struct console *co);
 extern void deactivate_chan(struct list_head *chans, int irq);
 extern void reactivate_chan(struct list_head *chans, int irq);
 extern void chan_enable_winch(struct list_head *chans, struct tty_struct *tty);
index a795547a1dbdb5217563457761bd0f13c2a557e4..ad671eb9edeb3b835381fc439061ad6a17b86b14 100644 (file)
@@ -9,11 +9,11 @@
 #include "init.h"
 
 struct chan_opts {
-       void (*announce)(char *dev_name, int dev);
+       void (*const announce)(char *dev_name, int dev);
        char *xterm_title;
-       int raw;
-       unsigned long tramp_stack;
-       int in_kernel;
+       const int raw;
+       const unsigned long tramp_stack;
+       const int in_kernel;
 };
 
 enum chan_init_pri { INIT_STATIC, INIT_ALL, INIT_ONE };