aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2007-02-12 03:55:34 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-12 12:48:45 -0500
commitd54b1fdb1d9f82e375a299e22bd366aad52d4c34 (patch)
treef94768d59702dbbc0beb9a70d9be65dbc5e5108d
parentfa027c2a0a0d6d1df6b29ee99048502c93da0dd4 (diff)
[PATCH] mark struct file_operations const 5
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 <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/message/i2o/i2o_config.c2
-rw-r--r--drivers/message/i2o/i2o_proc.c38
-rw-r--r--drivers/misc/hdpuftrs/hdpu_cpustate.c2
-rw-r--r--drivers/misc/ibmasm/ibmasmfs.c10
-rw-r--r--drivers/mtd/mtdchar.c2
-rw-r--r--drivers/net/bonding/bond_main.c2
-rw-r--r--drivers/net/hamradio/bpqether.c2
-rw-r--r--drivers/net/hamradio/scc.c2
-rw-r--r--drivers/net/hamradio/yam.c2
-rw-r--r--drivers/net/ibmveth.c2
-rw-r--r--drivers/net/irda/vlsi_ir.c2
-rw-r--r--drivers/net/ppp_generic.c2
-rw-r--r--drivers/net/pppoe.c2
-rw-r--r--drivers/net/tun.c2
-rw-r--r--drivers/net/wan/cosa.c2
-rw-r--r--drivers/net/wireless/airo.c16
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c12
-rw-r--r--drivers/net/wireless/strip.c2
-rw-r--r--drivers/oprofile/event_buffer.c2
-rw-r--r--drivers/oprofile/event_buffer.h2
-rw-r--r--drivers/oprofile/oprofile_files.c10
-rw-r--r--drivers/oprofile/oprofilefs.c6
-rw-r--r--drivers/parisc/ccio-dma.c4
-rw-r--r--drivers/parisc/eisa_eeprom.c2
-rw-r--r--drivers/parisc/sba_iommu.c4
-rw-r--r--drivers/pci/hotplug/cpqphp_sysfs.c2
-rw-r--r--drivers/pci/proc.c4
-rw-r--r--drivers/pcmcia/pcmcia_ioctl.c2
-rw-r--r--drivers/pnp/isapnp/proc.c2
-rw-r--r--drivers/rtc/rtc-dev.c2
-rw-r--r--drivers/rtc/rtc-proc.c2
-rw-r--r--drivers/s390/block/dasd_eer.c2
-rw-r--r--drivers/s390/block/dasd_proc.c2
-rw-r--r--drivers/s390/char/fs3270.c2
-rw-r--r--drivers/s390/char/monreader.c2
-rw-r--r--drivers/s390/char/monwriter.c2
-rw-r--r--drivers/s390/char/tape_char.c2
-rw-r--r--drivers/s390/char/tape_proc.c2
-rw-r--r--drivers/s390/char/vmcp.c2
-rw-r--r--drivers/s390/char/vmlogrdr.c2
-rw-r--r--drivers/s390/char/vmwatchdog.c2
-rw-r--r--drivers/s390/cio/blacklist.c2
-rw-r--r--drivers/s390/crypto/zcrypt_api.c2
-rw-r--r--drivers/s390/net/qeth_proc.c4
-rw-r--r--drivers/s390/scsi/zfcp_aux.c2
45 files changed, 89 insertions, 89 deletions
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c
index e33d446e7493..8ba275a12773 100644
--- a/drivers/message/i2o/i2o_config.c
+++ b/drivers/message/i2o/i2o_config.c
@@ -1111,7 +1111,7 @@ static int cfg_release(struct inode *inode, struct file *file)
1111 return 0; 1111 return 0;
1112} 1112}
1113 1113
1114static struct file_operations config_fops = { 1114static const struct file_operations config_fops = {
1115 .owner = THIS_MODULE, 1115 .owner = THIS_MODULE,
1116 .llseek = no_llseek, 1116 .llseek = no_llseek,
1117 .ioctl = i2o_cfg_ioctl, 1117 .ioctl = i2o_cfg_ioctl,
diff --git a/drivers/message/i2o/i2o_proc.c b/drivers/message/i2o/i2o_proc.c
index a61cb17c5c12..06892ac2286e 100644
--- a/drivers/message/i2o/i2o_proc.c
+++ b/drivers/message/i2o/i2o_proc.c
@@ -1703,133 +1703,133 @@ static int i2o_seq_open_dev_name(struct inode *inode, struct file *file)
1703 return single_open(file, i2o_seq_show_dev_name, PDE(inode)->data); 1703 return single_open(file, i2o_seq_show_dev_name, PDE(inode)->data);
1704}; 1704};
1705 1705
1706static struct file_operations i2o_seq_fops_lct = { 1706static const struct file_operations i2o_seq_fops_lct = {
1707 .open = i2o_seq_open_lct, 1707 .open = i2o_seq_open_lct,
1708 .read = seq_read, 1708 .read = seq_read,
1709 .llseek = seq_lseek, 1709 .llseek = seq_lseek,
1710 .release = single_release, 1710 .release = single_release,
1711}; 1711};
1712 1712
1713static struct file_operations i2o_seq_fops_hrt = { 1713static const struct file_operations i2o_seq_fops_hrt = {
1714 .open = i2o_seq_open_hrt, 1714 .open = i2o_seq_open_hrt,
1715 .read = seq_read, 1715 .read = seq_read,
1716 .llseek = seq_lseek, 1716 .llseek = seq_lseek,
1717 .release = single_release, 1717 .release = single_release,
1718}; 1718};
1719 1719
1720static struct file_operations i2o_seq_fops_status = { 1720static const struct file_operations i2o_seq_fops_status = {
1721 .open = i2o_seq_open_status, 1721 .open = i2o_seq_open_status,
1722 .read = seq_read, 1722 .read = seq_read,
1723 .llseek = seq_lseek, 1723 .llseek = seq_lseek,
1724 .release = single_release, 1724 .release = single_release,
1725}; 1725};
1726 1726
1727static struct file_operations i2o_seq_fops_hw = { 1727static const struct file_operations i2o_seq_fops_hw = {
1728 .open = i2o_seq_open_hw, 1728 .open = i2o_seq_open_hw,
1729 .read = seq_read, 1729 .read = seq_read,
1730 .llseek = seq_lseek, 1730 .llseek = seq_lseek,
1731 .release = single_release, 1731 .release = single_release,
1732}; 1732};
1733 1733
1734static struct file_operations i2o_seq_fops_ddm_table = { 1734static const struct file_operations i2o_seq_fops_ddm_table = {
1735 .open = i2o_seq_open_ddm_table, 1735 .open = i2o_seq_open_ddm_table,
1736 .read = seq_read, 1736 .read = seq_read,
1737 .llseek = seq_lseek, 1737 .llseek = seq_lseek,
1738 .release = single_release, 1738 .release = single_release,
1739}; 1739};
1740 1740
1741static struct file_operations i2o_seq_fops_driver_store = { 1741static const struct file_operations i2o_seq_fops_driver_store = {
1742 .open = i2o_seq_open_driver_store, 1742 .open = i2o_seq_open_driver_store,
1743 .read = seq_read, 1743 .read = seq_read,
1744 .llseek = seq_lseek, 1744 .llseek = seq_lseek,
1745 .release = single_release, 1745 .release = single_release,
1746}; 1746};
1747 1747
1748static struct file_operations i2o_seq_fops_drivers_stored = { 1748static const struct file_operations i2o_seq_fops_drivers_stored = {
1749 .open = i2o_seq_open_drivers_stored, 1749 .open = i2o_seq_open_drivers_stored,
1750 .read = seq_read, 1750 .read = seq_read,
1751 .llseek = seq_lseek, 1751 .llseek = seq_lseek,
1752 .release = single_release, 1752 .release = single_release,
1753}; 1753};
1754 1754
1755static struct file_operations i2o_seq_fops_groups = { 1755static const struct file_operations i2o_seq_fops_groups = {
1756 .open = i2o_seq_open_groups, 1756 .open = i2o_seq_open_groups,
1757 .read = seq_read, 1757 .read = seq_read,
1758 .llseek = seq_lseek, 1758 .llseek = seq_lseek,
1759 .release = single_release, 1759 .release = single_release,
1760}; 1760};
1761 1761
1762static struct file_operations i2o_seq_fops_phys_device = { 1762static const struct file_operations i2o_seq_fops_phys_device = {
1763 .open = i2o_seq_open_phys_device, 1763 .open = i2o_seq_open_phys_device,
1764 .read = seq_read, 1764 .read = seq_read,
1765 .llseek = seq_lseek, 1765 .llseek = seq_lseek,
1766 .release = single_release, 1766 .release = single_release,
1767}; 1767};
1768 1768
1769static struct file_operations i2o_seq_fops_claimed = { 1769static const struct file_operations i2o_seq_fops_claimed = {
1770 .open = i2o_seq_open_claimed, 1770 .open = i2o_seq_open_claimed,
1771 .read = seq_read, 1771 .read = seq_read,
1772 .llseek = seq_lseek, 1772 .llseek = seq_lseek,
1773 .release = single_release, 1773 .release = single_release,
1774}; 1774};
1775 1775
1776static struct file_operations i2o_seq_fops_users = { 1776static const struct file_operations i2o_seq_fops_users = {
1777 .open = i2o_seq_open_users, 1777 .open = i2o_seq_open_users,
1778 .read = seq_read, 1778 .read = seq_read,
1779 .llseek = seq_lseek, 1779 .llseek = seq_lseek,
1780 .release = single_release, 1780 .release = single_release,
1781}; 1781};
1782 1782
1783static struct file_operations i2o_seq_fops_priv_msgs = { 1783static const struct file_operations i2o_seq_fops_priv_msgs = {
1784 .open = i2o_seq_open_priv_msgs, 1784 .open = i2o_seq_open_priv_msgs,
1785 .read = seq_read, 1785 .read = seq_read,
1786 .llseek = seq_lseek, 1786 .llseek = seq_lseek,
1787 .release = single_release, 1787 .release = single_release,
1788}; 1788};
1789 1789
1790static struct file_operations i2o_seq_fops_authorized_users = { 1790static const struct file_operations i2o_seq_fops_authorized_users = {
1791 .open = i2o_seq_open_authorized_users, 1791 .open = i2o_seq_open_authorized_users,
1792 .read = seq_read, 1792 .read = seq_read,
1793 .llseek = seq_lseek, 1793 .llseek = seq_lseek,
1794 .release = single_release, 1794 .release = single_release,
1795}; 1795};
1796 1796
1797static struct file_operations i2o_seq_fops_dev_name = { 1797static const struct file_operations i2o_seq_fops_dev_name = {
1798 .open = i2o_seq_open_dev_name, 1798 .open = i2o_seq_open_dev_name,
1799 .read = seq_read, 1799 .read = seq_read,
1800 .llseek = seq_lseek, 1800 .llseek = seq_lseek,
1801 .release = single_release, 1801 .release = single_release,
1802}; 1802};
1803 1803
1804static struct file_operations i2o_seq_fops_dev_identity = { 1804static const struct file_operations i2o_seq_fops_dev_identity = {
1805 .open = i2o_seq_open_dev_identity, 1805 .open = i2o_seq_open_dev_identity,
1806 .read = seq_read, 1806 .read = seq_read,
1807 .llseek = seq_lseek, 1807 .llseek = seq_lseek,
1808 .release = single_release, 1808 .release = single_release,
1809}; 1809};
1810 1810
1811static struct file_operations i2o_seq_fops_ddm_identity = { 1811static const struct file_operations i2o_seq_fops_ddm_identity = {
1812 .open = i2o_seq_open_ddm_identity, 1812 .open = i2o_seq_open_ddm_identity,
1813 .read = seq_read, 1813 .read = seq_read,
1814 .llseek = seq_lseek, 1814 .llseek = seq_lseek,
1815 .release = single_release, 1815 .release = single_release,
1816}; 1816};
1817 1817
1818static struct file_operations i2o_seq_fops_uinfo = { 1818static const struct file_operations i2o_seq_fops_uinfo = {
1819 .open = i2o_seq_open_uinfo, 1819 .open = i2o_seq_open_uinfo,
1820 .read = seq_read, 1820 .read = seq_read,
1821 .llseek = seq_lseek, 1821 .llseek = seq_lseek,
1822 .release = single_release, 1822 .release = single_release,
1823}; 1823};
1824 1824
1825static struct file_operations i2o_seq_fops_sgl_limits = { 1825static const struct file_operations i2o_seq_fops_sgl_limits = {
1826 .open = i2o_seq_open_sgl_limits, 1826 .open = i2o_seq_open_sgl_limits,
1827 .read = seq_read, 1827 .read = seq_read,
1828 .llseek = seq_lseek, 1828 .llseek = seq_lseek,
1829 .release = single_release, 1829 .release = single_release,
1830}; 1830};
1831 1831
1832static struct file_operations i2o_seq_fops_sensors = { 1832static const struct file_operations i2o_seq_fops_sensors = {
1833 .open = i2o_seq_open_sensors, 1833 .open = i2o_seq_open_sensors,
1834 .read = seq_read, 1834 .read = seq_read,
1835 .llseek = seq_lseek, 1835 .llseek = seq_lseek,
diff --git a/drivers/misc/hdpuftrs/hdpu_cpustate.c b/drivers/misc/hdpuftrs/hdpu_cpustate.c
index 11a801be71c8..ca86f113f36a 100644
--- a/drivers/misc/hdpuftrs/hdpu_cpustate.c
+++ b/drivers/misc/hdpuftrs/hdpu_cpustate.c
@@ -169,7 +169,7 @@ static struct platform_driver hdpu_cpustate_driver = {
169/* 169/*
170 * The various file operations we support. 170 * The various file operations we support.
171 */ 171 */
172static struct file_operations cpustate_fops = { 172static const struct file_operations cpustate_fops = {
173 owner:THIS_MODULE, 173 owner:THIS_MODULE,
174 open:cpustate_open, 174 open:cpustate_open,
175 release:cpustate_release, 175 release:cpustate_release,
diff --git a/drivers/misc/ibmasm/ibmasmfs.c b/drivers/misc/ibmasm/ibmasmfs.c
index b99dc507de2e..c436d3de8b8b 100644
--- a/drivers/misc/ibmasm/ibmasmfs.c
+++ b/drivers/misc/ibmasm/ibmasmfs.c
@@ -156,7 +156,7 @@ static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode)
156static struct dentry *ibmasmfs_create_file (struct super_block *sb, 156static struct dentry *ibmasmfs_create_file (struct super_block *sb,
157 struct dentry *parent, 157 struct dentry *parent,
158 const char *name, 158 const char *name,
159 struct file_operations *fops, 159 const struct file_operations *fops,
160 void *data, 160 void *data,
161 int mode) 161 int mode)
162{ 162{
@@ -581,28 +581,28 @@ static ssize_t remote_settings_file_write(struct file *file, const char __user *
581 return count; 581 return count;
582} 582}
583 583
584static struct file_operations command_fops = { 584static const struct file_operations command_fops = {
585 .open = command_file_open, 585 .open = command_file_open,
586 .release = command_file_close, 586 .release = command_file_close,
587 .read = command_file_read, 587 .read = command_file_read,
588 .write = command_file_write, 588 .write = command_file_write,
589}; 589};
590 590
591static struct file_operations event_fops = { 591static const struct file_operations event_fops = {
592 .open = event_file_open, 592 .open = event_file_open,
593 .release = event_file_close, 593 .release = event_file_close,
594 .read = event_file_read, 594 .read = event_file_read,
595 .write = event_file_write, 595 .write = event_file_write,
596}; 596};
597 597
598static struct file_operations r_heartbeat_fops = { 598static const struct file_operations r_heartbeat_fops = {
599 .open = r_heartbeat_file_open, 599 .open = r_heartbeat_file_open,
600 .release = r_heartbeat_file_close, 600 .release = r_heartbeat_file_close,
601 .read = r_heartbeat_file_read, 601 .read = r_heartbeat_file_read,
602 .write = r_heartbeat_file_write, 602 .write = r_heartbeat_file_write,
603}; 603};
604 604
605static struct file_operations remote_settings_fops = { 605static const struct file_operations remote_settings_fops = {
606 .open = remote_settings_file_open, 606 .open = remote_settings_file_open,
607 .release = remote_settings_file_close, 607 .release = remote_settings_file_close,
608 .read = remote_settings_file_read, 608 .read = remote_settings_file_read,
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index 3013d0883b97..61a994ea8af1 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -759,7 +759,7 @@ static int mtd_ioctl(struct inode *inode, struct file *file,
759 return ret; 759 return ret;
760} /* memory_ioctl */ 760} /* memory_ioctl */
761 761
762static struct file_operations mtd_fops = { 762static const struct file_operations mtd_fops = {
763 .owner = THIS_MODULE, 763 .owner = THIS_MODULE,
764 .llseek = mtd_lseek, 764 .llseek = mtd_lseek,
765 .read = mtd_read, 765 .read = mtd_read,
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 8ce8fec615ba..61a6fa465d71 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3120,7 +3120,7 @@ static int bond_info_open(struct inode *inode, struct file *file)
3120 return res; 3120 return res;
3121} 3121}
3122 3122
3123static struct file_operations bond_info_fops = { 3123static const struct file_operations bond_info_fops = {
3124 .owner = THIS_MODULE, 3124 .owner = THIS_MODULE,
3125 .open = bond_info_open, 3125 .open = bond_info_open,
3126 .read = seq_read, 3126 .read = seq_read,
diff --git a/drivers/net/hamradio/bpqether.c b/drivers/net/hamradio/bpqether.c
index 5b788d84011f..d2542697e298 100644
--- a/drivers/net/hamradio/bpqether.c
+++ b/drivers/net/hamradio/bpqether.c
@@ -459,7 +459,7 @@ static int bpq_info_open(struct inode *inode, struct file *file)
459 return seq_open(file, &bpq_seqops); 459 return seq_open(file, &bpq_seqops);
460} 460}
461 461
462static struct file_operations bpq_info_fops = { 462static const struct file_operations bpq_info_fops = {
463 .owner = THIS_MODULE, 463 .owner = THIS_MODULE,
464 .open = bpq_info_open, 464 .open = bpq_info_open,
465 .read = seq_read, 465 .read = seq_read,
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index 2ce047e9d262..6fdaad5a4577 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -2083,7 +2083,7 @@ static int scc_net_seq_open(struct inode *inode, struct file *file)
2083 return seq_open(file, &scc_net_seq_ops); 2083 return seq_open(file, &scc_net_seq_ops);
2084} 2084}
2085 2085
2086static struct file_operations scc_net_seq_fops = { 2086static const struct file_operations scc_net_seq_fops = {
2087 .owner = THIS_MODULE, 2087 .owner = THIS_MODULE,
2088 .open = scc_net_seq_open, 2088 .open = scc_net_seq_open,
2089 .read = seq_read, 2089 .read = seq_read,
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index 6d74f08720d5..08f27119a807 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -804,7 +804,7 @@ static int yam_info_open(struct inode *inode, struct file *file)
804 return seq_open(file, &yam_seqops); 804 return seq_open(file, &yam_seqops);
805} 805}
806 806
807static struct file_operations yam_info_fops = { 807static const struct file_operations yam_info_fops = {
808 .owner = THIS_MODULE, 808 .owner = THIS_MODULE,
809 .open = yam_info_open, 809 .open = yam_info_open,
810 .read = seq_read, 810 .read = seq_read,
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index 99343b5836b8..458db0538a9a 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -1156,7 +1156,7 @@ static int ibmveth_proc_open(struct inode *inode, struct file *file)
1156 return rc; 1156 return rc;
1157} 1157}
1158 1158
1159static struct file_operations ibmveth_proc_fops = { 1159static const struct file_operations ibmveth_proc_fops = {
1160 .owner = THIS_MODULE, 1160 .owner = THIS_MODULE,
1161 .open = ibmveth_proc_open, 1161 .open = ibmveth_proc_open,
1162 .read = seq_read, 1162 .read = seq_read,
diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c
index e2b1af618450..3457e9d8b667 100644
--- a/drivers/net/irda/vlsi_ir.c
+++ b/drivers/net/irda/vlsi_ir.c
@@ -385,7 +385,7 @@ static int vlsi_seq_open(struct inode *inode, struct file *file)
385 return single_open(file, vlsi_seq_show, PDE(inode)->data); 385 return single_open(file, vlsi_seq_show, PDE(inode)->data);
386} 386}
387 387
388static struct file_operations vlsi_proc_fops = { 388static const struct file_operations vlsi_proc_fops = {
389 .owner = THIS_MODULE, 389 .owner = THIS_MODULE,
390 .open = vlsi_seq_open, 390 .open = vlsi_seq_open,
391 .read = seq_read, 391 .read = seq_read,
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c
index 0986f6c843e6..11b575f89856 100644
--- a/drivers/net/ppp_generic.c
+++ b/drivers/net/ppp_generic.c
@@ -834,7 +834,7 @@ static int ppp_unattached_ioctl(struct ppp_file *pf, struct file *file,
834 return err; 834 return err;
835} 835}
836 836
837static struct file_operations ppp_device_fops = { 837static const struct file_operations ppp_device_fops = {
838 .owner = THIS_MODULE, 838 .owner = THIS_MODULE,
839 .read = ppp_read, 839 .read = ppp_read,
840 .write = ppp_write, 840 .write = ppp_write,
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c
index 315d5c3fc66a..860bb0f60f68 100644
--- a/drivers/net/pppoe.c
+++ b/drivers/net/pppoe.c
@@ -1043,7 +1043,7 @@ static int pppoe_seq_open(struct inode *inode, struct file *file)
1043 return seq_open(file, &pppoe_seq_ops); 1043 return seq_open(file, &pppoe_seq_ops);
1044} 1044}
1045 1045
1046static struct file_operations pppoe_seq_fops = { 1046static const struct file_operations pppoe_seq_fops = {
1047 .owner = THIS_MODULE, 1047 .owner = THIS_MODULE,
1048 .open = pppoe_seq_open, 1048 .open = pppoe_seq_open,
1049 .read = seq_read, 1049 .read = seq_read,
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 151a2e10e4f3..5643d1e84ed6 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -744,7 +744,7 @@ static int tun_chr_close(struct inode *inode, struct file *file)
744 return 0; 744 return 0;
745} 745}
746 746
747static struct file_operations tun_fops = { 747static const struct file_operations tun_fops = {
748 .owner = THIS_MODULE, 748 .owner = THIS_MODULE,
749 .llseek = no_llseek, 749 .llseek = no_llseek,
750 .read = do_sync_read, 750 .read = do_sync_read,
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index 6c7dfb50143f..e91b5a84a20a 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -311,7 +311,7 @@ static int cosa_chardev_ioctl(struct inode *inode, struct file *file,
311static int cosa_fasync(struct inode *inode, struct file *file, int on); 311static int cosa_fasync(struct inode *inode, struct file *file, int on);
312#endif 312#endif
313 313
314static struct file_operations cosa_fops = { 314static const struct file_operations cosa_fops = {
315 .owner = THIS_MODULE, 315 .owner = THIS_MODULE,
316 .llseek = no_llseek, 316 .llseek = no_llseek,
317 .read = cosa_read, 317 .read = cosa_read,
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 44a22701da97..b08055abe83a 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -4430,53 +4430,53 @@ static int proc_BSSList_open( struct inode *inode, struct file *file );
4430static int proc_config_open( struct inode *inode, struct file *file ); 4430static int proc_config_open( struct inode *inode, struct file *file );
4431static int proc_wepkey_open( struct inode *inode, struct file *file ); 4431static int proc_wepkey_open( struct inode *inode, struct file *file );
4432 4432
4433static struct file_operations proc_statsdelta_ops = { 4433static const struct file_operations proc_statsdelta_ops = {
4434 .read = proc_read, 4434 .read = proc_read,
4435 .open = proc_statsdelta_open, 4435 .open = proc_statsdelta_open,
4436 .release = proc_close 4436 .release = proc_close
4437}; 4437};
4438 4438
4439static struct file_operations proc_stats_ops = { 4439static const struct file_operations proc_stats_ops = {
4440 .read = proc_read, 4440 .read = proc_read,
4441 .open = proc_stats_open, 4441 .open = proc_stats_open,
4442 .release = proc_close 4442 .release = proc_close
4443}; 4443};
4444 4444
4445static struct file_operations proc_status_ops = { 4445static const struct file_operations proc_status_ops = {
4446 .read = proc_read, 4446 .read = proc_read,
4447 .open = proc_status_open, 4447 .open = proc_status_open,
4448 .release = proc_close 4448 .release = proc_close
4449}; 4449};
4450 4450
4451static struct file_operations proc_SSID_ops = { 4451static const struct file_operations proc_SSID_ops = {
4452 .read = proc_read, 4452 .read = proc_read,
4453 .write = proc_write, 4453 .write = proc_write,
4454 .open = proc_SSID_open, 4454 .open = proc_SSID_open,
4455 .release = proc_close 4455 .release = proc_close
4456}; 4456};
4457 4457
4458static struct file_operations proc_BSSList_ops = { 4458static const struct file_operations proc_BSSList_ops = {
4459 .read = proc_read, 4459 .read = proc_read,
4460 .write = proc_write, 4460 .write = proc_write,
4461 .open = proc_BSSList_open, 4461 .open = proc_BSSList_open,
4462 .release = proc_close 4462 .release = proc_close
4463}; 4463};
4464 4464
4465static struct file_operations proc_APList_ops = { 4465static const struct file_operations proc_APList_ops = {
4466 .read = proc_read, 4466 .read = proc_read,
4467 .write = proc_write, 4467 .write = proc_write,
4468 .open = proc_APList_open, 4468 .open = proc_APList_open,
4469 .release = proc_close 4469 .release = proc_close
4470}; 4470};
4471 4471
4472static struct file_operations proc_config_ops = { 4472static const struct file_operations proc_config_ops = {
4473 .read = proc_read, 4473 .read = proc_read,
4474 .write = proc_write, 4474 .write = proc_write,
4475 .open = proc_config_open, 4475 .open = proc_config_open,
4476 .release = proc_close 4476 .release = proc_close
4477}; 4477};
4478 4478
4479static struct file_operations proc_wepkey_ops = { 4479static const struct file_operations proc_wepkey_ops = {
4480 .read = proc_read, 4480 .read = proc_read,
4481 .write = proc_write, 4481 .write = proc_write,
4482 .open = proc_wepkey_open, 4482 .open = proc_wepkey_open,
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c b/drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c
index b9df06a06ea9..35dbe4554513 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c
@@ -355,37 +355,37 @@ out_up:
355#undef fappend 355#undef fappend
356 356
357 357
358static struct file_operations devinfo_fops = { 358static const struct file_operations devinfo_fops = {
359 .read = devinfo_read_file, 359 .read = devinfo_read_file,
360 .write = write_file_dummy, 360 .write = write_file_dummy,
361 .open = open_file_generic, 361 .open = open_file_generic,
362}; 362};
363 363
364static struct file_operations spromdump_fops = { 364static const struct file_operations spromdump_fops = {
365 .read = spromdump_read_file, 365 .read = spromdump_read_file,
366 .write = write_file_dummy, 366 .write = write_file_dummy,
367 .open = open_file_generic, 367 .open = open_file_generic,
368}; 368};
369 369
370static struct file_operations drvinfo_fops = { 370static const struct file_operations drvinfo_fops = {
371 .read = drvinfo_read_file, 371 .read = drvinfo_read_file,
372 .write = write_file_dummy, 372 .write = write_file_dummy,
373 .open = open_file_generic, 373 .open = open_file_generic,
374}; 374};
375 375
376static struct file_operations tsf_fops = { 376static const struct file_operations tsf_fops = {
377 .read = tsf_read_file, 377 .read = tsf_read_file,
378 .write = tsf_write_file, 378 .write = tsf_write_file,
379 .open = open_file_generic, 379 .open = open_file_generic,
380}; 380};
381 381
382static struct file_operations txstat_fops = { 382static const struct file_operations txstat_fops = {
383 .read = txstat_read_file, 383 .read = txstat_read_file,
384 .write = write_file_dummy, 384 .write = write_file_dummy,
385 .open = open_file_generic, 385 .open = open_file_generic,
386}; 386};
387 387
388static struct file_operations restart_fops = { 388static const struct file_operations restart_fops = {
389 .write = restart_write_file, 389 .write = restart_write_file,
390 .open = open_file_generic, 390 .open = open_file_generic,
391}; 391};
diff --git a/drivers/net/wireless/strip.c b/drivers/net/wireless/strip.c
index ce3a8bac66ff..f5ce1c6063d8 100644
--- a/drivers/net/wireless/strip.c
+++ b/drivers/net/wireless/strip.c
@@ -1160,7 +1160,7 @@ static int strip_seq_open(struct inode *inode, struct file *file)
1160 return seq_open(file, &strip_seq_ops); 1160 return seq_open(file, &strip_seq_ops);
1161} 1161}
1162 1162
1163static struct file_operations strip_seq_fops = { 1163static const struct file_operations strip_seq_fops = {
1164 .owner = THIS_MODULE, 1164 .owner = THIS_MODULE,
1165 .open = strip_seq_open, 1165 .open = strip_seq_open,
1166 .read = seq_read, 1166 .read = seq_read,
diff --git a/drivers/oprofile/event_buffer.c b/drivers/oprofile/event_buffer.c
index 04d641714d34..00e937e9240e 100644
--- a/drivers/oprofile/event_buffer.c
+++ b/drivers/oprofile/event_buffer.c
@@ -181,7 +181,7 @@ out:
181 return retval; 181 return retval;
182} 182}
183 183
184struct file_operations event_buffer_fops = { 184const struct file_operations event_buffer_fops = {
185 .open = event_buffer_open, 185 .open = event_buffer_open,
186 .release = event_buffer_release, 186 .release = event_buffer_release,
187 .read = event_buffer_read, 187 .read = event_buffer_read,
diff --git a/drivers/oprofile/event_buffer.h b/drivers/oprofile/event_buffer.h
index 92416276e577..9b6a4ebd03e3 100644
--- a/drivers/oprofile/event_buffer.h
+++ b/drivers/oprofile/event_buffer.h
@@ -41,7 +41,7 @@ void wake_up_buffer_waiter(void);
41/* add data to the event buffer */ 41/* add data to the event buffer */
42void add_event_entry(unsigned long data); 42void add_event_entry(unsigned long data);
43 43
44extern struct file_operations event_buffer_fops; 44extern const struct file_operations event_buffer_fops;
45 45
46/* mutex between sync_cpu_buffers() and the 46/* mutex between sync_cpu_buffers() and the
47 * file reading code. 47 * file reading code.
diff --git a/drivers/oprofile/oprofile_files.c b/drivers/oprofile/oprofile_files.c
index a72006c08f2b..ef953ba5ab6b 100644
--- a/drivers/oprofile/oprofile_files.c
+++ b/drivers/oprofile/oprofile_files.c
@@ -44,7 +44,7 @@ static ssize_t depth_write(struct file * file, char const __user * buf, size_t c
44} 44}
45 45
46 46
47static struct file_operations depth_fops = { 47static const struct file_operations depth_fops = {
48 .read = depth_read, 48 .read = depth_read,
49 .write = depth_write 49 .write = depth_write
50}; 50};
@@ -56,7 +56,7 @@ static ssize_t pointer_size_read(struct file * file, char __user * buf, size_t c
56} 56}
57 57
58 58
59static struct file_operations pointer_size_fops = { 59static const struct file_operations pointer_size_fops = {
60 .read = pointer_size_read, 60 .read = pointer_size_read,
61}; 61};
62 62
@@ -67,7 +67,7 @@ static ssize_t cpu_type_read(struct file * file, char __user * buf, size_t count
67} 67}
68 68
69 69
70static struct file_operations cpu_type_fops = { 70static const struct file_operations cpu_type_fops = {
71 .read = cpu_type_read, 71 .read = cpu_type_read,
72}; 72};
73 73
@@ -101,7 +101,7 @@ static ssize_t enable_write(struct file * file, char const __user * buf, size_t
101} 101}
102 102
103 103
104static struct file_operations enable_fops = { 104static const struct file_operations enable_fops = {
105 .read = enable_read, 105 .read = enable_read,
106 .write = enable_write, 106 .write = enable_write,
107}; 107};
@@ -114,7 +114,7 @@ static ssize_t dump_write(struct file * file, char const __user * buf, size_t co
114} 114}
115 115
116 116
117static struct file_operations dump_fops = { 117static const struct file_operations dump_fops = {
118 .write = dump_write, 118 .write = dump_write,
119}; 119};
120 120
diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c
index 5756401fb15b..6e67b42ca46d 100644
--- a/drivers/oprofile/oprofilefs.c
+++ b/drivers/oprofile/oprofilefs.c
@@ -115,14 +115,14 @@ static int default_open(struct inode * inode, struct file * filp)
115} 115}
116 116
117 117
118static struct file_operations ulong_fops = { 118static const struct file_operations ulong_fops = {
119 .read = ulong_read_file, 119 .read = ulong_read_file,
120 .write = ulong_write_file, 120 .write = ulong_write_file,
121 .open = default_open, 121 .open = default_open,
122}; 122};
123 123
124 124
125static struct file_operations ulong_ro_fops = { 125static const struct file_operations ulong_ro_fops = {
126 .read = ulong_read_file, 126 .read = ulong_read_file,
127 .open = default_open, 127 .open = default_open,
128}; 128};
@@ -182,7 +182,7 @@ static ssize_t atomic_read_file(struct file * file, char __user * buf, size_t co
182} 182}
183 183
184 184
185static struct file_operations atomic_ro_fops = { 185static const struct file_operations atomic_ro_fops = {
186 .read = atomic_read_file, 186 .read = atomic_read_file,
187 .open = default_open, 187 .open = default_open,
188}; 188};
diff --git a/drivers/parisc/ccio-dma.c b/drivers/parisc/ccio-dma.c
index fe3f5f5365c5..894fdb9d44c0 100644
--- a/drivers/parisc/ccio-dma.c
+++ b/drivers/parisc/ccio-dma.c
@@ -1091,7 +1091,7 @@ static int ccio_proc_info_open(struct inode *inode, struct file *file)
1091 return single_open(file, &ccio_proc_info, NULL); 1091 return single_open(file, &ccio_proc_info, NULL);
1092} 1092}
1093 1093
1094static struct file_operations ccio_proc_info_fops = { 1094static const struct file_operations ccio_proc_info_fops = {
1095 .owner = THIS_MODULE, 1095 .owner = THIS_MODULE,
1096 .open = ccio_proc_info_open, 1096 .open = ccio_proc_info_open,
1097 .read = seq_read, 1097 .read = seq_read,
@@ -1127,7 +1127,7 @@ static int ccio_proc_bitmap_open(struct inode *inode, struct file *file)
1127 return single_open(file, &ccio_proc_bitmap_info, NULL); 1127 return single_open(file, &ccio_proc_bitmap_info, NULL);
1128} 1128}
1129 1129
1130static struct file_operations ccio_proc_bitmap_fops = { 1130static const struct file_operations ccio_proc_bitmap_fops = {
1131 .owner = THIS_MODULE, 1131 .owner = THIS_MODULE,
1132 .open = ccio_proc_bitmap_open, 1132 .open = ccio_proc_bitmap_open,
1133 .read = seq_read, 1133 .read = seq_read,
diff --git a/drivers/parisc/eisa_eeprom.c b/drivers/parisc/eisa_eeprom.c
index e13aafa70bf5..86e9c84a965e 100644
--- a/drivers/parisc/eisa_eeprom.c
+++ b/drivers/parisc/eisa_eeprom.c
@@ -97,7 +97,7 @@ static int eisa_eeprom_release(struct inode *inode, struct file *file)
97/* 97/*
98 * The various file operations we support. 98 * The various file operations we support.
99 */ 99 */
100static struct file_operations eisa_eeprom_fops = { 100static const struct file_operations eisa_eeprom_fops = {
101 .owner = THIS_MODULE, 101 .owner = THIS_MODULE,
102 .llseek = eisa_eeprom_llseek, 102 .llseek = eisa_eeprom_llseek,
103 .read = eisa_eeprom_read, 103 .read = eisa_eeprom_read,
diff --git a/drivers/parisc/sba_iommu.c b/drivers/parisc/sba_iommu.c
index f1e7ccd5475b..76a29dadd519 100644
--- a/drivers/parisc/sba_iommu.c
+++ b/drivers/parisc/sba_iommu.c
@@ -1799,7 +1799,7 @@ sba_proc_open(struct inode *i, struct file *f)
1799 return single_open(f, &sba_proc_info, NULL); 1799 return single_open(f, &sba_proc_info, NULL);
1800} 1800}
1801 1801
1802static struct file_operations sba_proc_fops = { 1802static const struct file_operations sba_proc_fops = {
1803 .owner = THIS_MODULE, 1803 .owner = THIS_MODULE,
1804 .open = sba_proc_open, 1804 .open = sba_proc_open,
1805 .read = seq_read, 1805 .read = seq_read,
@@ -1831,7 +1831,7 @@ sba_proc_bitmap_open(struct inode *i, struct file *f)
1831 return single_open(f, &sba_proc_bitmap_info, NULL); 1831 return single_open(f, &sba_proc_bitmap_info, NULL);
1832} 1832}
1833 1833
1834static struct file_operations sba_proc_bitmap_fops = { 1834static const struct file_operations sba_proc_bitmap_fops = {
1835 .owner = THIS_MODULE, 1835 .owner = THIS_MODULE,
1836 .open = sba_proc_bitmap_open, 1836 .open = sba_proc_bitmap_open,
1837 .read = seq_read, 1837 .read = seq_read,
diff --git a/drivers/pci/hotplug/cpqphp_sysfs.c b/drivers/pci/hotplug/cpqphp_sysfs.c
index 634f74d919d3..a13abf55d784 100644
--- a/drivers/pci/hotplug/cpqphp_sysfs.c
+++ b/drivers/pci/hotplug/cpqphp_sysfs.c
@@ -202,7 +202,7 @@ static int release(struct inode *inode, struct file *file)
202 return 0; 202 return 0;
203} 203}
204 204
205static struct file_operations debug_ops = { 205static const struct file_operations debug_ops = {
206 .owner = THIS_MODULE, 206 .owner = THIS_MODULE,
207 .open = open, 207 .open = open,
208 .llseek = lseek, 208 .llseek = lseek,
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index 4a6760a3b31f..ed87aa59f0b1 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -287,7 +287,7 @@ static int proc_bus_pci_release(struct inode *inode, struct file *file)
287} 287}
288#endif /* HAVE_PCI_MMAP */ 288#endif /* HAVE_PCI_MMAP */
289 289
290static struct file_operations proc_bus_pci_operations = { 290static const struct file_operations proc_bus_pci_operations = {
291 .llseek = proc_bus_pci_lseek, 291 .llseek = proc_bus_pci_lseek,
292 .read = proc_bus_pci_read, 292 .read = proc_bus_pci_read,
293 .write = proc_bus_pci_write, 293 .write = proc_bus_pci_write,
@@ -456,7 +456,7 @@ static int proc_bus_pci_dev_open(struct inode *inode, struct file *file)
456{ 456{
457 return seq_open(file, &proc_bus_pci_devices_op); 457 return seq_open(file, &proc_bus_pci_devices_op);
458} 458}
459static struct file_operations proc_bus_pci_dev_operations = { 459static const struct file_operations proc_bus_pci_dev_operations = {
460 .open = proc_bus_pci_dev_open, 460 .open = proc_bus_pci_dev_open,
461 .read = seq_read, 461 .read = seq_read,
462 .llseek = seq_lseek, 462 .llseek = seq_lseek,
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
index 88494149e910..27523c5f4dad 100644
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ b/drivers/pcmcia/pcmcia_ioctl.c
@@ -765,7 +765,7 @@ free_out:
765 765
766/*====================================================================*/ 766/*====================================================================*/
767 767
768static struct file_operations ds_fops = { 768static const struct file_operations ds_fops = {
769 .owner = THIS_MODULE, 769 .owner = THIS_MODULE,
770 .open = ds_open, 770 .open = ds_open,
771 .release = ds_release, 771 .release = ds_release,
diff --git a/drivers/pnp/isapnp/proc.c b/drivers/pnp/isapnp/proc.c
index d21f3c1e72fc..40b724ebe23b 100644
--- a/drivers/pnp/isapnp/proc.c
+++ b/drivers/pnp/isapnp/proc.c
@@ -85,7 +85,7 @@ static ssize_t isapnp_proc_bus_read(struct file *file, char __user *buf, size_t
85 return nbytes; 85 return nbytes;
86} 86}
87 87
88static struct file_operations isapnp_proc_bus_file_operations = 88static const struct file_operations isapnp_proc_bus_file_operations =
89{ 89{
90 .llseek = isapnp_proc_bus_lseek, 90 .llseek = isapnp_proc_bus_lseek,
91 .read = isapnp_proc_bus_read, 91 .read = isapnp_proc_bus_read,
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index 82f2ac87ccd4..137330b8636b 100644
--- a/drivers/rtc/rtc-dev.c
+++ b/drivers/rtc/rtc-dev.c
@@ -384,7 +384,7 @@ static int rtc_dev_fasync(int fd, struct file *file, int on)
384 return fasync_helper(fd, file, on, &rtc->async_queue); 384 return fasync_helper(fd, file, on, &rtc->async_queue);
385} 385}
386 386
387static struct file_operations rtc_dev_fops = { 387static const struct file_operations rtc_dev_fops = {
388 .owner = THIS_MODULE, 388 .owner = THIS_MODULE,
389 .llseek = no_llseek, 389 .llseek = no_llseek,
390 .read = rtc_dev_read, 390 .read = rtc_dev_read,
diff --git a/drivers/rtc/rtc-proc.c b/drivers/rtc/rtc-proc.c
index c272afd62173..1bd624fc685c 100644
--- a/drivers/rtc/rtc-proc.c
+++ b/drivers/rtc/rtc-proc.c
@@ -96,7 +96,7 @@ static int rtc_proc_release(struct inode *inode, struct file *file)
96 return res; 96 return res;
97} 97}
98 98
99static struct file_operations rtc_proc_fops = { 99static const struct file_operations rtc_proc_fops = {
100 .open = rtc_proc_open, 100 .open = rtc_proc_open,
101 .read = seq_read, 101 .read = seq_read,
102 .llseek = seq_lseek, 102 .llseek = seq_lseek,
diff --git a/drivers/s390/block/dasd_eer.c b/drivers/s390/block/dasd_eer.c
index 6cedc914077e..4b8a95fba1e5 100644
--- a/drivers/s390/block/dasd_eer.c
+++ b/drivers/s390/block/dasd_eer.c
@@ -650,7 +650,7 @@ static unsigned int dasd_eer_poll(struct file *filp, poll_table *ptable)
650 return mask; 650 return mask;
651} 651}
652 652
653static struct file_operations dasd_eer_fops = { 653static const struct file_operations dasd_eer_fops = {
654 .open = &dasd_eer_open, 654 .open = &dasd_eer_open,
655 .release = &dasd_eer_close, 655 .release = &dasd_eer_close,
656 .read = &dasd_eer_read, 656 .read = &dasd_eer_read,
diff --git a/drivers/s390/block/dasd_proc.c b/drivers/s390/block/dasd_proc.c
index 8b7e11815d70..8b3b0f4a157c 100644
--- a/drivers/s390/block/dasd_proc.c
+++ b/drivers/s390/block/dasd_proc.c
@@ -147,7 +147,7 @@ static int dasd_devices_open(struct inode *inode, struct file *file)
147 return seq_open(file, &dasd_devices_seq_ops); 147 return seq_open(file, &dasd_devices_seq_ops);
148} 148}
149 149
150static struct file_operations dasd_devices_file_ops = { 150static const struct file_operations dasd_devices_file_ops = {
151 .open = dasd_devices_open, 151 .open = dasd_devices_open,
152 .read = seq_read, 152 .read = seq_read,
153 .llseek = seq_lseek, 153 .llseek = seq_lseek,
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c
index e1a746269c4c..ef36f2132aa4 100644
--- a/drivers/s390/char/fs3270.c
+++ b/drivers/s390/char/fs3270.c
@@ -493,7 +493,7 @@ fs3270_close(struct inode *inode, struct file *filp)
493 return 0; 493 return 0;
494} 494}
495 495
496static struct file_operations fs3270_fops = { 496static const struct file_operations fs3270_fops = {
497 .owner = THIS_MODULE, /* owner */ 497 .owner = THIS_MODULE, /* owner */
498 .read = fs3270_read, /* read */ 498 .read = fs3270_read, /* read */
499 .write = fs3270_write, /* write */ 499 .write = fs3270_write, /* write */
diff --git a/drivers/s390/char/monreader.c b/drivers/s390/char/monreader.c
index 3a1a958fb5f2..8df7b1323c05 100644
--- a/drivers/s390/char/monreader.c
+++ b/drivers/s390/char/monreader.c
@@ -547,7 +547,7 @@ static unsigned int mon_poll(struct file *filp, struct poll_table_struct *p)
547 return 0; 547 return 0;
548} 548}
549 549
550static struct file_operations mon_fops = { 550static const struct file_operations mon_fops = {
551 .owner = THIS_MODULE, 551 .owner = THIS_MODULE,
552 .open = &mon_open, 552 .open = &mon_open,
553 .release = &mon_close, 553 .release = &mon_close,
diff --git a/drivers/s390/char/monwriter.c b/drivers/s390/char/monwriter.c
index 9e451acc6491..268598ef3efe 100644
--- a/drivers/s390/char/monwriter.c
+++ b/drivers/s390/char/monwriter.c
@@ -255,7 +255,7 @@ out_error:
255 return rc; 255 return rc;
256} 256}
257 257
258static struct file_operations monwrite_fops = { 258static const struct file_operations monwrite_fops = {
259 .owner = THIS_MODULE, 259 .owner = THIS_MODULE,
260 .open = &monwrite_open, 260 .open = &monwrite_open,
261 .release = &monwrite_close, 261 .release = &monwrite_close,
diff --git a/drivers/s390/char/tape_char.c b/drivers/s390/char/tape_char.c
index 9faea04e11e9..b830a8cbef78 100644
--- a/drivers/s390/char/tape_char.c
+++ b/drivers/s390/char/tape_char.c
@@ -39,7 +39,7 @@ static int tapechar_ioctl(struct inode *, struct file *, unsigned int,
39static long tapechar_compat_ioctl(struct file *, unsigned int, 39static long tapechar_compat_ioctl(struct file *, unsigned int,
40 unsigned long); 40 unsigned long);
41 41
42static struct file_operations tape_fops = 42static const struct file_operations tape_fops =
43{ 43{
44 .owner = THIS_MODULE, 44 .owner = THIS_MODULE,
45 .read = tapechar_read, 45 .read = tapechar_read,
diff --git a/drivers/s390/char/tape_proc.c b/drivers/s390/char/tape_proc.c
index 655d375ab22b..cea49f001f89 100644
--- a/drivers/s390/char/tape_proc.c
+++ b/drivers/s390/char/tape_proc.c
@@ -109,7 +109,7 @@ static int tape_proc_open(struct inode *inode, struct file *file)
109 return seq_open(file, &tape_proc_seq); 109 return seq_open(file, &tape_proc_seq);
110} 110}
111 111
112static struct file_operations tape_proc_ops = 112static const struct file_operations tape_proc_ops =
113{ 113{
114 .open = tape_proc_open, 114 .open = tape_proc_open,
115 .read = seq_read, 115 .read = seq_read,
diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c
index a420cd099041..fce3dac5cb3e 100644
--- a/drivers/s390/char/vmcp.c
+++ b/drivers/s390/char/vmcp.c
@@ -173,7 +173,7 @@ static long vmcp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
173 } 173 }
174} 174}
175 175
176static struct file_operations vmcp_fops = { 176static const struct file_operations vmcp_fops = {
177 .owner = THIS_MODULE, 177 .owner = THIS_MODULE,
178 .open = &vmcp_open, 178 .open = &vmcp_open,
179 .release = &vmcp_release, 179 .release = &vmcp_release,
diff --git a/drivers/s390/char/vmlogrdr.c b/drivers/s390/char/vmlogrdr.c
index 8432a76b961e..b87d3b019936 100644
--- a/drivers/s390/char/vmlogrdr.c
+++ b/drivers/s390/char/vmlogrdr.c
@@ -88,7 +88,7 @@ static int vmlogrdr_release(struct inode *, struct file *);
88static ssize_t vmlogrdr_read (struct file *filp, char __user *data, 88static ssize_t vmlogrdr_read (struct file *filp, char __user *data,
89 size_t count, loff_t * ppos); 89 size_t count, loff_t * ppos);
90 90
91static struct file_operations vmlogrdr_fops = { 91static const struct file_operations vmlogrdr_fops = {
92 .owner = THIS_MODULE, 92 .owner = THIS_MODULE,
93 .open = vmlogrdr_open, 93 .open = vmlogrdr_open,
94 .release = vmlogrdr_release, 94 .release = vmlogrdr_release,
diff --git a/drivers/s390/char/vmwatchdog.c b/drivers/s390/char/vmwatchdog.c
index 4b868f72fe89..680b9b58b80e 100644
--- a/drivers/s390/char/vmwatchdog.c
+++ b/drivers/s390/char/vmwatchdog.c
@@ -228,7 +228,7 @@ static ssize_t vmwdt_write(struct file *f, const char __user *buf,
228 return count; 228 return count;
229} 229}
230 230
231static struct file_operations vmwdt_fops = { 231static const struct file_operations vmwdt_fops = {
232 .open = &vmwdt_open, 232 .open = &vmwdt_open,
233 .release = &vmwdt_close, 233 .release = &vmwdt_close,
234 .ioctl = &vmwdt_ioctl, 234 .ioctl = &vmwdt_ioctl,
diff --git a/drivers/s390/cio/blacklist.c b/drivers/s390/cio/blacklist.c
index aa65df4dfced..ec0404874fad 100644
--- a/drivers/s390/cio/blacklist.c
+++ b/drivers/s390/cio/blacklist.c
@@ -364,7 +364,7 @@ cio_ignore_proc_open(struct inode *inode, struct file *file)
364 return seq_open(file, &cio_ignore_proc_seq_ops); 364 return seq_open(file, &cio_ignore_proc_seq_ops);
365} 365}
366 366
367static struct file_operations cio_ignore_proc_fops = { 367static const struct file_operations cio_ignore_proc_fops = {
368 .open = cio_ignore_proc_open, 368 .open = cio_ignore_proc_open,
369 .read = seq_read, 369 .read = seq_read,
370 .llseek = seq_lseek, 370 .llseek = seq_lseek,
diff --git a/drivers/s390/crypto/zcrypt_api.c b/drivers/s390/crypto/zcrypt_api.c
index 2c785148d21e..99761391f340 100644
--- a/drivers/s390/crypto/zcrypt_api.c
+++ b/drivers/s390/crypto/zcrypt_api.c
@@ -807,7 +807,7 @@ static long zcrypt_compat_ioctl(struct file *filp, unsigned int cmd,
807/** 807/**
808 * Misc device file operations. 808 * Misc device file operations.
809 */ 809 */
810static struct file_operations zcrypt_fops = { 810static const struct file_operations zcrypt_fops = {
811 .owner = THIS_MODULE, 811 .owner = THIS_MODULE,
812 .read = zcrypt_read, 812 .read = zcrypt_read,
813 .write = zcrypt_write, 813 .write = zcrypt_write,
diff --git a/drivers/s390/net/qeth_proc.c b/drivers/s390/net/qeth_proc.c
index faa768e59257..81f805cc5ee7 100644
--- a/drivers/s390/net/qeth_proc.c
+++ b/drivers/s390/net/qeth_proc.c
@@ -161,7 +161,7 @@ qeth_procfile_open(struct inode *inode, struct file *file)
161 return seq_open(file, &qeth_procfile_seq_ops); 161 return seq_open(file, &qeth_procfile_seq_ops);
162} 162}
163 163
164static struct file_operations qeth_procfile_fops = { 164static const struct file_operations qeth_procfile_fops = {
165 .owner = THIS_MODULE, 165 .owner = THIS_MODULE,
166 .open = qeth_procfile_open, 166 .open = qeth_procfile_open,
167 .read = seq_read, 167 .read = seq_read,
@@ -273,7 +273,7 @@ qeth_perf_procfile_open(struct inode *inode, struct file *file)
273 return seq_open(file, &qeth_perf_procfile_seq_ops); 273 return seq_open(file, &qeth_perf_procfile_seq_ops);
274} 274}
275 275
276static struct file_operations qeth_perf_procfile_fops = { 276static const struct file_operations qeth_perf_procfile_fops = {
277 .owner = THIS_MODULE, 277 .owner = THIS_MODULE,
278 .open = qeth_perf_procfile_open, 278 .open = qeth_perf_procfile_open,
279 .read = seq_read, 279 .read = seq_read,
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 39a885266790..1f9554e08013 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -60,7 +60,7 @@ static long zfcp_cfdc_dev_ioctl(struct file *, unsigned int, unsigned long);
60 _IOWR(ZFCP_CFDC_IOC_MAGIC, 0, struct zfcp_cfdc_sense_data) 60 _IOWR(ZFCP_CFDC_IOC_MAGIC, 0, struct zfcp_cfdc_sense_data)
61 61
62 62
63static struct file_operations zfcp_cfdc_fops = { 63static const struct file_operations zfcp_cfdc_fops = {
64 .unlocked_ioctl = zfcp_cfdc_dev_ioctl, 64 .unlocked_ioctl = zfcp_cfdc_dev_ioctl,
65#ifdef CONFIG_COMPAT 65#ifdef CONFIG_COMPAT
66 .compat_ioctl = zfcp_cfdc_dev_ioctl 66 .compat_ioctl = zfcp_cfdc_dev_ioctl