Commit 5e7672ec authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds
Browse files

[PATCH] uml: const more data



Make lots of structures const in order to make it obvious that they need no
locking.
Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 48af05ed
......@@ -110,7 +110,7 @@ static void not_configged_free(void *data)
"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 *chans, const char *buf, int len)
}
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 *chans, char *str, int size,
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 line *line, char *str, int device,
}
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;
......
......@@ -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);
......
......@@ -57,7 +57,7 @@ static int daemon_write(int fd, struct sk_buff **skb,
(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,
......
......@@ -182,7 +182,7 @@ static int daemon_set_mtu(int mtu, void *data)
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,
......
......@@ -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,
......
......@@ -280,7 +280,7 @@ static int hostmixer_release(struct inode *inode, struct file *file)
/* 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_fops = {
.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,
......
......@@ -251,7 +251,7 @@ void line_set_termios(struct tty_struct *tty, struct termios * old)
/* nothing */
}
static struct {
static const struct {
int cmd;
char *level;
char *name;
......@@ -405,7 +405,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data,
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, unsigned int num, char *init)
}
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;
......
......@@ -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);
......
......@@ -61,7 +61,7 @@ static int mcast_write(int fd, struct sk_buff **skb,
(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,
......
......@@ -152,7 +152,7 @@ static int mcast_set_mtu(int mtu, void *data)
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,
......
......@@ -85,7 +85,7 @@ mmapper_release(struct inode *inode, struct file *file)
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_fops = {
.release = mmapper_release,
};
static struct miscdevice mmapper_dev = {
static const struct miscdevice mmapper_dev = {
.minor = MISC_DYNAMIC_MINOR,
.name = "mmapper",
.fops = &mmapper_fops
......
......@@ -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,
......
......@@ -46,7 +46,7 @@ static int pcap_write(int fd, struct sk_buff **skb, struct uml_net_private *lp)
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,
......
......@@ -120,7 +120,7 @@ int pcap_user_read(int fd, void *buffer, int len, struct pcap_data *pri)
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,
......
......@@ -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,
......
......@@ -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 output, int primary, void *d,
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,
......
......@@ -68,7 +68,7 @@ static ssize_t rng_dev_read (struct file *filp, char __user *buf, size_t size,
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,
......
......@@ -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);
......
......@@ -61,7 +61,7 @@ static int slip_write(int fd, struct sk_buff **skb,
(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,
......
......@@ -241,7 +241,7 @@ static void slip_del_addr(unsigned char *addr, unsigned char *netmask,
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,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment