Commit 066202dd authored by Luiz Fernando N. Capitulino's avatar Luiz Fernando N. Capitulino Committed by Greg Kroah-Hartman

USB: Make file operations structs in drivers/usb const.

Making structs const prevents accidental bugs and with the proper debug
options they're protected against corruption.
Signed-off-by: default avatarLuiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f2ebf92c
...@@ -813,7 +813,7 @@ static unsigned int usblp_quirks (__u16 vendor, __u16 product) ...@@ -813,7 +813,7 @@ static unsigned int usblp_quirks (__u16 vendor, __u16 product)
return 0; return 0;
} }
static struct file_operations usblp_fops = { static const struct file_operations usblp_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = usblp_read, .read = usblp_read,
.write = usblp_write, .write = usblp_write,
......
...@@ -667,7 +667,7 @@ static loff_t usb_device_lseek(struct file * file, loff_t offset, int orig) ...@@ -667,7 +667,7 @@ static loff_t usb_device_lseek(struct file * file, loff_t offset, int orig)
return ret; return ret;
} }
struct file_operations usbfs_devices_fops = { const struct file_operations usbfs_devices_fops = {
.llseek = usb_device_lseek, .llseek = usb_device_lseek,
.read = usb_device_read, .read = usb_device_read,
.poll = usb_device_poll, .poll = usb_device_poll,
......
...@@ -1572,7 +1572,7 @@ static unsigned int usbdev_poll(struct file *file, struct poll_table_struct *wai ...@@ -1572,7 +1572,7 @@ static unsigned int usbdev_poll(struct file *file, struct poll_table_struct *wai
return mask; return mask;
} }
struct file_operations usbfs_device_file_operations = { const struct file_operations usbfs_device_file_operations = {
.llseek = usbdev_lseek, .llseek = usbdev_lseek,
.read = usbdev_read, .read = usbdev_read,
.poll = usbdev_poll, .poll = usbdev_poll,
......
...@@ -55,7 +55,7 @@ static int usb_open(struct inode * inode, struct file * file) ...@@ -55,7 +55,7 @@ static int usb_open(struct inode * inode, struct file * file)
return err; return err;
} }
static struct file_operations usb_fops = { static const struct file_operations usb_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = usb_open, .open = usb_open,
}; };
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#include "hcd.h" #include "hcd.h"
static struct super_operations usbfs_ops; static struct super_operations usbfs_ops;
static struct file_operations default_file_operations; static const struct file_operations default_file_operations;
static struct vfsmount *usbfs_mount; static struct vfsmount *usbfs_mount;
static int usbfs_mount_count; /* = 0 */ static int usbfs_mount_count; /* = 0 */
static int ignore_mount = 0; static int ignore_mount = 0;
...@@ -407,7 +407,7 @@ static int default_open (struct inode *inode, struct file *file) ...@@ -407,7 +407,7 @@ static int default_open (struct inode *inode, struct file *file)
return 0; return 0;
} }
static struct file_operations default_file_operations = { static const struct file_operations default_file_operations = {
.read = default_read_file, .read = default_read_file,
.write = default_write_file, .write = default_write_file,
.open = default_open, .open = default_open,
...@@ -494,7 +494,7 @@ static int fs_create_by_name (const char *name, mode_t mode, ...@@ -494,7 +494,7 @@ static int fs_create_by_name (const char *name, mode_t mode,
static struct dentry *fs_create_file (const char *name, mode_t mode, static struct dentry *fs_create_file (const char *name, mode_t mode,
struct dentry *parent, void *data, struct dentry *parent, void *data,
struct file_operations *fops, const struct file_operations *fops,
uid_t uid, gid_t gid) uid_t uid, gid_t gid)
{ {
struct dentry *dentry; struct dentry *dentry;
......
...@@ -90,8 +90,8 @@ extern const char *usbcore_name; ...@@ -90,8 +90,8 @@ extern const char *usbcore_name;
/* usbfs stuff */ /* usbfs stuff */
extern struct mutex usbfs_mutex; extern struct mutex usbfs_mutex;
extern struct usb_driver usbfs_driver; extern struct usb_driver usbfs_driver;
extern struct file_operations usbfs_devices_fops; extern const struct file_operations usbfs_devices_fops;
extern struct file_operations usbfs_device_file_operations; extern const struct file_operations usbfs_device_file_operations;
extern void usbfs_conn_disc_event(void); extern void usbfs_conn_disc_event(void);
extern int usbdev_init(void); extern int usbdev_init(void);
......
...@@ -247,7 +247,7 @@ static int proc_udc_open(struct inode *inode, struct file *file) ...@@ -247,7 +247,7 @@ static int proc_udc_open(struct inode *inode, struct file *file)
return single_open(file, proc_udc_show, PDE(inode)->data); return single_open(file, proc_udc_show, PDE(inode)->data);
} }
static struct file_operations proc_ops = { static const struct file_operations proc_ops = {
.open = proc_udc_open, .open = proc_udc_open,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
......
...@@ -714,7 +714,7 @@ ep_aio_write(struct kiocb *iocb, const char __user *ubuf, size_t len, loff_t o) ...@@ -714,7 +714,7 @@ ep_aio_write(struct kiocb *iocb, const char __user *ubuf, size_t len, loff_t o)
/*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/
/* used after endpoint configuration */ /* used after endpoint configuration */
static struct file_operations ep_io_operations = { static const struct file_operations ep_io_operations = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
...@@ -873,7 +873,7 @@ ep_open (struct inode *inode, struct file *fd) ...@@ -873,7 +873,7 @@ ep_open (struct inode *inode, struct file *fd)
} }
/* used before endpoint configuration */ /* used before endpoint configuration */
static struct file_operations ep_config_operations = { static const struct file_operations ep_config_operations = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
...@@ -1247,7 +1247,7 @@ static int dev_ioctl (struct inode *inode, struct file *fd, ...@@ -1247,7 +1247,7 @@ static int dev_ioctl (struct inode *inode, struct file *fd,
} }
/* used after device configuration */ /* used after device configuration */
static struct file_operations ep0_io_operations = { static const struct file_operations ep0_io_operations = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
...@@ -1929,7 +1929,7 @@ dev_open (struct inode *inode, struct file *fd) ...@@ -1929,7 +1929,7 @@ dev_open (struct inode *inode, struct file *fd)
return value; return value;
} }
static struct file_operations dev_init_operations = { static const struct file_operations dev_init_operations = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
......
...@@ -2437,7 +2437,7 @@ static int proc_udc_open(struct inode *inode, struct file *file) ...@@ -2437,7 +2437,7 @@ static int proc_udc_open(struct inode *inode, struct file *file)
return single_open(file, proc_udc_show, NULL); return single_open(file, proc_udc_show, NULL);
} }
static struct file_operations proc_ops = { static const struct file_operations proc_ops = {
.open = proc_udc_open, .open = proc_udc_open,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
......
...@@ -1207,7 +1207,7 @@ static int isp116x_open_seq(struct inode *inode, struct file *file) ...@@ -1207,7 +1207,7 @@ static int isp116x_open_seq(struct inode *inode, struct file *file)
return single_open(file, isp116x_show_dbg, inode->i_private); return single_open(file, isp116x_show_dbg, inode->i_private);
} }
static struct file_operations isp116x_debug_fops = { static const struct file_operations isp116x_debug_fops = {
.open = isp116x_open_seq, .open = isp116x_open_seq,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
......
...@@ -1517,7 +1517,7 @@ static int proc_sl811h_open(struct inode *inode, struct file *file) ...@@ -1517,7 +1517,7 @@ static int proc_sl811h_open(struct inode *inode, struct file *file)
return single_open(file, proc_sl811h_show, PDE(inode)->data); return single_open(file, proc_sl811h_show, PDE(inode)->data);
} }
static struct file_operations proc_ops = { static const struct file_operations proc_ops = {
.open = proc_sl811h_open, .open = proc_sl811h_open,
.read = seq_read, .read = seq_read,
.llseek = seq_lseek, .llseek = seq_lseek,
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#include "uhci-hcd.h" #include "uhci-hcd.h"
#define uhci_debug_operations (* (struct file_operations *) NULL) #define uhci_debug_operations (* (const struct file_operations *) NULL)
static struct dentry *uhci_debugfs_root; static struct dentry *uhci_debugfs_root;
#ifdef DEBUG #ifdef DEBUG
...@@ -500,7 +500,7 @@ static int uhci_debug_release(struct inode *inode, struct file *file) ...@@ -500,7 +500,7 @@ static int uhci_debug_release(struct inode *inode, struct file *file)
} }
#undef uhci_debug_operations #undef uhci_debug_operations
static struct file_operations uhci_debug_operations = { static const struct file_operations uhci_debug_operations = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = uhci_debug_open, .open = uhci_debug_open,
.llseek = uhci_debug_lseek, .llseek = uhci_debug_lseek,
......
...@@ -424,7 +424,7 @@ static void mdc800_usb_download_notify (struct urb *urb, struct pt_regs *res) ...@@ -424,7 +424,7 @@ static void mdc800_usb_download_notify (struct urb *urb, struct pt_regs *res)
***************************************************************************/ ***************************************************************************/
static struct usb_driver mdc800_usb_driver; static struct usb_driver mdc800_usb_driver;
static struct file_operations mdc800_device_ops; static const struct file_operations mdc800_device_ops;
static struct usb_class_driver mdc800_class = { static struct usb_class_driver mdc800_class = {
.name = "mdc800%d", .name = "mdc800%d",
.fops = &mdc800_device_ops, .fops = &mdc800_device_ops,
...@@ -941,7 +941,7 @@ static ssize_t mdc800_device_write (struct file *file, const char __user *buf, s ...@@ -941,7 +941,7 @@ static ssize_t mdc800_device_write (struct file *file, const char __user *buf, s
****************************************************************************/ ****************************************************************************/
/* File Operations of this drivers */ /* File Operations of this drivers */
static struct file_operations mdc800_device_ops = static const struct file_operations mdc800_device_ops =
{ {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = mdc800_device_read, .read = mdc800_device_read,
......
...@@ -722,7 +722,7 @@ static int hiddev_ioctl(struct inode *inode, struct file *file, unsigned int cmd ...@@ -722,7 +722,7 @@ static int hiddev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
return -EINVAL; return -EINVAL;
} }
static struct file_operations hiddev_fops = { static const struct file_operations hiddev_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = hiddev_read, .read = hiddev_read,
.write = hiddev_write, .write = hiddev_write,
......
...@@ -1858,7 +1858,7 @@ static int auerchar_release (struct inode *inode, struct file *file) ...@@ -1858,7 +1858,7 @@ static int auerchar_release (struct inode *inode, struct file *file)
/*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/
/* File operation structure */ /* File operation structure */
static struct file_operations auerswald_fops = static const struct file_operations auerswald_fops =
{ {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.llseek = no_llseek, .llseek = no_llseek,
......
...@@ -98,7 +98,7 @@ static int idmouse_probe(struct usb_interface *interface, ...@@ -98,7 +98,7 @@ static int idmouse_probe(struct usb_interface *interface,
static void idmouse_disconnect(struct usb_interface *interface); static void idmouse_disconnect(struct usb_interface *interface);
/* file operation pointers */ /* file operation pointers */
static struct file_operations idmouse_fops = { static const struct file_operations idmouse_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = idmouse_read, .read = idmouse_read,
.open = idmouse_open, .open = idmouse_open,
......
...@@ -589,7 +589,7 @@ static ssize_t ld_usb_write(struct file *file, const char __user *buffer, ...@@ -589,7 +589,7 @@ static ssize_t ld_usb_write(struct file *file, const char __user *buffer,
} }
/* file operations needed when we register this driver */ /* file operations needed when we register this driver */
static struct file_operations ld_usb_fops = { static const struct file_operations ld_usb_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = ld_usb_read, .read = ld_usb_read,
.write = ld_usb_write, .write = ld_usb_write,
......
...@@ -259,7 +259,7 @@ static void tower_disconnect (struct usb_interface *interface); ...@@ -259,7 +259,7 @@ static void tower_disconnect (struct usb_interface *interface);
static DEFINE_MUTEX (disconnect_mutex); static DEFINE_MUTEX (disconnect_mutex);
/* file operations needed when we register this driver */ /* file operations needed when we register this driver */
static struct file_operations tower_fops = { static const struct file_operations tower_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = tower_read, .read = tower_read,
.write = tower_write, .write = tower_write,
......
...@@ -3179,7 +3179,7 @@ sisusb_compat_ioctl(struct file *f, unsigned int cmd, unsigned long arg) ...@@ -3179,7 +3179,7 @@ sisusb_compat_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
} }
#endif #endif
static struct file_operations usb_sisusb_fops = { static const struct file_operations usb_sisusb_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = sisusb_open, .open = sisusb_open,
.release = sisusb_release, .release = sisusb_release,
......
...@@ -239,7 +239,7 @@ static ssize_t lcd_write(struct file *file, const char __user * user_buffer, siz ...@@ -239,7 +239,7 @@ static ssize_t lcd_write(struct file *file, const char __user * user_buffer, siz
return retval; return retval;
} }
static struct file_operations lcd_fops = { static const struct file_operations lcd_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = lcd_read, .read = lcd_read,
.write = lcd_write, .write = lcd_write,
......
...@@ -62,7 +62,7 @@ static int mon_stat_release(struct inode *inode, struct file *file) ...@@ -62,7 +62,7 @@ static int mon_stat_release(struct inode *inode, struct file *file)
return 0; return 0;
} }
struct file_operations mon_fops_stat = { const struct file_operations mon_fops_stat = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = mon_stat_open, .open = mon_stat_open,
.llseek = no_llseek, .llseek = no_llseek,
......
...@@ -435,7 +435,7 @@ static int mon_text_release(struct inode *inode, struct file *file) ...@@ -435,7 +435,7 @@ static int mon_text_release(struct inode *inode, struct file *file)
return 0; return 0;
} }
struct file_operations mon_fops_text = { const struct file_operations mon_fops_text = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.open = mon_text_open, .open = mon_text_open,
.llseek = no_llseek, .llseek = no_llseek,
......
...@@ -53,7 +53,7 @@ extern char mon_dmapeek(unsigned char *dst, dma_addr_t dma_addr, int len); ...@@ -53,7 +53,7 @@ extern char mon_dmapeek(unsigned char *dst, dma_addr_t dma_addr, int len);
extern struct mutex mon_lock; extern struct mutex mon_lock;
extern struct file_operations mon_fops_text; extern const struct file_operations mon_fops_text;
extern struct file_operations mon_fops_stat; extern const struct file_operations mon_fops_stat;
#endif /* __USB_MON_H */ #endif /* __USB_MON_H */
...@@ -243,7 +243,7 @@ static ssize_t skel_write(struct file *file, const char *user_buffer, size_t cou ...@@ -243,7 +243,7 @@ static ssize_t skel_write(struct file *file, const char *user_buffer, size_t cou
return retval; return retval;
} }
static struct file_operations skel_fops = { static const struct file_operations skel_fops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.read = skel_read, .read = skel_read,
.write = skel_write, .write = skel_write,
......
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