From 2b8693c0617e972fc0b2fd1ebf8de97e15b656c3 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Mon, 12 Feb 2007 00:55:32 -0800 Subject: [PATCH] [PATCH] mark struct file_operations const 3 Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- block/blktrace.c | 2 +- crypto/proc.c | 2 +- drivers/acorn/char/i2c.c | 2 +- drivers/block/DAC960.c | 2 +- drivers/block/acsi_slm.c | 2 +- drivers/block/aoe/aoechr.c | 2 +- drivers/block/paride/pg.c | 2 +- drivers/block/paride/pt.c | 2 +- drivers/block/pktcdvd.c | 6 +++--- drivers/bluetooth/hci_vhci.c | 2 +- drivers/cdrom/viocd.c | 2 +- drivers/char/briq_panel.c | 2 +- drivers/char/drm/drm_drv.c | 2 +- drivers/char/drm/i810_dma.c | 2 +- drivers/char/drm/i830_dma.c | 2 +- drivers/char/generic_nvram.c | 2 +- drivers/char/mbcs.c | 2 +- drivers/char/mspec.c | 6 +++--- drivers/char/random.c | 4 ++-- drivers/char/tpm/tpm_bios.c | 4 ++-- drivers/char/viotape.c | 2 +- drivers/char/watchdog/iTCO_wdt.c | 2 +- drivers/char/watchdog/omap_wdt.c | 2 +- drivers/char/watchdog/pc87413_wdt.c | 2 +- drivers/char/watchdog/pnx4008_wdt.c | 2 +- drivers/char/watchdog/rm9k_wdt.c | 2 +- drivers/char/watchdog/smsc37b787_wdt.c | 2 +- drivers/char/watchdog/w83697hf_wdt.c | 2 +- drivers/i2c/chips/tps65010.c | 2 +- drivers/i2c/i2c-dev.c | 2 +- drivers/ide/ide-proc.c | 2 +- drivers/ide/ide-tape.c | 2 +- drivers/ieee1394/dv1394.c | 2 +- drivers/ieee1394/raw1394.c | 2 +- drivers/ieee1394/video1394.c | 2 +- drivers/infiniband/core/ucm.c | 2 +- drivers/infiniband/core/ucma.c | 2 +- drivers/infiniband/core/user_mad.c | 4 ++-- drivers/infiniband/core/uverbs_main.c | 6 +++--- drivers/infiniband/hw/ipath/ipath_diag.c | 4 ++-- drivers/infiniband/hw/ipath/ipath_file_ops.c | 6 +++--- drivers/infiniband/hw/ipath/ipath_fs.c | 14 +++++++------- drivers/infiniband/hw/ipath/ipath_kernel.h | 2 +- drivers/infiniband/ulp/ipoib/ipoib_fs.c | 4 ++-- drivers/input/input.c | 6 +++--- drivers/input/misc/hp_sdc_rtc.c | 2 +- drivers/input/misc/uinput.c | 2 +- drivers/input/serio/serio_raw.c | 2 +- drivers/isdn/capi/capi.c | 2 +- drivers/isdn/capi/kcapi_proc.c | 10 +++++----- drivers/isdn/divert/divert_procfs.c | 2 +- drivers/isdn/hardware/eicon/divamnt.c | 2 +- drivers/isdn/hardware/eicon/divasi.c | 2 +- drivers/isdn/hardware/eicon/divasmain.c | 2 +- drivers/isdn/hardware/eicon/divasproc.c | 2 +- drivers/isdn/hysdn/hysdn_procconf.c | 2 +- drivers/isdn/hysdn/hysdn_proclog.c | 2 +- drivers/isdn/i4l/isdn_common.c | 2 +- 58 files changed, 83 insertions(+), 83 deletions(-) diff --git a/block/blktrace.c b/block/blktrace.c index d36b32ed22..3f0e7c37c0 100644 --- a/block/blktrace.c +++ b/block/blktrace.c @@ -264,7 +264,7 @@ static ssize_t blk_dropped_read(struct file *filp, char __user *buffer, return simple_read_from_buffer(buffer, count, ppos, buf, strlen(buf)); } -static struct file_operations blk_dropped_fops = { +static const struct file_operations blk_dropped_fops = { .owner = THIS_MODULE, .open = blk_dropped_open, .read = blk_dropped_read, diff --git a/crypto/proc.c b/crypto/proc.c index dabce0676f..102c751a12 100644 --- a/crypto/proc.c +++ b/crypto/proc.c @@ -101,7 +101,7 @@ static int crypto_info_open(struct inode *inode, struct file *file) return seq_open(file, &crypto_seq_ops); } -static struct file_operations proc_crypto_ops = { +static const struct file_operations proc_crypto_ops = { .open = crypto_info_open, .read = seq_read, .llseek = seq_lseek, diff --git a/drivers/acorn/char/i2c.c b/drivers/acorn/char/i2c.c index 9e584a7af4..157d8b73bb 100644 --- a/drivers/acorn/char/i2c.c +++ b/drivers/acorn/char/i2c.c @@ -238,7 +238,7 @@ static int rtc_ioctl(struct inode *inode, struct file *file, return -EINVAL; } -static struct file_operations rtc_fops = { +static const struct file_operations rtc_fops = { .ioctl = rtc_ioctl, }; diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c index 7b2fa3d8f6..92bf868ca0 100644 --- a/drivers/block/DAC960.c +++ b/drivers/block/DAC960.c @@ -7024,7 +7024,7 @@ static int DAC960_gam_ioctl(struct inode *inode, struct file *file, return -EINVAL; } -static struct file_operations DAC960_gam_fops = { +static const struct file_operations DAC960_gam_fops = { .owner = THIS_MODULE, .ioctl = DAC960_gam_ioctl }; diff --git a/drivers/block/acsi_slm.c b/drivers/block/acsi_slm.c index e04be94d19..e2e0432909 100644 --- a/drivers/block/acsi_slm.c +++ b/drivers/block/acsi_slm.c @@ -269,7 +269,7 @@ static int slm_get_pagesize( int device, int *w, int *h ); static DEFINE_TIMER(slm_timer, slm_test_ready, 0, 0); -static struct file_operations slm_fops = { +static const struct file_operations slm_fops = { .owner = THIS_MODULE, .read = slm_read, .write = slm_write, diff --git a/drivers/block/aoe/aoechr.c b/drivers/block/aoe/aoechr.c index e22b4c9520..39e563ea08 100644 --- a/drivers/block/aoe/aoechr.c +++ b/drivers/block/aoe/aoechr.c @@ -233,7 +233,7 @@ loop: } } -static struct file_operations aoe_fops = { +static const struct file_operations aoe_fops = { .write = aoechr_write, .read = aoechr_read, .open = aoechr_open, diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c index 9970aedbb5..d89e7d32a3 100644 --- a/drivers/block/paride/pg.c +++ b/drivers/block/paride/pg.c @@ -227,7 +227,7 @@ static struct class *pg_class; /* kernel glue structures */ -static struct file_operations pg_fops = { +static const struct file_operations pg_fops = { .owner = THIS_MODULE, .read = pg_read, .write = pg_write, diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c index c902b25e48..9f4e67ee1e 100644 --- a/drivers/block/paride/pt.c +++ b/drivers/block/paride/pt.c @@ -232,7 +232,7 @@ static char pt_scratch[512]; /* scratch block buffer */ /* kernel glue structures */ -static struct file_operations pt_fops = { +static const struct file_operations pt_fops = { .owner = THIS_MODULE, .read = pt_read, .write = pt_write, diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index c0e89490e3..93fb6ed4ed 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -435,7 +435,7 @@ static int pkt_debugfs_fops_open(struct inode *inode, struct file *file) return single_open(file, pkt_debugfs_seq_show, inode->i_private); } -static struct file_operations debug_fops = { +static const struct file_operations debug_fops = { .open = pkt_debugfs_fops_open, .read = seq_read, .llseek = seq_lseek, @@ -2725,7 +2725,7 @@ static int pkt_seq_open(struct inode *inode, struct file *file) return single_open(file, pkt_seq_show, PDE(inode)->data); } -static struct file_operations pkt_proc_fops = { +static const struct file_operations pkt_proc_fops = { .open = pkt_seq_open, .read = seq_read, .llseek = seq_lseek, @@ -3052,7 +3052,7 @@ static int pkt_ctl_ioctl(struct inode *inode, struct file *file, unsigned int cm } -static struct file_operations pkt_ctl_fops = { +static const struct file_operations pkt_ctl_fops = { .ioctl = pkt_ctl_ioctl, .owner = THIS_MODULE, }; diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c index a278d98a91..b71a5ccc58 100644 --- a/drivers/bluetooth/hci_vhci.c +++ b/drivers/bluetooth/hci_vhci.c @@ -332,7 +332,7 @@ static int vhci_fasync(int fd, struct file *file, int on) return 0; } -static struct file_operations vhci_fops = { +static const struct file_operations vhci_fops = { .owner = THIS_MODULE, .llseek = vhci_llseek, .read = vhci_read, diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c index 93fbf84dcc..dc13ebaced 100644 --- a/drivers/cdrom/viocd.c +++ b/drivers/cdrom/viocd.c @@ -176,7 +176,7 @@ static int proc_viocd_open(struct inode *inode, struct file *file) return single_open(file, proc_viocd_show, NULL); } -static struct file_operations proc_viocd_operations = { +static const struct file_operations proc_viocd_operations = { .open = proc_viocd_open, .read = seq_read, .llseek = seq_lseek, diff --git a/drivers/char/briq_panel.c b/drivers/char/briq_panel.c index 9f8082f8dd..7f60a18ef7 100644 --- a/drivers/char/briq_panel.c +++ b/drivers/char/briq_panel.c @@ -187,7 +187,7 @@ static ssize_t briq_panel_write(struct file *file, const char __user *buf, size_ return len; } -static struct file_operations briq_panel_fops = { +static const struct file_operations briq_panel_fops = { .owner = THIS_MODULE, .read = briq_panel_read, .write = briq_panel_write, diff --git a/drivers/char/drm/drm_drv.c b/drivers/char/drm/drm_drv.c index a70af0de44..f5b9b2480c 100644 --- a/drivers/char/drm/drm_drv.c +++ b/drivers/char/drm/drm_drv.c @@ -371,7 +371,7 @@ void drm_exit(struct drm_driver *driver) EXPORT_SYMBOL(drm_exit); /** File operations structure */ -static struct file_operations drm_stub_fops = { +static const struct file_operations drm_stub_fops = { .owner = THIS_MODULE, .open = drm_stub_open }; diff --git a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c index 60cb4e45a7..603d17fd2d 100644 --- a/drivers/char/drm/i810_dma.c +++ b/drivers/char/drm/i810_dma.c @@ -112,7 +112,7 @@ static int i810_mmap_buffers(struct file *filp, struct vm_area_struct *vma) return 0; } -static struct file_operations i810_buffer_fops = { +static const struct file_operations i810_buffer_fops = { .open = drm_open, .release = drm_release, .ioctl = drm_ioctl, diff --git a/drivers/char/drm/i830_dma.c b/drivers/char/drm/i830_dma.c index 95224455ec..3314a9fea9 100644 --- a/drivers/char/drm/i830_dma.c +++ b/drivers/char/drm/i830_dma.c @@ -114,7 +114,7 @@ static int i830_mmap_buffers(struct file *filp, struct vm_area_struct *vma) return 0; } -static struct file_operations i830_buffer_fops = { +static const struct file_operations i830_buffer_fops = { .open = drm_open, .release = drm_release, .ioctl = drm_ioctl, diff --git a/drivers/char/generic_nvram.c b/drivers/char/generic_nvram.c index 43ff598165..2398e864c2 100644 --- a/drivers/char/generic_nvram.c +++ b/drivers/char/generic_nvram.c @@ -117,7 +117,7 @@ static int nvram_ioctl(struct inode *inode, struct file *file, return 0; } -struct file_operations nvram_fops = { +const struct file_operations nvram_fops = { .owner = THIS_MODULE, .llseek = nvram_llseek, .read = read_nvram, diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c index 0afb7ba999..57f9115a45 100644 --- a/drivers/char/mbcs.c +++ b/drivers/char/mbcs.c @@ -46,7 +46,7 @@ LIST_HEAD(soft_list); /* * file operations */ -struct file_operations mbcs_ops = { +const struct file_operations mbcs_ops = { .open = mbcs_open, .llseek = mbcs_sram_llseek, .read = mbcs_sram_read, diff --git a/drivers/char/mspec.c b/drivers/char/mspec.c index 235e892261..7ac3061206 100644 --- a/drivers/char/mspec.c +++ b/drivers/char/mspec.c @@ -291,7 +291,7 @@ uncached_mmap(struct file *file, struct vm_area_struct *vma) return mspec_mmap(file, vma, MSPEC_UNCACHED); } -static struct file_operations fetchop_fops = { +static const struct file_operations fetchop_fops = { .owner = THIS_MODULE, .mmap = fetchop_mmap }; @@ -302,7 +302,7 @@ static struct miscdevice fetchop_miscdev = { .fops = &fetchop_fops }; -static struct file_operations cached_fops = { +static const struct file_operations cached_fops = { .owner = THIS_MODULE, .mmap = cached_mmap }; @@ -313,7 +313,7 @@ static struct miscdevice cached_miscdev = { .fops = &cached_fops }; -static struct file_operations uncached_fops = { +static const struct file_operations uncached_fops = { .owner = THIS_MODULE, .mmap = uncached_mmap }; diff --git a/drivers/char/random.c b/drivers/char/random.c index 13d0b1350a..b9dc7aa1df 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1117,14 +1117,14 @@ random_ioctl(struct inode * inode, struct file * file, } } -struct file_operations random_fops = { +const struct file_operations random_fops = { .read = random_read, .write = random_write, .poll = random_poll, .ioctl = random_ioctl, }; -struct file_operations urandom_fops = { +const struct file_operations urandom_fops = { .read = urandom_read, .write = random_write, .ioctl = random_ioctl, diff --git a/drivers/char/tpm/tpm_bios.c b/drivers/char/tpm/tpm_bios.c index 7fca5f470b..4eba32b23b 100644 --- a/drivers/char/tpm/tpm_bios.c +++ b/drivers/char/tpm/tpm_bios.c @@ -441,7 +441,7 @@ static int tpm_ascii_bios_measurements_open(struct inode *inode, return err; } -struct file_operations tpm_ascii_bios_measurements_ops = { +const struct file_operations tpm_ascii_bios_measurements_ops = { .open = tpm_ascii_bios_measurements_open, .read = seq_read, .llseek = seq_lseek, @@ -474,7 +474,7 @@ static int tpm_binary_bios_measurements_open(struct inode *inode, return err; } -struct file_operations tpm_binary_bios_measurements_ops = { +const struct file_operations tpm_binary_bios_measurements_ops = { .open = tpm_binary_bios_measurements_open, .read = seq_read, .llseek = seq_lseek, diff --git a/drivers/char/viotape.c b/drivers/char/viotape.c index 9438512b17..13faf8d174 100644 --- a/drivers/char/viotape.c +++ b/drivers/char/viotape.c @@ -872,7 +872,7 @@ free_op: return ret; } -struct file_operations viotap_fops = { +const struct file_operations viotap_fops = { owner: THIS_MODULE, read: viotap_read, write: viotap_write, diff --git a/drivers/char/watchdog/iTCO_wdt.c b/drivers/char/watchdog/iTCO_wdt.c index 7eac922df8..fd8a44a08c 100644 --- a/drivers/char/watchdog/iTCO_wdt.c +++ b/drivers/char/watchdog/iTCO_wdt.c @@ -539,7 +539,7 @@ static int iTCO_wdt_ioctl (struct inode *inode, struct file *file, * Kernel Interfaces */ -static struct file_operations iTCO_wdt_fops = { +static const struct file_operations iTCO_wdt_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .write = iTCO_wdt_write, diff --git a/drivers/char/watchdog/omap_wdt.c b/drivers/char/watchdog/omap_wdt.c index 6c6f97332d..84074a697d 100644 --- a/drivers/char/watchdog/omap_wdt.c +++ b/drivers/char/watchdog/omap_wdt.c @@ -230,7 +230,7 @@ omap_wdt_ioctl(struct inode *inode, struct file *file, } } -static struct file_operations omap_wdt_fops = { +static const struct file_operations omap_wdt_fops = { .owner = THIS_MODULE, .write = omap_wdt_write, .ioctl = omap_wdt_ioctl, diff --git a/drivers/char/watchdog/pc87413_wdt.c b/drivers/char/watchdog/pc87413_wdt.c index 1d447e32af..a77a90717a 100644 --- a/drivers/char/watchdog/pc87413_wdt.c +++ b/drivers/char/watchdog/pc87413_wdt.c @@ -526,7 +526,7 @@ static int pc87413_notify_sys(struct notifier_block *this, /* -- Module's structures ---------------------------------------*/ -static struct file_operations pc87413_fops = { +static const struct file_operations pc87413_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .write = pc87413_write, diff --git a/drivers/char/watchdog/pnx4008_wdt.c b/drivers/char/watchdog/pnx4008_wdt.c index 3a55fc6abc..ff6f1ca1e5 100644 --- a/drivers/char/watchdog/pnx4008_wdt.c +++ b/drivers/char/watchdog/pnx4008_wdt.c @@ -238,7 +238,7 @@ static int pnx4008_wdt_release(struct inode *inode, struct file *file) return 0; } -static struct file_operations pnx4008_wdt_fops = { +static const struct file_operations pnx4008_wdt_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .write = pnx4008_wdt_write, diff --git a/drivers/char/watchdog/rm9k_wdt.c b/drivers/char/watchdog/rm9k_wdt.c index 7576a13e86..b4678839d3 100644 --- a/drivers/char/watchdog/rm9k_wdt.c +++ b/drivers/char/watchdog/rm9k_wdt.c @@ -95,7 +95,7 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be disabled once started"); /* Kernel interfaces */ -static struct file_operations fops = { +static const struct file_operations fops = { .owner = THIS_MODULE, .open = wdt_gpi_open, .release = wdt_gpi_release, diff --git a/drivers/char/watchdog/smsc37b787_wdt.c b/drivers/char/watchdog/smsc37b787_wdt.c index 9f56913b48..a9681d580d 100644 --- a/drivers/char/watchdog/smsc37b787_wdt.c +++ b/drivers/char/watchdog/smsc37b787_wdt.c @@ -510,7 +510,7 @@ static int wb_smsc_wdt_notify_sys(struct notifier_block *this, unsigned long cod /* -- Module's structures ---------------------------------------*/ -static struct file_operations wb_smsc_wdt_fops = +static const struct file_operations wb_smsc_wdt_fops = { .owner = THIS_MODULE, .llseek = no_llseek, diff --git a/drivers/char/watchdog/w83697hf_wdt.c b/drivers/char/watchdog/w83697hf_wdt.c index 7768b55487..c960ec110d 100644 --- a/drivers/char/watchdog/w83697hf_wdt.c +++ b/drivers/char/watchdog/w83697hf_wdt.c @@ -323,7 +323,7 @@ wdt_notify_sys(struct notifier_block *this, unsigned long code, * Kernel Interfaces */ -static struct file_operations wdt_fops = { +static const struct file_operations wdt_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .write = wdt_write, diff --git a/drivers/i2c/chips/tps65010.c b/drivers/i2c/chips/tps65010.c index 4ee56def61..214fbb1423 100644 --- a/drivers/i2c/chips/tps65010.c +++ b/drivers/i2c/chips/tps65010.c @@ -308,7 +308,7 @@ static int dbg_tps_open(struct inode *inode, struct file *file) return single_open(file, dbg_show, inode->i_private); } -static struct file_operations debug_fops = { +static const struct file_operations debug_fops = { .open = dbg_tps_open, .read = seq_read, .llseek = seq_lseek, diff --git a/drivers/i2c/i2c-dev.c b/drivers/i2c/i2c-dev.c index ac5bd2a7ca..cb4fa9bef8 100644 --- a/drivers/i2c/i2c-dev.c +++ b/drivers/i2c/i2c-dev.c @@ -392,7 +392,7 @@ static int i2cdev_release(struct inode *inode, struct file *file) return 0; } -static struct file_operations i2cdev_fops = { +static const struct file_operations i2cdev_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = i2cdev_read, diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c index ad49bd823e..30a5780f41 100644 --- a/drivers/ide/ide-proc.c +++ b/drivers/ide/ide-proc.c @@ -548,7 +548,7 @@ static int ide_drivers_open(struct inode *inode, struct file *file) return single_open(file, &ide_drivers_show, NULL); } -static struct file_operations ide_drivers_operations = { +static const struct file_operations ide_drivers_operations = { .open = ide_drivers_open, .read = seq_read, .llseek = seq_lseek, diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index b3bcd1d731..c6eec0413a 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c @@ -4779,7 +4779,7 @@ static ide_driver_t idetape_driver = { /* * Our character device supporting functions, passed to register_chrdev. */ -static struct file_operations idetape_fops = { +static const struct file_operations idetape_fops = { .owner = THIS_MODULE, .read = idetape_chrdev_read, .write = idetape_chrdev_write, diff --git a/drivers/ieee1394/dv1394.c b/drivers/ieee1394/dv1394.c index 55d6ae664f..dee9529aa8 100644 --- a/drivers/ieee1394/dv1394.c +++ b/drivers/ieee1394/dv1394.c @@ -2147,7 +2147,7 @@ out: } static struct cdev dv1394_cdev; -static struct file_operations dv1394_fops= +static const struct file_operations dv1394_fops= { .owner = THIS_MODULE, .poll = dv1394_poll, diff --git a/drivers/ieee1394/raw1394.c b/drivers/ieee1394/raw1394.c index a77a832828..aa9ca8385e 100644 --- a/drivers/ieee1394/raw1394.c +++ b/drivers/ieee1394/raw1394.c @@ -3013,7 +3013,7 @@ static struct hpsb_highlevel raw1394_highlevel = { }; static struct cdev raw1394_cdev; -static struct file_operations raw1394_fops = { +static const struct file_operations raw1394_fops = { .owner = THIS_MODULE, .read = raw1394_read, .write = raw1394_write, diff --git a/drivers/ieee1394/video1394.c b/drivers/ieee1394/video1394.c index f4d1ec00af..95ca26d752 100644 --- a/drivers/ieee1394/video1394.c +++ b/drivers/ieee1394/video1394.c @@ -1277,7 +1277,7 @@ static long video1394_compat_ioctl(struct file *f, unsigned cmd, unsigned long a #endif static struct cdev video1394_cdev; -static struct file_operations video1394_fops= +static const struct file_operations video1394_fops= { .owner = THIS_MODULE, .unlocked_ioctl = video1394_ioctl, diff --git a/drivers/infiniband/core/ucm.c b/drivers/infiniband/core/ucm.c index f15220a0ee..ee51d79a7a 100644 --- a/drivers/infiniband/core/ucm.c +++ b/drivers/infiniband/core/ucm.c @@ -1221,7 +1221,7 @@ static void ib_ucm_release_class_dev(struct class_device *class_dev) kfree(dev); } -static struct file_operations ucm_fops = { +static const struct file_operations ucm_fops = { .owner = THIS_MODULE, .open = ib_ucm_open, .release = ib_ucm_close, diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c index e2e8d329b4..6b81b98961 100644 --- a/drivers/infiniband/core/ucma.c +++ b/drivers/infiniband/core/ucma.c @@ -833,7 +833,7 @@ static int ucma_close(struct inode *inode, struct file *filp) return 0; } -static struct file_operations ucma_fops = { +static const struct file_operations ucma_fops = { .owner = THIS_MODULE, .open = ucma_open, .release = ucma_close, diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c index 807fbd6b84..c069ebeba8 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c @@ -771,7 +771,7 @@ static int ib_umad_close(struct inode *inode, struct file *filp) return 0; } -static struct file_operations umad_fops = { +static const struct file_operations umad_fops = { .owner = THIS_MODULE, .read = ib_umad_read, .write = ib_umad_write, @@ -846,7 +846,7 @@ static int ib_umad_sm_close(struct inode *inode, struct file *filp) return ret; } -static struct file_operations umad_sm_fops = { +static const struct file_operations umad_sm_fops = { .owner = THIS_MODULE, .open = ib_umad_sm_open, .release = ib_umad_sm_close diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index a617ca7b69..f8bc822a3c 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c @@ -375,7 +375,7 @@ static int ib_uverbs_event_close(struct inode *inode, struct file *filp) return 0; } -static struct file_operations uverbs_event_fops = { +static const struct file_operations uverbs_event_fops = { .owner = THIS_MODULE, .read = ib_uverbs_event_read, .poll = ib_uverbs_event_poll, @@ -679,14 +679,14 @@ static int ib_uverbs_close(struct inode *inode, struct file *filp) return 0; } -static struct file_operations uverbs_fops = { +static const struct file_operations uverbs_fops = { .owner = THIS_MODULE, .write = ib_uverbs_write, .open = ib_uverbs_open, .release = ib_uverbs_close }; -static struct file_operations uverbs_mmap_fops = { +static const struct file_operations uverbs_mmap_fops = { .owner = THIS_MODULE, .write = ib_uverbs_write, .mmap = ib_uverbs_mmap, diff --git a/drivers/infiniband/hw/ipath/ipath_diag.c b/drivers/infiniband/hw/ipath/ipath_diag.c index 28c087b824..0f13a2182c 100644 --- a/drivers/infiniband/hw/ipath/ipath_diag.c +++ b/drivers/infiniband/hw/ipath/ipath_diag.c @@ -59,7 +59,7 @@ static ssize_t ipath_diag_read(struct file *fp, char __user *data, static ssize_t ipath_diag_write(struct file *fp, const char __user *data, size_t count, loff_t *off); -static struct file_operations diag_file_ops = { +static const struct file_operations diag_file_ops = { .owner = THIS_MODULE, .write = ipath_diag_write, .read = ipath_diag_read, @@ -71,7 +71,7 @@ static ssize_t ipath_diagpkt_write(struct file *fp, const char __user *data, size_t count, loff_t *off); -static struct file_operations diagpkt_file_ops = { +static const struct file_operations diagpkt_file_ops = { .owner = THIS_MODULE, .write = ipath_diagpkt_write, }; diff --git a/drivers/infiniband/hw/ipath/ipath_file_ops.c b/drivers/infiniband/hw/ipath/ipath_file_ops.c index b932bcb67a..5d64ff8752 100644 --- a/drivers/infiniband/hw/ipath/ipath_file_ops.c +++ b/drivers/infiniband/hw/ipath/ipath_file_ops.c @@ -54,7 +54,7 @@ static ssize_t ipath_write(struct file *, const char __user *, size_t, static unsigned int ipath_poll(struct file *, struct poll_table_struct *); static int ipath_mmap(struct file *, struct vm_area_struct *); -static struct file_operations ipath_file_ops = { +static const struct file_operations ipath_file_ops = { .owner = THIS_MODULE, .write = ipath_write, .open = ipath_open, @@ -2153,7 +2153,7 @@ bail: static struct class *ipath_class; -static int init_cdev(int minor, char *name, struct file_operations *fops, +static int init_cdev(int minor, char *name, const struct file_operations *fops, struct cdev **cdevp, struct class_device **class_devp) { const dev_t dev = MKDEV(IPATH_MAJOR, minor); @@ -2210,7 +2210,7 @@ done: return ret; } -int ipath_cdev_init(int minor, char *name, struct file_operations *fops, +int ipath_cdev_init(int minor, char *name, const struct file_operations *fops, struct cdev **cdevp, struct class_device **class_devp) { return init_cdev(minor, name, fops, cdevp, class_devp); diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c index 79a60f020a..5b40a846ff 100644 --- a/drivers/infiniband/hw/ipath/ipath_fs.c +++ b/drivers/infiniband/hw/ipath/ipath_fs.c @@ -47,7 +47,7 @@ static struct super_block *ipath_super; static int ipathfs_mknod(struct inode *dir, struct dentry *dentry, - int mode, struct file_operations *fops, + int mode, const struct file_operations *fops, void *data) { int error; @@ -81,7 +81,7 @@ bail: static int create_file(const char *name, mode_t mode, struct dentry *parent, struct dentry **dentry, - struct file_operations *fops, void *data) + const struct file_operations *fops, void *data) { int error; @@ -105,7 +105,7 @@ static ssize_t atomic_stats_read(struct file *file, char __user *buf, sizeof ipath_stats); } -static struct file_operations atomic_stats_ops = { +static const struct file_operations atomic_stats_ops = { .read = atomic_stats_read, }; @@ -127,7 +127,7 @@ static ssize_t atomic_counters_read(struct file *file, char __user *buf, sizeof counters); } -static struct file_operations atomic_counters_ops = { +static const struct file_operations atomic_counters_ops = { .read = atomic_counters_read, }; @@ -166,7 +166,7 @@ static ssize_t atomic_node_info_read(struct file *file, char __user *buf, sizeof nodeinfo); } -static struct file_operations atomic_node_info_ops = { +static const struct file_operations atomic_node_info_ops = { .read = atomic_node_info_read, }; @@ -291,7 +291,7 @@ static ssize_t atomic_port_info_read(struct file *file, char __user *buf, sizeof portinfo); } -static struct file_operations atomic_port_info_ops = { +static const struct file_operations atomic_port_info_ops = { .read = atomic_port_info_read, }; @@ -394,7 +394,7 @@ bail: return ret; } -static struct file_operations flash_ops = { +static const struct file_operations flash_ops = { .read = flash_read, .write = flash_write, }; diff --git a/drivers/infiniband/hw/ipath/ipath_kernel.h b/drivers/infiniband/hw/ipath/ipath_kernel.h index 986b2125b8..6d8d05fb59 100644 --- a/drivers/infiniband/hw/ipath/ipath_kernel.h +++ b/drivers/infiniband/hw/ipath/ipath_kernel.h @@ -593,7 +593,7 @@ void ipath_shutdown_device(struct ipath_devdata *); void ipath_disarm_senderrbufs(struct ipath_devdata *); struct file_operations; -int ipath_cdev_init(int minor, char *name, struct file_operations *fops, +int ipath_cdev_init(int minor, char *name, const struct file_operations *fops, struct cdev **cdevp, struct class_device **class_devp); void ipath_cdev_cleanup(struct cdev **cdevp, struct class_device **class_devp); diff --git a/drivers/infiniband/ulp/ipoib/ipoib_fs.c b/drivers/infiniband/ulp/ipoib/ipoib_fs.c index f1cb83688b..44c174182a 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_fs.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_fs.c @@ -146,7 +146,7 @@ static int ipoib_mcg_open(struct inode *inode, struct file *file) return 0; } -static struct file_operations ipoib_mcg_fops = { +static const struct file_operations ipoib_mcg_fops = { .owner = THIS_MODULE, .open = ipoib_mcg_open, .read = seq_read, @@ -252,7 +252,7 @@ static int ipoib_path_open(struct inode *inode, struct file *file) return 0; } -static struct file_operations ipoib_path_fops = { +static const struct file_operations ipoib_path_fops = { .owner = THIS_MODULE, .open = ipoib_path_open, .read = seq_read, diff --git a/drivers/input/input.c b/drivers/input/input.c index 7cf2b4f603..14d4c0493c 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -482,7 +482,7 @@ static int input_proc_devices_open(struct inode *inode, struct file *file) return seq_open(file, &input_devices_seq_ops); } -static struct file_operations input_devices_fileops = { +static const struct file_operations input_devices_fileops = { .owner = THIS_MODULE, .open = input_proc_devices_open, .poll = input_proc_devices_poll, @@ -533,7 +533,7 @@ static int input_proc_handlers_open(struct inode *inode, struct file *file) return seq_open(file, &input_handlers_seq_ops); } -static struct file_operations input_handlers_fileops = { +static const struct file_operations input_handlers_fileops = { .owner = THIS_MODULE, .open = input_proc_handlers_open, .read = seq_read, @@ -1142,7 +1142,7 @@ static int input_open_file(struct inode *inode, struct file *file) return err; } -static struct file_operations input_fops = { +static const struct file_operations input_fops = { .owner = THIS_MODULE, .open = input_open_file, }; diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c index 31d5a13bfd..ab76ea442f 100644 --- a/drivers/input/misc/hp_sdc_rtc.c +++ b/drivers/input/misc/hp_sdc_rtc.c @@ -670,7 +670,7 @@ static int hp_sdc_rtc_ioctl(struct inode *inode, struct file *file, #endif } -static struct file_operations hp_sdc_rtc_fops = { +static const struct file_operations hp_sdc_rtc_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = hp_sdc_rtc_read, diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index 9516439b7c..42556232c5 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c @@ -627,7 +627,7 @@ static long uinput_ioctl(struct file *file, unsigned int cmd, unsigned long arg) return retval; } -static struct file_operations uinput_fops = { +static const struct file_operations uinput_fops = { .owner = THIS_MODULE, .open = uinput_open, .release = uinput_release, diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c index 088ebc348b..887357666c 100644 --- a/drivers/input/serio/serio_raw.c +++ b/drivers/input/serio/serio_raw.c @@ -234,7 +234,7 @@ static unsigned int serio_raw_poll(struct file *file, poll_table *wait) return 0; } -static struct file_operations serio_raw_fops = { +static const struct file_operations serio_raw_fops = { .owner = THIS_MODULE, .open = serio_raw_open, .release = serio_raw_release, diff --git a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c index 9e48bb5a3c..db1260f73f 100644 --- a/drivers/isdn/capi/capi.c +++ b/drivers/isdn/capi/capi.c @@ -1003,7 +1003,7 @@ capi_release(struct inode *inode, struct file *file) return 0; } -static struct file_operations capi_fops = +static const struct file_operations capi_fops = { .owner = THIS_MODULE, .llseek = no_llseek, diff --git a/drivers/isdn/capi/kcapi_proc.c b/drivers/isdn/capi/kcapi_proc.c index ca9dc00a45..31f4fd8b8b 100644 --- a/drivers/isdn/capi/kcapi_proc.c +++ b/drivers/isdn/capi/kcapi_proc.c @@ -113,14 +113,14 @@ static int seq_contrstats_open(struct inode *inode, struct file *file) return seq_open(file, &seq_contrstats_ops); } -static struct file_operations proc_controller_ops = { +static const struct file_operations proc_controller_ops = { .open = seq_controller_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, }; -static struct file_operations proc_contrstats_ops = { +static const struct file_operations proc_contrstats_ops = { .open = seq_contrstats_open, .read = seq_read, .llseek = seq_lseek, @@ -218,14 +218,14 @@ seq_applstats_open(struct inode *inode, struct file *file) return seq_open(file, &seq_applstats_ops); } -static struct file_operations proc_applications_ops = { +static const struct file_operations proc_applications_ops = { .open = seq_applications_open, .read = seq_read, .llseek = seq_lseek, .release = seq_release, }; -static struct file_operations proc_applstats_ops = { +static const struct file_operations proc_applstats_ops = { .open = seq_applstats_open, .read = seq_read, .llseek = seq_lseek, @@ -302,7 +302,7 @@ seq_capi_driver_open(struct inode *inode, struct file *file) return err; } -static struct file_operations proc_driver_ops = { +static const struct file_operations proc_driver_ops = { .open = seq_capi_driver_open, .read = seq_read, .llseek = seq_lseek, diff --git a/drivers/isdn/divert/divert_procfs.c b/drivers/isdn/divert/divert_procfs.c index 06967da7c4..53a1890033 100644 --- a/drivers/isdn/divert/divert_procfs.c +++ b/drivers/isdn/divert/divert_procfs.c @@ -256,7 +256,7 @@ isdn_divert_ioctl(struct inode *inode, struct file *file, #ifdef CONFIG_PROC_FS -static struct file_operations isdn_fops = +static const struct file_operations isdn_fops = { .owner = THIS_MODULE, .llseek = no_llseek, diff --git a/drivers/isdn/hardware/eicon/divamnt.c b/drivers/isdn/hardware/eicon/divamnt.c index 77155d9f39..6b2940ed07 100644 --- a/drivers/isdn/hardware/eicon/divamnt.c +++ b/drivers/isdn/hardware/eicon/divamnt.c @@ -164,7 +164,7 @@ static ssize_t divas_maint_read(struct file *file, char __user *buf, return (maint_read_write(buf, (int) count)); } -static struct file_operations divas_maint_fops = { +static const struct file_operations divas_maint_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = divas_maint_read, diff --git a/drivers/isdn/hardware/eicon/divasi.c b/drivers/isdn/hardware/eicon/divasi.c index fff0d89c80..556b19615b 100644 --- a/drivers/isdn/hardware/eicon/divasi.c +++ b/drivers/isdn/hardware/eicon/divasi.c @@ -131,7 +131,7 @@ static void remove_um_idi_proc(void) } } -static struct file_operations divas_idi_fops = { +static const struct file_operations divas_idi_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = um_idi_read, diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c index 91fc92c01a..b365e44072 100644 --- a/drivers/isdn/hardware/eicon/divasmain.c +++ b/drivers/isdn/hardware/eicon/divasmain.c @@ -663,7 +663,7 @@ static unsigned int divas_poll(struct file *file, poll_table * wait) return (POLLIN | POLLRDNORM); } -static struct file_operations divas_fops = { +static const struct file_operations divas_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = divas_read, diff --git a/drivers/isdn/hardware/eicon/divasproc.c b/drivers/isdn/hardware/eicon/divasproc.c index 6a4373a4f1..0632a26069 100644 --- a/drivers/isdn/hardware/eicon/divasproc.c +++ b/drivers/isdn/hardware/eicon/divasproc.c @@ -113,7 +113,7 @@ static int divas_close(struct inode *inode, struct file *file) return (0); } -static struct file_operations divas_fops = { +static const struct file_operations divas_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .read = divas_read, diff --git a/drivers/isdn/hysdn/hysdn_procconf.c b/drivers/isdn/hysdn/hysdn_procconf.c index 94a9350891..dc477e0aab 100644 --- a/drivers/isdn/hysdn/hysdn_procconf.c +++ b/drivers/isdn/hysdn/hysdn_procconf.c @@ -367,7 +367,7 @@ hysdn_conf_close(struct inode *ino, struct file *filep) /******************************************************/ /* table for conf filesystem functions defined above. */ /******************************************************/ -static struct file_operations conf_fops = +static const struct file_operations conf_fops = { .llseek = no_llseek, .read = hysdn_conf_read, diff --git a/drivers/isdn/hysdn/hysdn_proclog.c b/drivers/isdn/hysdn/hysdn_proclog.c index 375d956884..f7e83a86f4 100644 --- a/drivers/isdn/hysdn/hysdn_proclog.c +++ b/drivers/isdn/hysdn/hysdn_proclog.c @@ -383,7 +383,7 @@ hysdn_log_poll(struct file *file, poll_table * wait) /**************************************************/ /* table for log filesystem functions defined above. */ /**************************************************/ -static struct file_operations log_fops = +static const struct file_operations log_fops = { .llseek = no_llseek, .read = hysdn_log_read, diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index 6a2ef0a87e..9c926e41b1 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c @@ -1822,7 +1822,7 @@ isdn_close(struct inode *ino, struct file *filep) return 0; } -static struct file_operations isdn_fops = +static const struct file_operations isdn_fops = { .owner = THIS_MODULE, .llseek = no_llseek, -- 2.39.5