+ uml-const-more-data.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     uml: const more data

has been added to the -mm tree.  Its filename is

     uml-const-more-data.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: uml: const more data
From: Jeff Dike <jdike@xxxxxxxxxxx>

Make lots of structures const in order to make it obvious that they need no
locking.

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/um/drivers/chan_kern.c              |   16 ++++++++--------
 arch/um/drivers/daemon.h                 |    2 +-
 arch/um/drivers/daemon_kern.c            |    2 +-
 arch/um/drivers/daemon_user.c            |    2 +-
 arch/um/drivers/fd.c                     |    4 ++--
 arch/um/drivers/hostaudio_kern.c         |    4 ++--
 arch/um/drivers/line.c                   |    6 +++---
 arch/um/drivers/mcast.h                  |    2 +-
 arch/um/drivers/mcast_kern.c             |    2 +-
 arch/um/drivers/mcast_user.c             |    2 +-
 arch/um/drivers/mmapper_kern.c           |    4 ++--
 arch/um/drivers/null.c                   |    4 ++--
 arch/um/drivers/pcap_kern.c              |    2 +-
 arch/um/drivers/pcap_user.c              |    2 +-
 arch/um/drivers/port_user.c              |    4 ++--
 arch/um/drivers/pty.c                    |    6 +++---
 arch/um/drivers/random.c                 |    2 +-
 arch/um/drivers/slip.h                   |    2 +-
 arch/um/drivers/slip_kern.c              |    2 +-
 arch/um/drivers/slip_user.c              |    2 +-
 arch/um/drivers/slirp.h                  |    2 +-
 arch/um/drivers/slirp_kern.c             |    2 +-
 arch/um/drivers/slirp_user.c             |    2 +-
 arch/um/drivers/ssl.c                    |    4 ++--
 arch/um/drivers/stdio_console.c          |    2 +-
 arch/um/drivers/tty.c                    |    4 ++--
 arch/um/drivers/xterm.c                  |    4 ++--
 arch/um/include/chan_kern.h              |    6 +++---
 arch/um/include/chan_user.h              |    6 +++---
 arch/um/include/kern_util.h              |    2 +-
 arch/um/include/line.h                   |    4 ++--
 arch/um/include/net_kern.h               |    4 ++--
 arch/um/kernel/trap.c                    |    2 +-
 arch/um/kernel/um_arch.c                 |    2 +-
 arch/um/os-Linux/drivers/etap.h          |    2 +-
 arch/um/os-Linux/drivers/ethertap_kern.c |    2 +-
 arch/um/os-Linux/drivers/ethertap_user.c |    2 +-
 arch/um/os-Linux/drivers/tuntap.h        |    2 +-
 arch/um/os-Linux/drivers/tuntap_kern.c   |    2 +-
 arch/um/os-Linux/drivers/tuntap_user.c   |    2 +-
 40 files changed, 65 insertions(+), 65 deletions(-)

diff -puN arch/um/drivers/chan_kern.c~uml-const-more-data arch/um/drivers/chan_kern.c
--- a/arch/um/drivers/chan_kern.c~uml-const-more-data
+++ a/arch/um/drivers/chan_kern.c
@@ -110,7 +110,7 @@ static void not_configged_free(void *dat
 	       "UML\n");
 }
 
