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,
 
        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,
 
        return -EINVAL;
 }
 
-static struct file_operations rtc_fops = {
+static const struct file_operations rtc_fops = {
        .ioctl  = rtc_ioctl,
 };
 
 
   return -EINVAL;
 }
 
-static struct file_operations DAC960_gam_fops = {
+static const struct file_operations DAC960_gam_fops = {
        .owner          = THIS_MODULE,
        .ioctl          = DAC960_gam_ioctl
 };
 
 
 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,
 
        }
 }
 
-static struct file_operations aoe_fops = {
+static const struct file_operations aoe_fops = {
        .write = aoechr_write,
        .read = aoechr_read,
        .open = aoechr_open,
 
 
 /* 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,
 
 
 /* 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,
 
        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,
        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,
 }
 
 
-static struct file_operations pkt_ctl_fops = {
+static const struct file_operations pkt_ctl_fops = {
        .ioctl   = pkt_ctl_ioctl,
        .owner   = THIS_MODULE,
 };
 
        return 0;
 }
 
-static struct file_operations vhci_fops = {
+static const struct file_operations vhci_fops = {
        .owner          = THIS_MODULE,
        .llseek         = vhci_llseek,
        .read           = vhci_read,
 
        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,
 
        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,
 
 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
 };
 
        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,
 
        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,
 
        return 0;
 }
 
-struct file_operations nvram_fops = {
+const struct file_operations nvram_fops = {
        .owner          = THIS_MODULE,
        .llseek         = nvram_llseek,
        .read           = read_nvram,
 
 /*
  * file operations
  */
-struct file_operations mbcs_ops = {
+const struct file_operations mbcs_ops = {
        .open = mbcs_open,
        .llseek = mbcs_sram_llseek,
        .read = mbcs_sram_read,
 
        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
 };
        .fops = &fetchop_fops
 };
 
-static struct file_operations cached_fops = {
+static const struct file_operations cached_fops = {
        .owner = THIS_MODULE,
        .mmap = cached_mmap
 };
        .fops = &cached_fops
 };
 
-static struct file_operations uncached_fops = {
+static const struct file_operations uncached_fops = {
        .owner = THIS_MODULE,
        .mmap = uncached_mmap
 };
 
        }
 }
 
-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,
 
        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,
        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,
 
        return ret;
 }
 
-struct file_operations viotap_fops = {
+const struct file_operations viotap_fops = {
        owner: THIS_MODULE,
        read: viotap_read,
        write: viotap_write,
 
  *     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,
 
        }
 }
 
-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,
 
 
 /* -- 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,
 
        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,
 
 
 
 /* Kernel interfaces */
-static struct file_operations fops = {
+static const struct file_operations fops = {
        .owner          = THIS_MODULE,
        .open           = wdt_gpi_open,
        .release        = wdt_gpi_release,
 
 
 /* -- 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,
 
  *     Kernel Interfaces
  */
 
-static struct file_operations wdt_fops = {
+static const struct file_operations wdt_fops = {
        .owner          = THIS_MODULE,
        .llseek         = no_llseek,
        .write          = wdt_write,
 
        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,
 
        return 0;
 }
 
-static struct file_operations i2cdev_fops = {
+static const struct file_operations i2cdev_fops = {
        .owner          = THIS_MODULE,
        .llseek         = no_llseek,
        .read           = i2cdev_read,
 
        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,
 
 /*
  *     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,
 
 }
 
 static struct cdev dv1394_cdev;
-static struct file_operations dv1394_fops=
+static const struct file_operations dv1394_fops=
 {
        .owner =        THIS_MODULE,
        .poll =         dv1394_poll,
 
 };
 
 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,
 
 #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,
 
        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,
 
        return 0;
 }
 
-static struct file_operations ucma_fops = {
+static const struct file_operations ucma_fops = {
        .owner   = THIS_MODULE,
        .open    = ucma_open,
        .release = ucma_close,
 
        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,
        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
 
        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,
        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,
 
 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,
                                   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,
 };
 
 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,
 
 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);
        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);
 
 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;
 
 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;
 
                                       sizeof ipath_stats);
 }
 
-static struct file_operations atomic_stats_ops = {
+static const struct file_operations atomic_stats_ops = {
        .read = atomic_stats_read,
 };
 
                                       sizeof counters);
 }
 
-static struct file_operations atomic_counters_ops = {
+static const struct file_operations atomic_counters_ops = {
        .read = atomic_counters_read,
 };
 
                                       sizeof nodeinfo);
 }
 
-static struct file_operations atomic_node_info_ops = {
+static const struct file_operations atomic_node_info_ops = {
        .read = atomic_node_info_read,
 };
 
                                       sizeof portinfo);
 }
 
-static struct file_operations atomic_port_info_ops = {
+static const struct file_operations atomic_port_info_ops = {
        .read = atomic_port_info_read,
 };
 
        return ret;
 }
 
-static struct file_operations flash_ops = {
+static const struct file_operations flash_ops = {
        .read = flash_read,
        .write = flash_write,
 };
 
 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);
 
        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,
        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,
 
        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,
        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,
        return err;
 }
 
-static struct file_operations input_fops = {
+static const struct file_operations input_fops = {
        .owner = THIS_MODULE,
        .open = input_open_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,
 
        return retval;
 }
 
-static struct file_operations uinput_fops = {
+static const struct file_operations uinput_fops = {
        .owner          = THIS_MODULE,
        .open           = uinput_open,
        .release        = uinput_release,
 
        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,
 
        return 0;
 }
 
-static struct file_operations capi_fops =
+static const struct file_operations capi_fops =
 {
        .owner          = THIS_MODULE,
        .llseek         = no_llseek,
 
        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,
        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,
        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,
 
 
 
 #ifdef CONFIG_PROC_FS
-static struct file_operations isdn_fops =
+static const struct file_operations isdn_fops =
 {
        .owner          = THIS_MODULE,
        .llseek         = no_llseek,
 
        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,
 
        }
 }
 
-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,
 
        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,
 
        return (0);
 }
 
-static struct file_operations divas_fops = {
+static const struct file_operations divas_fops = {
        .owner   = THIS_MODULE,
        .llseek  = no_llseek,
        .read    = divas_read,
 
 /******************************************************/
 /* 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,
 
 /**************************************************/
 /* 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,
 
        return 0;
 }
 
-static struct file_operations isdn_fops =
+static const struct file_operations isdn_fops =
 {
        .owner          = THIS_MODULE,
        .llseek         = no_llseek,