-static struct chan_ops not_configged_ops = {
+static const struct chan_ops not_configged_ops = {
 	.init		= not_configged_init,
 	.open		= not_configged_open,
 	.close		= not_configged_close,
@@ -373,7 +373,7 @@ int console_write_chan(struct list_head 
 }
 
 int console_open_chan(struct line *line, struct console *co,
-		      struct chan_opts *opts)
+		      const struct chan_opts *opts)
 {
 	int err;
 
@@ -494,10 +494,10 @@ int chan_config_string(struct list_head 
 
 struct chan_type {
 	char *key;
-	struct chan_ops *ops;
+	const struct chan_ops *ops;
 };
 
-static struct chan_type chan_table[] = {
+static const struct chan_type chan_table[] = {
 	{ "fd", &fd_ops },
 
 #ifdef CONFIG_NULL_CHAN
@@ -534,10 +534,10 @@ static struct chan_type chan_table[] = {
 };
 
 static struct chan *parse_chan(struct line *line, char *str, int device,
-			       struct chan_opts *opts)
+			       const struct chan_opts *opts)
 {
-	struct chan_type *entry;
-	struct chan_ops *ops;
+	const struct chan_type *entry;
+	const struct chan_ops *ops;
 	struct chan *chan;
 	void *data;
 	int i;
@@ -582,7 +582,7 @@ static struct chan *parse_chan(struct li
 }
 
 int parse_chan_pair(char *str, struct line *line, int device,
-		    struct chan_opts *opts)
+		    const struct chan_opts *opts)
 {
 	struct list_head *chans = &line->chan_list;
 	struct chan *new, *chan;
diff -puN arch/um/drivers/daemon.h~uml-const-more-data arch/um/drivers/daemon.h
--- a/arch/um/drivers/daemon.h~uml-const-more-data
+++ a/arch/um/drivers/daemon.h
@@ -18,7 +18,7 @@ struct daemon_data {
 	void *dev;
 };
 
-extern struct net_user_info daemon_user_info;
+extern const struct net_user_info daemon_user_info;
 
 extern int daemon_user_write(int fd, void *buf, int len, 
 			     struct daemon_data *pri);
diff -puN arch/um/drivers/daemon_kern.c~uml-const-more-data arch/um/drivers/daemon_kern.c
--- a/arch/um/drivers/daemon_kern.c~uml-const-more-data
+++ a/arch/um/drivers/daemon_kern.c
@@ -57,7 +57,7 @@ static int daemon_write(int fd, struct s
 				 (struct daemon_data *) &lp->user));
 }
 
-static struct net_kern_info daemon_kern_info = {
+static const struct net_kern_info daemon_kern_info = {
 	.init			= daemon_init,
 	.protocol		= eth_protocol,
 	.read			= daemon_read,
diff -puN arch/um/drivers/daemon_user.c~uml-const-more-data arch/um/drivers/daemon_user.c
--- a/arch/um/drivers/daemon_user.c~uml-const-more-data
+++ a/arch/um/drivers/daemon_user.c
@@ -182,7 +182,7 @@ static int daemon_set_mtu(int mtu, void 
 	return(mtu);
 }
 
-struct net_user_info daemon_user_info = {
+const struct net_user_info daemon_user_info = {
 	.init		= daemon_user_init,
 	.open		= daemon_open,
 	.close	 	= NULL,
diff -puN arch/um/drivers/fd.c~uml-const-more-data arch/um/drivers/fd.c
--- a/arch/um/drivers/fd.c~uml-const-more-data
+++ a/arch/um/drivers/fd.c
@@ -20,7 +20,7 @@ struct fd_chan {
 	char str[sizeof("1234567890\0")];
 };
 
-static void *fd_init(char *str, int device, struct chan_opts *opts)
+static void *fd_init(char *str, int device, const struct chan_opts *opts)
 {
 	struct fd_chan *data;
 	char *end;
@@ -77,7 +77,7 @@ static void fd_close(int fd, void *d)
 	}
 }
 
-struct chan_ops fd_ops = {
+const struct chan_ops fd_ops = {
 	.type		= "fd",
 	.init		= fd_init,
 	.open		= fd_open,
diff -puN arch/um/drivers/hostaudio_kern.c~uml-const-more-data arch/um/drivers/hostaudio_kern.c
--- a/arch/um/drivers/hostaudio_kern.c~uml-const-more-data
+++ a/arch/um/drivers/hostaudio_kern.c
@@ -280,7 +280,7 @@ static int hostmixer_release(struct inod
 
 /* kernel module operations */
 
-static struct file_operations hostaudio_fops = {
+static const struct file_operations hostaudio_fops = {
         .owner          = THIS_MODULE,
         .llseek         = no_llseek,
         .read           = hostaudio_read,
@@ -292,7 +292,7 @@ static struct file_operations hostaudio_
         .release        = hostaudio_release,
 };
 
-static struct file_operations hostmixer_fops = {
+static const struct file_operations hostmixer_fops = {
         .owner          = THIS_MODULE,
         .llseek         = no_llseek,
         .ioctl          = hostmixer_ioctl_mixdev,
diff -puN arch/um/drivers/line.c~uml-const-more-data arch/um/drivers/line.c
--- a/arch/um/drivers/line.c~uml-const-more-data
+++ a/arch/um/drivers/line.c
@@ -251,7 +251,7 @@ void line_set_termios(struct tty_struct 
 	/* nothing */
 }
 
-static struct {
+static const struct {
 	int  cmd;
 	char *level;
 	char *name;
@@ -405,7 +405,7 @@ static irqreturn_t line_write_interrupt(
 
 int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
 {
-	struct line_driver *driver = line->driver;
+	const struct line_driver *driver = line->driver;
 	int err = 0, flags = IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM;
 
 	if (input)
@@ -558,7 +558,7 @@ int line_setup(struct line *lines, unsig
 }
 
 int line_config(struct line *lines, unsigned int num, char *str,
-		struct chan_opts *opts)
+		const struct chan_opts *opts)
 {
 	struct line *line;
 	char *new;
diff -puN arch/um/drivers/mcast.h~uml-const-more-data arch/um/drivers/mcast.h
--- a/arch/um/drivers/mcast.h~uml-const-more-data
+++ a/arch/um/drivers/mcast.h
@@ -13,7 +13,7 @@ struct mcast_data {
 	void *dev;
 };
 
-extern struct net_user_info mcast_user_info;
+extern const struct net_user_info mcast_user_info;
 
 extern int mcast_user_write(int fd, void *buf, int len, 
 			    struct mcast_data *pri);
diff -puN arch/um/drivers/mcast_kern.c~uml-const-more-data arch/um/drivers/mcast_kern.c
--- a/arch/um/drivers/mcast_kern.c~uml-const-more-data
+++ a/arch/um/drivers/mcast_kern.c
@@ -61,7 +61,7 @@ static int mcast_write(int fd, struct sk
 				 (struct mcast_data *) &lp->user);
 }
 
-static struct net_kern_info mcast_kern_info = {
+static const struct net_kern_info mcast_kern_info = {
 	.init			= mcast_init,
 	.protocol		= eth_protocol,
 	.read			= mcast_read,
diff -puN arch/um/drivers/mcast_user.c~uml-const-more-data arch/um/drivers/mcast_user.c
--- a/arch/um/drivers/mcast_user.c~uml-const-more-data
+++ a/arch/um/drivers/mcast_user.c
@@ -152,7 +152,7 @@ static int mcast_set_mtu(int mtu, void *
 	return(mtu);
 }
 
-struct net_user_info mcast_user_info = {
+const struct net_user_info mcast_user_info = {
 	.init		= mcast_user_init,
 	.open		= mcast_open,
 	.close	 	= mcast_close,
diff -puN arch/um/drivers/mmapper_kern.c~uml-const-more-data arch/um/drivers/mmapper_kern.c
--- a/arch/um/drivers/mmapper_kern.c~uml-const-more-data
+++ a/arch/um/drivers/mmapper_kern.c
@@ -85,7 +85,7 @@ mmapper_release(struct inode *inode, str
 	return 0;
 }
 
-static struct file_operations mmapper_fops = {
+static const struct file_operations mmapper_fops = {
 	.owner		= THIS_MODULE,
 	.read		= mmapper_read,
 	.write		= mmapper_write,
@@ -95,7 +95,7 @@ static struct file_operations mmapper_fo
 	.release	= mmapper_release,
 };
 
-static struct miscdevice mmapper_dev = {
+static const struct miscdevice mmapper_dev = {
 	.minor		= MISC_DYNAMIC_MINOR,
 	.name		= "mmapper",
 	.fops		= &mmapper_fops
diff -puN arch/um/drivers/null.c~uml-const-more-data arch/um/drivers/null.c
--- a/arch/um/drivers/null.c~uml-const-more-data
+++ a/arch/um/drivers/null.c
@@ -10,7 +10,7 @@
 
 static int null_chan;
 
-static void *null_init(char *str, int device, struct chan_opts *opts)
+static void *null_init(char *str, int device, const struct chan_opts *opts)
 {
 	return(&null_chan);
 }
@@ -31,7 +31,7 @@ static void null_free(void *data)
 {
 }
 
-struct chan_ops null_ops = {
+const struct chan_ops null_ops = {
 	.type		= "null",
 	.init		= null_init,
 	.open		= null_open,
diff -puN arch/um/drivers/pcap_kern.c~uml-const-more-data arch/um/drivers/pcap_kern.c
--- a/arch/um/drivers/pcap_kern.c~uml-const-more-data
+++ a/arch/um/drivers/pcap_kern.c
@@ -46,7 +46,7 @@ static int pcap_write(int fd, struct sk_
 	return(-EPERM);
 }
 
-static struct net_kern_info pcap_kern_info = {
+static const struct net_kern_info pcap_kern_info = {
 	.init			= pcap_init,
 	.protocol		= eth_protocol,
 	.read			= pcap_read,
diff -puN arch/um/drivers/pcap_user.c~uml-const-more-data arch/um/drivers/pcap_user.c
--- a/arch/um/drivers/pcap_user.c~uml-const-more-data
+++ a/arch/um/drivers/pcap_user.c
@@ -120,7 +120,7 @@ int pcap_user_read(int fd, void *buffer,
 	return(hdata.len);
 }
 
-struct net_user_info pcap_user_info = {
+const struct net_user_info pcap_user_info = {
 	.init		= pcap_user_init,
 	.open		= pcap_open,
 	.close	 	= NULL,
diff -puN arch/um/drivers/port_user.c~uml-const-more-data arch/um/drivers/port_user.c
--- a/arch/um/drivers/port_user.c~uml-const-more-data
+++ a/arch/um/drivers/port_user.c
@@ -27,7 +27,7 @@ struct port_chan {
 	char dev[sizeof("32768\0")];
 };
 
-static void *port_init(char *str, int device, struct chan_opts *opts)
+static void *port_init(char *str, int device, const struct chan_opts *opts)
 {
 	struct port_chan *data;
 	void *kern_data;
@@ -100,7 +100,7 @@ static void port_close(int fd, void *d)
 	os_close_file(fd);
 }
 
-struct chan_ops port_ops = {
+const struct chan_ops port_ops = {
 	.type		= "port",
 	.init		= port_init,
 	.open		= port_open,
diff -puN arch/um/drivers/pty.c~uml-const-more-data arch/um/drivers/pty.c
--- a/arch/um/drivers/pty.c~uml-const-more-data
+++ a/arch/um/drivers/pty.c
@@ -22,7 +22,7 @@ struct pty_chan {
 	char dev_name[sizeof("/dev/pts/0123456\0")];
 };
 
-static void *pty_chan_init(char *str, int device, struct chan_opts *opts)
+static void *pty_chan_init(char *str, int device, const struct chan_opts *opts)
 {
 	struct pty_chan *data;
 
@@ -118,7 +118,7 @@ static int pty_open(int input, int outpu
 	return(fd);
 }
 
-struct chan_ops pty_ops = {
+const struct chan_ops pty_ops = {
 	.type		= "pty",
 	.init		= pty_chan_init,
 	.open		= pty_open,
@@ -131,7 +131,7 @@ struct chan_ops pty_ops = {
 	.winch		= 0,
 };
 
-struct chan_ops pts_ops = {
+const struct chan_ops pts_ops = {
 	.type		= "pts",
 	.init		= pty_chan_init,
 	.open		= pts_open,
diff -puN arch/um/drivers/random.c~uml-const-more-data arch/um/drivers/random.c
--- a/arch/um/drivers/random.c~uml-const-more-data
+++ a/arch/um/drivers/random.c
@@ -68,7 +68,7 @@ static ssize_t rng_dev_read (struct file
 	return ret;
 }
 
-static struct file_operations rng_chrdev_ops = {
+static const struct file_operations rng_chrdev_ops = {
 	.owner		= THIS_MODULE,
 	.open		= rng_dev_open,
 	.read		= rng_dev_read,
diff -puN arch/um/drivers/slip.h~uml-const-more-data arch/um/drivers/slip.h
--- a/arch/um/drivers/slip.h~uml-const-more-data
+++ a/arch/um/drivers/slip.h
@@ -12,7 +12,7 @@ struct slip_data {
 	struct slip_proto slip;
 };
 
-extern struct net_user_info slip_user_info;
+extern const struct net_user_info slip_user_info;
 
 extern int slip_user_read(int fd, void *buf, int len, struct slip_data *pri);
 extern int slip_user_write(int fd, void *buf, int len, struct slip_data *pri);
diff -puN arch/um/drivers/slip_kern.c~uml-const-more-data arch/um/drivers/slip_kern.c
--- a/arch/um/drivers/slip_kern.c~uml-const-more-data
+++ a/arch/um/drivers/slip_kern.c
@@ -61,7 +61,7 @@ static int slip_write(int fd, struct sk_
 			       (struct slip_data *) &lp->user));
 }
 
-struct net_kern_info slip_kern_info = {
+const struct net_kern_info slip_kern_info = {
 	.init			= slip_init,
 	.protocol		= slip_protocol,
 	.read			= slip_read,
diff -puN arch/um/drivers/slip_user.c~uml-const-more-data arch/um/drivers/slip_user.c
--- a/arch/um/drivers/slip_user.c~uml-const-more-data
+++ a/arch/um/drivers/slip_user.c
@@ -241,7 +241,7 @@ static void slip_del_addr(unsigned char 
 	close_addr(addr, netmask, pri->name);
 }
 
-struct net_user_info slip_user_info = {
+const struct net_user_info slip_user_info = {
 	.init		= slip_user_init,
 	.open		= slip_open,
 	.close	 	= slip_close,
diff -puN arch/um/drivers/slirp.h~uml-const-more-data arch/um/drivers/slirp.h
--- a/arch/um/drivers/slirp.h~uml-const-more-data
+++ a/arch/um/drivers/slirp.h
@@ -24,7 +24,7 @@ struct slirp_data {
 	struct slip_proto slip;
 };
 
-extern struct net_user_info slirp_user_info;
+extern const struct net_user_info slirp_user_info;
 
 extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri);
 extern int slirp_user_write(int fd, void *buf, int len,
diff -puN arch/um/drivers/slirp_kern.c~uml-const-more-data arch/um/drivers/slirp_kern.c
--- a/arch/um/drivers/slirp_kern.c~uml-const-more-data
+++ a/arch/um/drivers/slirp_kern.c
@@ -64,7 +64,7 @@ static int slirp_write(int fd, struct sk
 			       (struct slirp_data *) &lp->user));
 }
 
-struct net_kern_info slirp_kern_info = {
+const struct net_kern_info slirp_kern_info = {
 	.init			= slirp_init,
 	.protocol		= slirp_protocol,
 	.read			= slirp_read,
diff -puN arch/um/drivers/slirp_user.c~uml-const-more-data arch/um/drivers/slirp_user.c
--- a/arch/um/drivers/slirp_user.c~uml-const-more-data
+++ a/arch/um/drivers/slirp_user.c
@@ -126,7 +126,7 @@ static int slirp_set_mtu(int mtu, void *
 	return(mtu);
 }
 
-struct net_user_info slirp_user_info = {
+const struct net_user_info slirp_user_info = {
 	.init		= slirp_user_init,
 	.open		= slirp_open,
 	.close	 	= slirp_close,
diff -puN arch/um/drivers/ssl.c~uml-const-more-data arch/um/drivers/ssl.c
--- a/arch/um/drivers/ssl.c~uml-const-more-data
+++ a/arch/um/drivers/ssl.c
@@ -23,7 +23,7 @@
 #include "irq_user.h"
 #include "mconsole_kern.h"
 
-static int ssl_version = 1;
+static const int ssl_version = 1;
 
 /* Referenced only by tty_driver below - presumably it's locked correctly
  * by the tty driver.
@@ -123,7 +123,7 @@ void ssl_hangup(struct tty_struct *tty)
 }
 #endif
 
-static struct tty_operations ssl_ops = {
+static const struct tty_operations ssl_ops = {
 	.open 	 		= ssl_open,
 	.close 	 		= line_close,
 	.write 	 		= line_write,
diff -puN arch/um/drivers/stdio_console.c~uml-const-more-data arch/um/drivers/stdio_console.c
--- a/arch/um/drivers/stdio_console.c~uml-const-more-data
+++ a/arch/um/drivers/stdio_console.c
@@ -110,7 +110,7 @@ static int con_open(struct tty_struct *t
 
 static int con_init_done = 0;
 
-static struct tty_operations console_ops = {
+static const struct tty_operations console_ops = {
 	.open 	 		= con_open,
 	.close 	 		= line_close,
 	.write 	 		= line_write,
diff -puN arch/um/drivers/tty.c~uml-const-more-data arch/um/drivers/tty.c
--- a/arch/um/drivers/tty.c~uml-const-more-data
+++ a/arch/um/drivers/tty.c
@@ -18,7 +18,7 @@ struct tty_chan {
 	struct termios tt;
 };
 
-static void *tty_chan_init(char *str, int device, struct chan_opts *opts)
+static void *tty_chan_init(char *str, int device, const struct chan_opts *opts)
 {
 	struct tty_chan *data;
 
@@ -62,7 +62,7 @@ static int tty_open(int input, int outpu
 	return fd;
 }
 
-struct chan_ops tty_ops = {
+const struct chan_ops tty_ops = {
 	.type		= "tty",
 	.init		= tty_chan_init,
 	.open		= tty_open,
diff -puN arch/um/drivers/xterm.c~uml-const-more-data arch/um/drivers/xterm.c
--- a/arch/um/drivers/xterm.c~uml-const-more-data
+++ a/arch/um/drivers/xterm.c
@@ -31,7 +31,7 @@ struct xterm_chan {
 };
 
 /* Not static because it's called directly by the tt mode gdb code */
-void *xterm_init(char *str, int device, struct chan_opts *opts)
+void *xterm_init(char *str, int device, const struct chan_opts *opts)
 {
 	struct xterm_chan *data;
 
@@ -194,7 +194,7 @@ static void xterm_free(void *d)
 	free(d);
 }
 
-struct chan_ops xterm_ops = {
+const struct chan_ops xterm_ops = {
 	.type		= "xterm",
 	.init		= xterm_init,
 	.open		= xterm_open,
diff -puN arch/um/include/chan_kern.h~uml-const-more-data arch/um/include/chan_kern.h
--- a/arch/um/include/chan_kern.h~uml-const-more-data
+++ a/arch/um/include/chan_kern.h
@@ -23,21 +23,21 @@ struct chan {
 	unsigned int opened:1;
 	unsigned int enabled:1;
 	int fd;
-	struct chan_ops *ops;
+	const struct chan_ops *ops;
 	void *data;
 };
 
 extern void chan_interrupt(struct list_head *chans, struct work_struct *task,
 			   struct tty_struct *tty, int irq);
 extern int parse_chan_pair(char *str, struct line *line, int device,
-			   struct chan_opts *opts);
+			   const struct chan_opts *opts);
 extern int open_chan(struct list_head *chans);
 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,
-			     struct chan_opts *opts);
+			     const struct chan_opts *opts);
 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);
diff -puN arch/um/include/chan_user.h~uml-const-more-data arch/um/include/chan_user.h
--- a/arch/um/include/chan_user.h~uml-const-more-data
+++ a/arch/um/include/chan_user.h
@@ -20,7 +20,7 @@ enum chan_init_pri { INIT_STATIC, INIT_A
 
 struct chan_ops {
 	char *type;
-	void *(*init)(char *, int, struct chan_opts *);
+	void *(*init)(char *, int, const struct chan_opts *);
 	int (*open)(int, int, int, void *, char **);
 	void (*close)(int, void *);
 	int (*read)(int, char *, void *);
@@ -31,8 +31,8 @@ struct chan_ops {
 	int winch;
 };
 
-extern struct chan_ops fd_ops, null_ops, port_ops, pts_ops, pty_ops, tty_ops,
-	xterm_ops;
+extern const struct chan_ops fd_ops, null_ops, port_ops, pts_ops, pty_ops,
+	tty_ops, xterm_ops;
 
 extern void generic_close(int fd, void *unused);
 extern int generic_read(int fd, char *c_out, void *unused);
diff -puN arch/um/include/kern_util.h~uml-const-more-data arch/um/include/kern_util.h
--- a/arch/um/include/kern_util.h~uml-const-more-data
+++ a/arch/um/include/kern_util.h
@@ -21,7 +21,7 @@ struct kern_handlers {
 	kern_hndl timer_handler;
 };
 
-extern struct kern_handlers handlinfo_kern;
+extern const struct kern_handlers handlinfo_kern;
 
 extern int ncpus;
 extern char *linux_prog;
diff -puN arch/um/include/line.h~uml-const-more-data arch/um/include/line.h
--- a/arch/um/include/line.h~uml-const-more-data
+++ a/arch/um/include/line.h
@@ -52,7 +52,7 @@ struct line {
 
 	int sigio;
 	struct work_struct task;
-	struct line_driver *driver;
+	const struct line_driver *driver;
 	int have_irq;
 };
 
@@ -99,7 +99,7 @@ extern void lines_init(struct line *line
 extern void close_lines(struct line *lines, int nlines);
 
 extern int line_config(struct line *lines, unsigned int sizeof_lines,
-		       char *str, struct chan_opts *opts);
+		       char *str, const struct chan_opts *opts);
 extern int line_id(char **str, int *start_out, int *end_out);
 extern int line_remove(struct line *lines, unsigned int sizeof_lines, int n);
 extern int line_get_config(char *dev, struct line *lines,
diff -puN arch/um/include/net_kern.h~uml-const-more-data arch/um/include/net_kern.h
--- a/arch/um/include/net_kern.h~uml-const-more-data
+++ a/arch/um/include/net_kern.h
@@ -54,8 +54,8 @@ struct transport {
 	struct list_head list;
 	char *name;
 	int (*setup)(char *, char **, void *);
-	struct net_user_info *user;
-	struct net_kern_info *kern;
+	const struct net_user_info *user;
+	const struct net_kern_info *kern;
 	int private_size;
 	int setup_size;
 };
diff -puN arch/um/kernel/trap.c~uml-const-more-data arch/um/kernel/trap.c
--- a/arch/um/kernel/trap.c~uml-const-more-data
+++ a/arch/um/kernel/trap.c
@@ -140,7 +140,7 @@ void segv_handler(int sig, union uml_pt_
 	segv(*fi, UPT_IP(regs), UPT_IS_USER(regs), regs);
 }
 
-struct kern_handlers handlinfo_kern = {
+const struct kern_handlers handlinfo_kern = {
 	.relay_signal = relay_signal,
 	.winch = winch,
 	.bus_handler = relay_signal,
diff -puN arch/um/kernel/um_arch.c~uml-const-more-data arch/um/kernel/um_arch.c
--- a/arch/um/kernel/um_arch.c~uml-const-more-data
+++ a/arch/um/kernel/um_arch.c
@@ -106,7 +106,7 @@ static void c_stop(struct seq_file *m, v
 {
 }
 
-struct seq_operations cpuinfo_op = {
+const struct seq_operations cpuinfo_op = {
 	.start	= c_start,
 	.next	= c_next,
 	.stop	= c_stop,
diff -puN arch/um/os-Linux/drivers/etap.h~uml-const-more-data arch/um/os-Linux/drivers/etap.h
--- a/arch/um/os-Linux/drivers/etap.h~uml-const-more-data
+++ a/arch/um/os-Linux/drivers/etap.h
@@ -13,7 +13,7 @@ struct ethertap_data {
 	void *dev;
 };
 
-extern struct net_user_info ethertap_user_info;
+extern const struct net_user_info ethertap_user_info;
 
 /*
  * Overrides for Emacs so that we follow Linus's tabbing style.
diff -puN arch/um/os-Linux/drivers/ethertap_kern.c~uml-const-more-data arch/um/os-Linux/drivers/ethertap_kern.c
--- a/arch/um/os-Linux/drivers/ethertap_kern.c~uml-const-more-data
+++ a/arch/um/os-Linux/drivers/ethertap_kern.c
@@ -65,7 +65,7 @@ static int etap_write(int fd, struct sk_
 	return(net_send(fd, (*skb)->data, (*skb)->len));
 }
 
-struct net_kern_info ethertap_kern_info = {
+const struct net_kern_info ethertap_kern_info = {
 	.init			= etap_init,
 	.protocol		= eth_protocol,
 	.read			= etap_read,
diff -puN arch/um/os-Linux/drivers/ethertap_user.c~uml-const-more-data arch/um/os-Linux/drivers/ethertap_user.c
--- a/arch/um/os-Linux/drivers/ethertap_user.c~uml-const-more-data
+++ a/arch/um/os-Linux/drivers/ethertap_user.c
@@ -216,7 +216,7 @@ static void etap_del_addr(unsigned char 
 	etap_close_addr(addr, netmask, &pri->control_fd);
 }
 
-struct net_user_info ethertap_user_info = {
+const struct net_user_info ethertap_user_info = {
 	.init		= etap_user_init,
 	.open		= etap_open,
 	.close	 	= etap_close,
diff -puN arch/um/os-Linux/drivers/tuntap.h~uml-const-more-data arch/um/os-Linux/drivers/tuntap.h
--- a/arch/um/os-Linux/drivers/tuntap.h~uml-const-more-data
+++ a/arch/um/os-Linux/drivers/tuntap.h
@@ -16,7 +16,7 @@ struct tuntap_data {
 	void *dev;
 };
 
-extern struct net_user_info tuntap_user_info;
+extern const struct net_user_info tuntap_user_info;
 
 #endif
 
diff -puN arch/um/os-Linux/drivers/tuntap_kern.c~uml-const-more-data arch/um/os-Linux/drivers/tuntap_kern.c
--- a/arch/um/os-Linux/drivers/tuntap_kern.c~uml-const-more-data
+++ a/arch/um/os-Linux/drivers/tuntap_kern.c
@@ -53,7 +53,7 @@ static int tuntap_write(int fd, struct s
 	return(net_write(fd, (*skb)->data, (*skb)->len));
 }
 
-struct net_kern_info tuntap_kern_info = {
+const struct net_kern_info tuntap_kern_info = {
 	.init			= tuntap_init,
 	.protocol		= eth_protocol,
 	.read			= tuntap_read,
diff -puN arch/um/os-Linux/drivers/tuntap_user.c~uml-const-more-data arch/um/os-Linux/drivers/tuntap_user.c
--- a/arch/um/os-Linux/drivers/tuntap_user.c~uml-const-more-data
+++ a/arch/um/os-Linux/drivers/tuntap_user.c
@@ -205,7 +205,7 @@ static int tuntap_set_mtu(int mtu, void 
 	return(mtu);
 }
 
-struct net_user_info tuntap_user_info = {
+const struct net_user_info tuntap_user_info = {
 	.init		= tuntap_user_init,
 	.open		= tuntap_open,
 	.close	 	= tuntap_close,
_

Patches currently in -mm which might be from jdike@xxxxxxxxxxx are

reduce-max_nr_zones-make-zone_highmem-optional.patch
uml-use-klibc-setjmp-longjmp.patch
uml-use-array_size-more-assiduously.patch
uml-fix-stack-alignment.patch
uml-whitespace-fixes.patch
uml-fix-handling-of-failed-execs-of-helpers.patch
uml-improve-sigbus-diagnostics.patch
uml-sigio-cleanups.patch
uml-move-signal-handlers-to-arch-code.patch
uml-timer-cleanups.patch
uml-remove-unused-variable.patch
uml-clean-our-set_ether_mac.patch
uml-stack-usage-reduction.patch
uml-tty-locking.patch
split-i386-and-x86_64-ptraceh.patch
make-uml-use-ptrace-abih.patch
uml-use-mcmodel=kernel-for-x86_64.patch
uml-fix-proc-vs-interrupt-context-spinlock-deadlock.patch
uml-const-more-data.patch
uml-get-rid-of-zone_dma-use.patch
uml-fix-missing-x86_64-register-definitions.patch
uml-fix-gcov-support.patch
uml-use-correct-sigbus-handler.patch
uml-add-checkstack-support.patch
uml-mark-some-tt-mode-code.patch
uml-thread-creation-tidying.patch
uml-remove-pte_mkexec.patch
simplify-update_times-avoid-jiffies-jiffies_64-aliasing-problem-2.patch
kill-wall_jiffies.patch
const-struct-tty_operations.patch
namespaces-utsname-switch-to-using-uts-namespaces.patch
introduce-kernel_execve.patch
rename-the-provided-execve-functions-to-kernel_execve.patch
provide-kernel_execve-on-all-architectures.patch
provide-kernel_execve-on-all-architectures-fix.patch
remove-the-use-of-_syscallx-macros-in-uml.patch
sh64-remove-the-use-of-kernel-syscalls.patch
remove-remaining-errno-and-__kernel_syscalls__-references.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux