aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-08-15 12:52:59 -0400
committerArnd Bergmann <arnd@arndb.de>2010-10-15 09:53:27 -0400
commit6038f373a3dc1f1c26496e60b6c40b164716f07e (patch)
treea0d3bbd026eea41b9fc36b8c722cbaf56cd9f825 /drivers
parent1ec5584e3edf9c4bf2c88c846534d19cf986ba11 (diff)
llseek: automatically add .llseek fop
All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/apei/erst-dbg.c1
-rw-r--r--drivers/acpi/debugfs.c1
-rw-r--r--drivers/acpi/ec_sys.c1
-rw-r--r--drivers/acpi/event.c1
-rw-r--r--drivers/block/DAC960.c3
-rw-r--r--drivers/block/aoe/aoechr.c1
-rw-r--r--drivers/block/paride/pg.c1
-rw-r--r--drivers/block/paride/pt.c1
-rw-r--r--drivers/block/pktcdvd.c1
-rw-r--r--drivers/bluetooth/btmrvl_debugfs.c10
-rw-r--r--drivers/bluetooth/hci_vhci.c1
-rw-r--r--drivers/char/apm-emulation.c1
-rw-r--r--drivers/char/bfin-otp.c1
-rw-r--r--drivers/char/briq_panel.c1
-rw-r--r--drivers/char/bsr.c1
-rw-r--r--drivers/char/cs5535_gpio.c3
-rw-r--r--drivers/char/ds1302.c1
-rw-r--r--drivers/char/ds1620.c1
-rw-r--r--drivers/char/dsp56k.c1
-rw-r--r--drivers/char/dtlk.c1
-rw-r--r--drivers/char/genrtc.c1
-rw-r--r--drivers/char/hw_random/core.c1
-rw-r--r--drivers/char/ip2/ip2main.c1
-rw-r--r--drivers/char/ipmi/ipmi_devintf.c1
-rw-r--r--drivers/char/ipmi/ipmi_watchdog.c1
-rw-r--r--drivers/char/istallion.c1
-rw-r--r--drivers/char/lp.c1
-rw-r--r--drivers/char/mem.c3
-rw-r--r--drivers/char/misc.c1
-rw-r--r--drivers/char/mmtimer.c1
-rw-r--r--drivers/char/mspec.c9
-rw-r--r--drivers/char/mwave/mwavedd.c3
-rw-r--r--drivers/char/nwbutton.c1
-rw-r--r--drivers/char/pc8736x_gpio.c1
-rw-r--r--drivers/char/pcmcia/cm4000_cs.c1
-rw-r--r--drivers/char/pcmcia/cm4040_cs.c1
-rw-r--r--drivers/char/random.c2
-rw-r--r--drivers/char/rio/rio_linux.c1
-rw-r--r--drivers/char/scx200_gpio.c1
-rw-r--r--drivers/char/snsc.c1
-rw-r--r--drivers/char/stallion.c1
-rw-r--r--drivers/char/sx.c1
-rw-r--r--drivers/char/sysrq.c1
-rw-r--r--drivers/char/tb0219.c1
-rw-r--r--drivers/char/tlclk.c1
-rw-r--r--drivers/char/toshiba.c1
-rw-r--r--drivers/char/uv_mmtimer.c1
-rw-r--r--drivers/char/xilinx_hwicap/xilinx_hwicap.c1
-rw-r--r--drivers/dma/coh901318.c1
-rw-r--r--drivers/firewire/nosy.c1
-rw-r--r--drivers/gpu/drm/drm_drv.c3
-rw-r--r--drivers/gpu/drm/i810/i810_dma.c1
-rw-r--r--drivers/gpu/drm/i830/i830_dma.c1
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c1
-rw-r--r--drivers/gpu/vga/vgaarb.c1
-rw-r--r--drivers/hid/hid-debug.c1
-rw-r--r--drivers/hid/hid-roccat.c1
-rw-r--r--drivers/hid/hidraw.c1
-rw-r--r--drivers/hid/usbhid/hiddev.c1
-rw-r--r--drivers/hwmon/asus_atk0110.c1
-rw-r--r--drivers/ide/ide-tape.c1
-rw-r--r--drivers/idle/i7300_idle.c1
-rw-r--r--drivers/infiniband/hw/ipath/ipath_diag.c4
-rw-r--r--drivers/infiniband/hw/ipath/ipath_file_ops.c3
-rw-r--r--drivers/infiniband/hw/ipath/ipath_fs.c3
-rw-r--r--drivers/infiniband/hw/qib/qib_diag.c4
-rw-r--r--drivers/infiniband/hw/qib/qib_file_ops.c3
-rw-r--r--drivers/infiniband/hw/qib/qib_fs.c1
-rw-r--r--drivers/input/evdev.c3
-rw-r--r--drivers/input/input.c1
-rw-r--r--drivers/input/joydev.c1
-rw-r--r--drivers/input/misc/uinput.c1
-rw-r--r--drivers/input/mousedev.c1
-rw-r--r--drivers/input/serio/serio_raw.c1
-rw-r--r--drivers/isdn/mISDN/timerdev.c1
-rw-r--r--drivers/lguest/lguest_user.c1
-rw-r--r--drivers/macintosh/ans-lcd.c1
-rw-r--r--drivers/macintosh/via-pmu.c1
-rw-r--r--drivers/md/dm-ioctl.c1
-rw-r--r--drivers/media/IR/imon.c6
-rw-r--r--drivers/media/IR/lirc_dev.c1
-rw-r--r--drivers/media/dvb/bt8xx/dst_ca.c3
-rw-r--r--drivers/media/dvb/dvb-core/dmxdev.c2
-rw-r--r--drivers/media/dvb/dvb-core/dvb_ca_en50221.c1
-rw-r--r--drivers/media/dvb/dvb-core/dvb_frontend.c3
-rw-r--r--drivers/media/dvb/dvb-core/dvb_net.c1
-rw-r--r--drivers/media/dvb/dvb-core/dvbdev.c1
-rw-r--r--drivers/media/dvb/firewire/firedtv-ci.c1
-rw-r--r--drivers/media/dvb/ttpci/av7110.c1
-rw-r--r--drivers/media/dvb/ttpci/av7110_av.c2
-rw-r--r--drivers/media/dvb/ttpci/av7110_ca.c1
-rw-r--r--drivers/media/dvb/ttpci/av7110_ir.c1
-rw-r--r--drivers/mfd/ab3100-core.c1
-rw-r--r--drivers/misc/hpilo.c1
-rw-r--r--drivers/misc/phantom.c1
-rw-r--r--drivers/misc/sgi-gru/grufile.c1
-rw-r--r--drivers/mmc/core/debugfs.c1
-rw-r--r--drivers/mtd/ubi/cdev.c1
-rw-r--r--drivers/net/caif/caif_spi.c6
-rw-r--r--drivers/net/cxgb4/cxgb4_main.c1
-rw-r--r--drivers/net/ppp_generic.c3
-rw-r--r--drivers/net/wimax/i2400m/debugfs.c2
-rw-r--r--drivers/net/wireless/airo.c24
-rw-r--r--drivers/net/wireless/ath/ath5k/debug.c7
-rw-r--r--drivers/net/wireless/ath/ath9k/debug.c33
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_main.c9
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945-rs.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c3
-rw-r--r--drivers/net/wireless/iwmc3200wifi/debugfs.c4
-rw-r--r--drivers/net/wireless/iwmc3200wifi/sdio.c1
-rw-r--r--drivers/net/wireless/libertas/debugfs.c1
-rw-r--r--drivers/net/wireless/ray_cs.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00debug.c4
-rw-r--r--drivers/net/wireless/wl12xx/wl1251_debugfs.c2
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_debugfs.c4
-rw-r--r--drivers/oprofile/oprofile_files.c8
-rw-r--r--drivers/oprofile/oprofilefs.c3
-rw-r--r--drivers/pci/pcie/aer/aer_inject.c1
-rw-r--r--drivers/platform/x86/sony-laptop.c1
-rw-r--r--drivers/rtc/rtc-m41t80.c1
-rw-r--r--drivers/s390/block/dasd_eer.c1
-rw-r--r--drivers/s390/char/fs3270.c1
-rw-r--r--drivers/s390/char/monreader.c1
-rw-r--r--drivers/s390/char/monwriter.c1
-rw-r--r--drivers/s390/char/tape_char.c1
-rw-r--r--drivers/s390/char/vmcp.c1
-rw-r--r--drivers/s390/char/vmlogrdr.c1
-rw-r--r--drivers/s390/char/vmwatchdog.c1
-rw-r--r--drivers/s390/char/zcore.c2
-rw-r--r--drivers/s390/cio/chsc_sch.c1
-rw-r--r--drivers/s390/cio/css.c1
-rw-r--r--drivers/s390/crypto/zcrypt_api.c3
-rw-r--r--drivers/s390/scsi/zfcp_cfdc.c3
-rw-r--r--drivers/sbus/char/display7seg.c1
-rw-r--r--drivers/sbus/char/envctrl.c1
-rw-r--r--drivers/scsi/3w-9xxx.c3
-rw-r--r--drivers/scsi/3w-sas.c3
-rw-r--r--drivers/scsi/3w-xxxx.c3
-rw-r--r--drivers/scsi/aacraid/linit.c1
-rw-r--r--drivers/scsi/ch.c1
-rw-r--r--drivers/scsi/dpt_i2o.c1
-rw-r--r--drivers/scsi/gdth.c1
-rw-r--r--drivers/scsi/megaraid.c1
-rw-r--r--drivers/scsi/megaraid/megaraid_mm.c1
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c1
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_ctl.c1
-rw-r--r--drivers/scsi/osd/osd_uld.c1
-rw-r--r--drivers/scsi/pmcraid.c1
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c1
-rw-r--r--drivers/scsi/scsi_tgt_if.c1
-rw-r--r--drivers/scsi/sg.c1
-rw-r--r--drivers/serial/mfd.c2
-rw-r--r--drivers/spi/dw_spi.c1
-rw-r--r--drivers/spi/spidev.c1
-rw-r--r--drivers/staging/comedi/comedi_fops.c1
-rw-r--r--drivers/staging/crystalhd/crystalhd_lnx.c1
-rw-r--r--drivers/staging/dream/camera/msm_camera.c3
-rw-r--r--drivers/staging/dream/pmem.c2
-rw-r--r--drivers/staging/dream/qdsp5/adsp_driver.c1
-rw-r--r--drivers/staging/dream/qdsp5/audio_aac.c1
-rw-r--r--drivers/staging/dream/qdsp5/audio_amrnb.c1
-rw-r--r--drivers/staging/dream/qdsp5/audio_evrc.c1
-rw-r--r--drivers/staging/dream/qdsp5/audio_in.c2
-rw-r--r--drivers/staging/dream/qdsp5/audio_mp3.c1
-rw-r--r--drivers/staging/dream/qdsp5/audio_out.c2
-rw-r--r--drivers/staging/dream/qdsp5/audio_qcelp.c1
-rw-r--r--drivers/staging/dream/qdsp5/evlog.h1
-rw-r--r--drivers/staging/dream/qdsp5/snd.c1
-rw-r--r--drivers/staging/frontier/alphatrack.c1
-rw-r--r--drivers/staging/frontier/tranzport.c1
-rw-r--r--drivers/staging/iio/industrialio-core.c1
-rw-r--r--drivers/staging/iio/industrialio-ring.c1
-rw-r--r--drivers/staging/lirc/lirc_imon.c3
-rw-r--r--drivers/staging/lirc/lirc_it87.c1
-rw-r--r--drivers/staging/lirc/lirc_sasem.c1
-rw-r--r--drivers/staging/memrar/memrar_handler.c1
-rw-r--r--drivers/staging/panel/panel.c1
-rw-r--r--drivers/staging/tidspbridge/rmgr/drv_interface.c1
-rw-r--r--drivers/telephony/ixj.c3
-rw-r--r--drivers/telephony/phonedev.c1
-rw-r--r--drivers/uio/uio.c1
-rw-r--r--drivers/usb/class/cdc-wdm.c3
-rw-r--r--drivers/usb/class/usblp.c1
-rw-r--r--drivers/usb/class/usbtmc.c1
-rw-r--r--drivers/usb/core/file.c1
-rw-r--r--drivers/usb/gadget/f_hid.c1
-rw-r--r--drivers/usb/gadget/printer.c3
-rw-r--r--drivers/usb/host/ehci-dbg.c4
-rw-r--r--drivers/usb/host/ohci-dbg.c3
-rw-r--r--drivers/usb/image/mdc800.c1
-rw-r--r--drivers/usb/misc/adutux.c1
-rw-r--r--drivers/usb/misc/idmouse.c1
-rw-r--r--drivers/usb/misc/iowarrior.c1
-rw-r--r--drivers/usb/misc/ldusb.c1
-rw-r--r--drivers/usb/misc/rio500.c1
-rw-r--r--drivers/usb/misc/usblcd.c1
-rw-r--r--drivers/usb/usb-skeleton.c1
-rw-r--r--drivers/vhost/net.c1
-rw-r--r--drivers/video/fbmem.c1
-rw-r--r--drivers/video/mbx/mbxdebugfs.c6
-rw-r--r--drivers/watchdog/ar7_wdt.c1
-rw-r--r--drivers/watchdog/cpwd.c1
-rw-r--r--drivers/watchdog/ep93xx_wdt.c1
-rw-r--r--drivers/watchdog/omap_wdt.c1
-rw-r--r--drivers/xen/evtchn.c1
-rw-r--r--drivers/xen/xenfs/super.c1
-rw-r--r--drivers/xen/xenfs/xenbus.c1
207 files changed, 342 insertions, 52 deletions
diff --git a/drivers/acpi/apei/erst-dbg.c b/drivers/acpi/apei/erst-dbg.c
index 5281ddda277..cbab9b07bf2 100644
--- a/drivers/acpi/apei/erst-dbg.c
+++ b/drivers/acpi/apei/erst-dbg.c
@@ -180,6 +180,7 @@ static const struct file_operations erst_dbg_ops = {
180 .read = erst_dbg_read, 180 .read = erst_dbg_read,
181 .write = erst_dbg_write, 181 .write = erst_dbg_write,
182 .unlocked_ioctl = erst_dbg_ioctl, 182 .unlocked_ioctl = erst_dbg_ioctl,
183 .llseek = no_llseek,
183}; 184};
184 185
185static struct miscdevice erst_dbg_dev = { 186static struct miscdevice erst_dbg_dev = {
diff --git a/drivers/acpi/debugfs.c b/drivers/acpi/debugfs.c
index 7de27d49c4b..6355b575ee5 100644
--- a/drivers/acpi/debugfs.c
+++ b/drivers/acpi/debugfs.c
@@ -69,6 +69,7 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
69 69
70static const struct file_operations cm_fops = { 70static const struct file_operations cm_fops = {
71 .write = cm_write, 71 .write = cm_write,
72 .llseek = default_llseek,
72}; 73};
73 74
74int __init acpi_debugfs_init(void) 75int __init acpi_debugfs_init(void)
diff --git a/drivers/acpi/ec_sys.c b/drivers/acpi/ec_sys.c
index 0e869b3f81c..411620ef84c 100644
--- a/drivers/acpi/ec_sys.c
+++ b/drivers/acpi/ec_sys.c
@@ -101,6 +101,7 @@ static struct file_operations acpi_ec_io_ops = {
101 .open = acpi_ec_open_io, 101 .open = acpi_ec_open_io,
102 .read = acpi_ec_read_io, 102 .read = acpi_ec_read_io,
103 .write = acpi_ec_write_io, 103 .write = acpi_ec_write_io,
104 .llseek = default_llseek,
104}; 105};
105 106
106int acpi_ec_add_debugfs(struct acpi_ec *ec, unsigned int ec_device_count) 107int acpi_ec_add_debugfs(struct acpi_ec *ec, unsigned int ec_device_count)
diff --git a/drivers/acpi/event.c b/drivers/acpi/event.c
index d439314a75d..85d90899380 100644
--- a/drivers/acpi/event.c
+++ b/drivers/acpi/event.c
@@ -110,6 +110,7 @@ static const struct file_operations acpi_system_event_ops = {
110 .read = acpi_system_read_event, 110 .read = acpi_system_read_event,
111 .release = acpi_system_close_event, 111 .release = acpi_system_close_event,
112 .poll = acpi_system_poll_event, 112 .poll = acpi_system_poll_event,
113 .llseek = default_llseek,
113}; 114};
114#endif /* CONFIG_ACPI_PROC_EVENT */ 115#endif /* CONFIG_ACPI_PROC_EVENT */
115 116
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
index 4e2c367fec1..dfcb33e8d40 100644
--- a/drivers/block/DAC960.c
+++ b/drivers/block/DAC960.c
@@ -7062,7 +7062,8 @@ static long DAC960_gam_ioctl(struct file *file, unsigned int Request,
7062 7062
7063static const struct file_operations DAC960_gam_fops = { 7063static const struct file_operations DAC960_gam_fops = {
7064 .owner = THIS_MODULE, 7064 .owner = THIS_MODULE,
7065 .unlocked_ioctl = DAC960_gam_ioctl 7065 .unlocked_ioctl = DAC960_gam_ioctl,
7066 .llseek = noop_llseek,
7066}; 7067};
7067 7068
7068static struct miscdevice DAC960_gam_dev = { 7069static struct miscdevice DAC960_gam_dev = {
diff --git a/drivers/block/aoe/aoechr.c b/drivers/block/aoe/aoechr.c
index 4a1b9e7464a..32b484ba21b 100644
--- a/drivers/block/aoe/aoechr.c
+++ b/drivers/block/aoe/aoechr.c
@@ -265,6 +265,7 @@ static const struct file_operations aoe_fops = {
265 .open = aoechr_open, 265 .open = aoechr_open,
266 .release = aoechr_rel, 266 .release = aoechr_rel,
267 .owner = THIS_MODULE, 267 .owner = THIS_MODULE,
268 .llseek = noop_llseek,
268}; 269};
269 270
270static char *aoe_devnode(struct device *dev, mode_t *mode) 271static char *aoe_devnode(struct device *dev, mode_t *mode)
diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c
index c397b3ddba9..aa27cd84f63 100644
--- a/drivers/block/paride/pg.c
+++ b/drivers/block/paride/pg.c
@@ -234,6 +234,7 @@ static const struct file_operations pg_fops = {
234 .write = pg_write, 234 .write = pg_write,
235 .open = pg_open, 235 .open = pg_open,
236 .release = pg_release, 236 .release = pg_release,
237 .llseek = noop_llseek,
237}; 238};
238 239
239static void pg_init_units(void) 240static void pg_init_units(void)
diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c
index bc5825fdeaa..c372c32e0db 100644
--- a/drivers/block/paride/pt.c
+++ b/drivers/block/paride/pt.c
@@ -239,6 +239,7 @@ static const struct file_operations pt_fops = {
239 .unlocked_ioctl = pt_ioctl, 239 .unlocked_ioctl = pt_ioctl,
240 .open = pt_open, 240 .open = pt_open,
241 .release = pt_release, 241 .release = pt_release,
242 .llseek = noop_llseek,
242}; 243};
243 244
244/* sysfs class support */ 245/* sysfs class support */
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index b1cbeb59bb7..6a4642dd828 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@ -3046,6 +3046,7 @@ static const struct file_operations pkt_ctl_fops = {
3046 .compat_ioctl = pkt_ctl_compat_ioctl, 3046 .compat_ioctl = pkt_ctl_compat_ioctl,
3047#endif 3047#endif
3048 .owner = THIS_MODULE, 3048 .owner = THIS_MODULE,
3049 .llseek = no_llseek,
3049}; 3050};
3050 3051
3051static struct miscdevice pkt_misc = { 3052static struct miscdevice pkt_misc = {
diff --git a/drivers/bluetooth/btmrvl_debugfs.c b/drivers/bluetooth/btmrvl_debugfs.c
index 54739b08c30..fd6305bf953 100644
--- a/drivers/bluetooth/btmrvl_debugfs.c
+++ b/drivers/bluetooth/btmrvl_debugfs.c
@@ -92,6 +92,7 @@ static const struct file_operations btmrvl_hscfgcmd_fops = {
92 .read = btmrvl_hscfgcmd_read, 92 .read = btmrvl_hscfgcmd_read,
93 .write = btmrvl_hscfgcmd_write, 93 .write = btmrvl_hscfgcmd_write,
94 .open = btmrvl_open_generic, 94 .open = btmrvl_open_generic,
95 .llseek = default_llseek,
95}; 96};
96 97
97static ssize_t btmrvl_psmode_write(struct file *file, const char __user *ubuf, 98static ssize_t btmrvl_psmode_write(struct file *file, const char __user *ubuf,
@@ -130,6 +131,7 @@ static const struct file_operations btmrvl_psmode_fops = {
130 .read = btmrvl_psmode_read, 131 .read = btmrvl_psmode_read,
131 .write = btmrvl_psmode_write, 132 .write = btmrvl_psmode_write,
132 .open = btmrvl_open_generic, 133 .open = btmrvl_open_generic,
134 .llseek = default_llseek,
133}; 135};
134 136
135static ssize_t btmrvl_pscmd_write(struct file *file, const char __user *ubuf, 137static ssize_t btmrvl_pscmd_write(struct file *file, const char __user *ubuf,
@@ -173,6 +175,7 @@ static const struct file_operations btmrvl_pscmd_fops = {
173 .read = btmrvl_pscmd_read, 175 .read = btmrvl_pscmd_read,
174 .write = btmrvl_pscmd_write, 176 .write = btmrvl_pscmd_write,
175 .open = btmrvl_open_generic, 177 .open = btmrvl_open_generic,
178 .llseek = default_llseek,
176}; 179};
177 180
178static ssize_t btmrvl_gpiogap_write(struct file *file, const char __user *ubuf, 181static ssize_t btmrvl_gpiogap_write(struct file *file, const char __user *ubuf,
@@ -211,6 +214,7 @@ static const struct file_operations btmrvl_gpiogap_fops = {
211 .read = btmrvl_gpiogap_read, 214 .read = btmrvl_gpiogap_read,
212 .write = btmrvl_gpiogap_write, 215 .write = btmrvl_gpiogap_write,
213 .open = btmrvl_open_generic, 216 .open = btmrvl_open_generic,
217 .llseek = default_llseek,
214}; 218};
215 219
216static ssize_t btmrvl_hscmd_write(struct file *file, const char __user *ubuf, 220static ssize_t btmrvl_hscmd_write(struct file *file, const char __user *ubuf,
@@ -252,6 +256,7 @@ static const struct file_operations btmrvl_hscmd_fops = {
252 .read = btmrvl_hscmd_read, 256 .read = btmrvl_hscmd_read,
253 .write = btmrvl_hscmd_write, 257 .write = btmrvl_hscmd_write,
254 .open = btmrvl_open_generic, 258 .open = btmrvl_open_generic,
259 .llseek = default_llseek,
255}; 260};
256 261
257static ssize_t btmrvl_hsmode_write(struct file *file, const char __user *ubuf, 262static ssize_t btmrvl_hsmode_write(struct file *file, const char __user *ubuf,
@@ -289,6 +294,7 @@ static const struct file_operations btmrvl_hsmode_fops = {
289 .read = btmrvl_hsmode_read, 294 .read = btmrvl_hsmode_read,
290 .write = btmrvl_hsmode_write, 295 .write = btmrvl_hsmode_write,
291 .open = btmrvl_open_generic, 296 .open = btmrvl_open_generic,
297 .llseek = default_llseek,
292}; 298};
293 299
294static ssize_t btmrvl_curpsmode_read(struct file *file, char __user *userbuf, 300static ssize_t btmrvl_curpsmode_read(struct file *file, char __user *userbuf,
@@ -306,6 +312,7 @@ static ssize_t btmrvl_curpsmode_read(struct file *file, char __user *userbuf,
306static const struct file_operations btmrvl_curpsmode_fops = { 312static const struct file_operations btmrvl_curpsmode_fops = {
307 .read = btmrvl_curpsmode_read, 313 .read = btmrvl_curpsmode_read,
308 .open = btmrvl_open_generic, 314 .open = btmrvl_open_generic,
315 .llseek = default_llseek,
309}; 316};
310 317
311static ssize_t btmrvl_psstate_read(struct file *file, char __user * userbuf, 318static ssize_t btmrvl_psstate_read(struct file *file, char __user * userbuf,
@@ -323,6 +330,7 @@ static ssize_t btmrvl_psstate_read(struct file *file, char __user * userbuf,
323static const struct file_operations btmrvl_psstate_fops = { 330static const struct file_operations btmrvl_psstate_fops = {
324 .read = btmrvl_psstate_read, 331 .read = btmrvl_psstate_read,
325 .open = btmrvl_open_generic, 332 .open = btmrvl_open_generic,
333 .llseek = default_llseek,
326}; 334};
327 335
328static ssize_t btmrvl_hsstate_read(struct file *file, char __user *userbuf, 336static ssize_t btmrvl_hsstate_read(struct file *file, char __user *userbuf,
@@ -340,6 +348,7 @@ static ssize_t btmrvl_hsstate_read(struct file *file, char __user *userbuf,
340static const struct file_operations btmrvl_hsstate_fops = { 348static const struct file_operations btmrvl_hsstate_fops = {
341 .read = btmrvl_hsstate_read, 349 .read = btmrvl_hsstate_read,
342 .open = btmrvl_open_generic, 350 .open = btmrvl_open_generic,
351 .llseek = default_llseek,
343}; 352};
344 353
345static ssize_t btmrvl_txdnldready_read(struct file *file, char __user *userbuf, 354static ssize_t btmrvl_txdnldready_read(struct file *file, char __user *userbuf,
@@ -358,6 +367,7 @@ static ssize_t btmrvl_txdnldready_read(struct file *file, char __user *userbuf,
358static const struct file_operations btmrvl_txdnldready_fops = { 367static const struct file_operations btmrvl_txdnldready_fops = {
359 .read = btmrvl_txdnldready_read, 368 .read = btmrvl_txdnldready_read,
360 .open = btmrvl_open_generic, 369 .open = btmrvl_open_generic,
370 .llseek = default_llseek,
361}; 371};
362 372
363void btmrvl_debugfs_init(struct hci_dev *hdev) 373void btmrvl_debugfs_init(struct hci_dev *hdev)
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
index 3aa7b2a54b6..67c180c2c1e 100644
--- a/drivers/bluetooth/hci_vhci.c
+++ b/drivers/bluetooth/hci_vhci.c
@@ -282,6 +282,7 @@ static const struct file_operations vhci_fops = {
282 .poll = vhci_poll, 282 .poll = vhci_poll,
283 .open = vhci_open, 283 .open = vhci_open,
284 .release = vhci_release, 284 .release = vhci_release,
285 .llseek = no_llseek,
285}; 286};
286 287
287static struct miscdevice vhci_miscdev= { 288static struct miscdevice vhci_miscdev= {
diff --git a/drivers/char/apm-emulation.c b/drivers/char/apm-emulation.c
index 033e1505fca..5ffa6904ea6 100644
--- a/drivers/char/apm-emulation.c
+++ b/drivers/char/apm-emulation.c
@@ -402,6 +402,7 @@ static const struct file_operations apm_bios_fops = {
402 .unlocked_ioctl = apm_ioctl, 402 .unlocked_ioctl = apm_ioctl,
403 .open = apm_open, 403 .open = apm_open,
404 .release = apm_release, 404 .release = apm_release,
405 .llseek = noop_llseek,
405}; 406};
406 407
407static struct miscdevice apm_device = { 408static struct miscdevice apm_device = {
diff --git a/drivers/char/bfin-otp.c b/drivers/char/bfin-otp.c
index 836d4f0a876..44660f1c484 100644
--- a/drivers/char/bfin-otp.c
+++ b/drivers/char/bfin-otp.c
@@ -222,6 +222,7 @@ static const struct file_operations bfin_otp_fops = {
222 .unlocked_ioctl = bfin_otp_ioctl, 222 .unlocked_ioctl = bfin_otp_ioctl,
223 .read = bfin_otp_read, 223 .read = bfin_otp_read,
224 .write = bfin_otp_write, 224 .write = bfin_otp_write,
225 .llseek = default_llseek,
225}; 226};
226 227
227static struct miscdevice bfin_otp_misc_device = { 228static struct miscdevice bfin_otp_misc_device = {
diff --git a/drivers/char/briq_panel.c b/drivers/char/briq_panel.c
index d5fa113afe3..f6718f05dad 100644
--- a/drivers/char/briq_panel.c
+++ b/drivers/char/briq_panel.c
@@ -186,6 +186,7 @@ static const struct file_operations briq_panel_fops = {
186 .write = briq_panel_write, 186 .write = briq_panel_write,
187 .open = briq_panel_open, 187 .open = briq_panel_open,
188 .release = briq_panel_release, 188 .release = briq_panel_release,
189 .llseek = noop_llseek,
189}; 190};
190 191
191static struct miscdevice briq_panel_miscdev = { 192static struct miscdevice briq_panel_miscdev = {
diff --git a/drivers/char/bsr.c b/drivers/char/bsr.c
index 91917133ae0..a4a6c2f044b 100644
--- a/drivers/char/bsr.c
+++ b/drivers/char/bsr.c
@@ -155,6 +155,7 @@ static const struct file_operations bsr_fops = {
155 .owner = THIS_MODULE, 155 .owner = THIS_MODULE,
156 .mmap = bsr_mmap, 156 .mmap = bsr_mmap,
157 .open = bsr_open, 157 .open = bsr_open,
158 .llseek = noop_llseek,
158}; 159};
159 160
160static void bsr_cleanup_devs(void) 161static void bsr_cleanup_devs(void)
diff --git a/drivers/char/cs5535_gpio.c b/drivers/char/cs5535_gpio.c
index 4d830dc482e..0cf1e5fad9a 100644
--- a/drivers/char/cs5535_gpio.c
+++ b/drivers/char/cs5535_gpio.c
@@ -169,7 +169,8 @@ static const struct file_operations cs5535_gpio_fops = {
169 .owner = THIS_MODULE, 169 .owner = THIS_MODULE,
170 .write = cs5535_gpio_write, 170 .write = cs5535_gpio_write,
171 .read = cs5535_gpio_read, 171 .read = cs5535_gpio_read,
172 .open = cs5535_gpio_open 172 .open = cs5535_gpio_open,
173 .llseek = no_llseek,
173}; 174};
174 175
175static int __init cs5535_gpio_init(void) 176static int __init cs5535_gpio_init(void)
diff --git a/drivers/char/ds1302.c b/drivers/char/ds1302.c
index 170693c93c7..4f7aa364167 100644
--- a/drivers/char/ds1302.c
+++ b/drivers/char/ds1302.c
@@ -288,6 +288,7 @@ get_rtc_status(char *buf)
288static const struct file_operations rtc_fops = { 288static const struct file_operations rtc_fops = {
289 .owner = THIS_MODULE, 289 .owner = THIS_MODULE,
290 .unlocked_ioctl = rtc_ioctl, 290 .unlocked_ioctl = rtc_ioctl,
291 .llseek = noop_llseek,
291}; 292};
292 293
293/* Probe for the chip by writing something to its RAM and try reading it back. */ 294/* Probe for the chip by writing something to its RAM and try reading it back. */
diff --git a/drivers/char/ds1620.c b/drivers/char/ds1620.c
index dbee8688f75..50462b63e51 100644
--- a/drivers/char/ds1620.c
+++ b/drivers/char/ds1620.c
@@ -357,6 +357,7 @@ static const struct file_operations ds1620_fops = {
357 .open = ds1620_open, 357 .open = ds1620_open,
358 .read = ds1620_read, 358 .read = ds1620_read,
359 .unlocked_ioctl = ds1620_unlocked_ioctl, 359 .unlocked_ioctl = ds1620_unlocked_ioctl,
360 .llseek = no_llseek,
360}; 361};
361 362
362static struct miscdevice ds1620_miscdev = { 363static struct miscdevice ds1620_miscdev = {
diff --git a/drivers/char/dsp56k.c b/drivers/char/dsp56k.c
index 8a1b28a10ef..353be4707d9 100644
--- a/drivers/char/dsp56k.c
+++ b/drivers/char/dsp56k.c
@@ -482,6 +482,7 @@ static const struct file_operations dsp56k_fops = {
482 .unlocked_ioctl = dsp56k_ioctl, 482 .unlocked_ioctl = dsp56k_ioctl,
483 .open = dsp56k_open, 483 .open = dsp56k_open,
484 .release = dsp56k_release, 484 .release = dsp56k_release,
485 .llseek = noop_llseek,
485}; 486};
486 487
487 488
diff --git a/drivers/char/dtlk.c b/drivers/char/dtlk.c
index e3859d4eaea..007eca3ed77 100644
--- a/drivers/char/dtlk.c
+++ b/drivers/char/dtlk.c
@@ -105,6 +105,7 @@ static const struct file_operations dtlk_fops =
105 .unlocked_ioctl = dtlk_ioctl, 105 .unlocked_ioctl = dtlk_ioctl,
106 .open = dtlk_open, 106 .open = dtlk_open,
107 .release = dtlk_release, 107 .release = dtlk_release,
108 .llseek = no_llseek,
108}; 109};
109 110
110/* local prototypes */ 111/* local prototypes */
diff --git a/drivers/char/genrtc.c b/drivers/char/genrtc.c
index b6c2cc167c1..eaa0e4264e1 100644
--- a/drivers/char/genrtc.c
+++ b/drivers/char/genrtc.c
@@ -497,6 +497,7 @@ static const struct file_operations gen_rtc_fops = {
497 .unlocked_ioctl = gen_rtc_unlocked_ioctl, 497 .unlocked_ioctl = gen_rtc_unlocked_ioctl,
498 .open = gen_rtc_open, 498 .open = gen_rtc_open,
499 .release = gen_rtc_release, 499 .release = gen_rtc_release,
500 .llseek = noop_llseek,
500}; 501};
501 502
502static struct miscdevice rtc_gen_dev = 503static struct miscdevice rtc_gen_dev =
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index 3d9c61e5acb..788da05190c 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -170,6 +170,7 @@ static const struct file_operations rng_chrdev_ops = {
170 .owner = THIS_MODULE, 170 .owner = THIS_MODULE,
171 .open = rng_dev_open, 171 .open = rng_dev_open,
172 .read = rng_dev_read, 172 .read = rng_dev_read,
173 .llseek = noop_llseek,
173}; 174};
174 175
175static struct miscdevice rng_miscdev = { 176static struct miscdevice rng_miscdev = {
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index d4b71e8d0d2..2e49e515d8e 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -236,6 +236,7 @@ static const struct file_operations ip2_ipl = {
236 .write = ip2_ipl_write, 236 .write = ip2_ipl_write,
237 .unlocked_ioctl = ip2_ipl_ioctl, 237 .unlocked_ioctl = ip2_ipl_ioctl,
238 .open = ip2_ipl_open, 238 .open = ip2_ipl_open,
239 .llseek = noop_llseek,
239}; 240};
240 241
241static unsigned long irq_counter; 242static unsigned long irq_counter;
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c
index d8ec92a3898..c6709d6b0fd 100644
--- a/drivers/char/ipmi/ipmi_devintf.c
+++ b/drivers/char/ipmi/ipmi_devintf.c
@@ -850,6 +850,7 @@ static const struct file_operations ipmi_fops = {
850 .release = ipmi_release, 850 .release = ipmi_release,
851 .fasync = ipmi_fasync, 851 .fasync = ipmi_fasync,
852 .poll = ipmi_poll, 852 .poll = ipmi_poll,
853 .llseek = noop_llseek,
853}; 854};
854 855
855#define DEVICE_NAME "ipmidev" 856#define DEVICE_NAME "ipmidev"
diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
index 654d566ca57..da041f88f64 100644
--- a/drivers/char/ipmi/ipmi_watchdog.c
+++ b/drivers/char/ipmi/ipmi_watchdog.c
@@ -909,6 +909,7 @@ static const struct file_operations ipmi_wdog_fops = {
909 .open = ipmi_open, 909 .open = ipmi_open,
910 .release = ipmi_close, 910 .release = ipmi_close,
911 .fasync = ipmi_fasync, 911 .fasync = ipmi_fasync,
912 .llseek = no_llseek,
912}; 913};
913 914
914static struct miscdevice ipmi_wdog_miscdev = { 915static struct miscdevice ipmi_wdog_miscdev = {
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c
index be28391adb7..667abd23ad6 100644
--- a/drivers/char/istallion.c
+++ b/drivers/char/istallion.c
@@ -704,6 +704,7 @@ static const struct file_operations stli_fsiomem = {
704 .read = stli_memread, 704 .read = stli_memread,
705 .write = stli_memwrite, 705 .write = stli_memwrite,
706 .unlocked_ioctl = stli_memioctl, 706 .unlocked_ioctl = stli_memioctl,
707 .llseek = default_llseek,
707}; 708};
708 709
709/*****************************************************************************/ 710/*****************************************************************************/
diff --git a/drivers/char/lp.c b/drivers/char/lp.c
index 938a3a27388..d2344117eaf 100644
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
@@ -748,6 +748,7 @@ static const struct file_operations lp_fops = {
748#ifdef CONFIG_PARPORT_1284 748#ifdef CONFIG_PARPORT_1284
749 .read = lp_read, 749 .read = lp_read,
750#endif 750#endif
751 .llseek = noop_llseek,
751}; 752};
752 753
753/* --- support for console on the line printer ----------------- */ 754/* --- support for console on the line printer ----------------- */
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index a398ecdbd75..8ebd232132f 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -804,6 +804,7 @@ static const struct file_operations full_fops = {
804static const struct file_operations oldmem_fops = { 804static const struct file_operations oldmem_fops = {
805 .read = read_oldmem, 805 .read = read_oldmem,
806 .open = open_oldmem, 806 .open = open_oldmem,
807 .llseek = default_llseek,
807}; 808};
808#endif 809#endif
809 810
@@ -830,6 +831,7 @@ static ssize_t kmsg_write(struct file *file, const char __user *buf,
830 831
831static const struct file_operations kmsg_fops = { 832static const struct file_operations kmsg_fops = {
832 .write = kmsg_write, 833 .write = kmsg_write,
834 .llseek = noop_llseek,
833}; 835};
834 836
835static const struct memdev { 837static const struct memdev {
@@ -881,6 +883,7 @@ static int memory_open(struct inode *inode, struct file *filp)
881 883
882static const struct file_operations memory_fops = { 884static const struct file_operations memory_fops = {
883 .open = memory_open, 885 .open = memory_open,
886 .llseek = noop_llseek,
884}; 887};
885 888
886static char *mem_devnode(struct device *dev, mode_t *mode) 889static char *mem_devnode(struct device *dev, mode_t *mode)
diff --git a/drivers/char/misc.c b/drivers/char/misc.c
index abdafd48898..778273c9324 100644
--- a/drivers/char/misc.c
+++ b/drivers/char/misc.c
@@ -162,6 +162,7 @@ static struct class *misc_class;
162static const struct file_operations misc_fops = { 162static const struct file_operations misc_fops = {
163 .owner = THIS_MODULE, 163 .owner = THIS_MODULE,
164 .open = misc_open, 164 .open = misc_open,
165 .llseek = noop_llseek,
165}; 166};
166 167
167/** 168/**
diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index ea7c99fa978..1c4070ced06 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -72,6 +72,7 @@ static const struct file_operations mmtimer_fops = {
72 .owner = THIS_MODULE, 72 .owner = THIS_MODULE,
73 .mmap = mmtimer_mmap, 73 .mmap = mmtimer_mmap,
74 .unlocked_ioctl = mmtimer_ioctl, 74 .unlocked_ioctl = mmtimer_ioctl,
75 .llseek = noop_llseek,
75}; 76};
76 77
77/* 78/*
diff --git a/drivers/char/mspec.c b/drivers/char/mspec.c
index ecb89d798e3..966a95bc974 100644
--- a/drivers/char/mspec.c
+++ b/drivers/char/mspec.c
@@ -316,7 +316,8 @@ uncached_mmap(struct file *file, struct vm_area_struct *vma)
316 316
317static const struct file_operations fetchop_fops = { 317static const struct file_operations fetchop_fops = {
318 .owner = THIS_MODULE, 318 .owner = THIS_MODULE,
319 .mmap = fetchop_mmap 319 .mmap = fetchop_mmap,
320 .llseek = noop_llseek,
320}; 321};
321 322
322static struct miscdevice fetchop_miscdev = { 323static struct miscdevice fetchop_miscdev = {
@@ -327,7 +328,8 @@ static struct miscdevice fetchop_miscdev = {
327 328
328static const struct file_operations cached_fops = { 329static const struct file_operations cached_fops = {
329 .owner = THIS_MODULE, 330 .owner = THIS_MODULE,
330 .mmap = cached_mmap 331 .mmap = cached_mmap,
332 .llseek = noop_llseek,
331}; 333};
332 334
333static struct miscdevice cached_miscdev = { 335static struct miscdevice cached_miscdev = {
@@ -338,7 +340,8 @@ static struct miscdevice cached_miscdev = {
338 340
339static const struct file_operations uncached_fops = { 341static const struct file_operations uncached_fops = {
340 .owner = THIS_MODULE, 342 .owner = THIS_MODULE,
341 .mmap = uncached_mmap 343 .mmap = uncached_mmap,
344 .llseek = noop_llseek,
342}; 345};
343 346
344static struct miscdevice uncached_miscdev = { 347static struct miscdevice uncached_miscdev = {
diff --git a/drivers/char/mwave/mwavedd.c b/drivers/char/mwave/mwavedd.c
index a4ec50c9507..0464822eac5 100644
--- a/drivers/char/mwave/mwavedd.c
+++ b/drivers/char/mwave/mwavedd.c
@@ -479,7 +479,8 @@ static const struct file_operations mwave_fops = {
479 .write = mwave_write, 479 .write = mwave_write,
480 .unlocked_ioctl = mwave_ioctl, 480 .unlocked_ioctl = mwave_ioctl,
481 .open = mwave_open, 481 .open = mwave_open,
482 .release = mwave_close 482 .release = mwave_close,
483 .llseek = default_llseek,
483}; 484};
484 485
485 486
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 2604246501e..8994ce32e6c 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
@@ -182,6 +182,7 @@ static int button_read (struct file *filp, char __user *buffer,
182static const struct file_operations button_fops = { 182static const struct file_operations button_fops = {
183 .owner = THIS_MODULE, 183 .owner = THIS_MODULE,
184 .read = button_read, 184 .read = button_read,
185 .llseek = noop_llseek,
185}; 186};
186 187
187/* 188/*
diff --git a/drivers/char/pc8736x_gpio.c b/drivers/char/pc8736x_gpio.c
index 8ecbcc174c1..b304ec05250 100644
--- a/drivers/char/pc8736x_gpio.c
+++ b/drivers/char/pc8736x_gpio.c
@@ -234,6 +234,7 @@ static const struct file_operations pc8736x_gpio_fileops = {
234 .open = pc8736x_gpio_open, 234 .open = pc8736x_gpio_open,
235 .write = nsc_gpio_write, 235 .write = nsc_gpio_write,
236 .read = nsc_gpio_read, 236 .read = nsc_gpio_read,
237 .llseek = no_llseek,
237}; 238};
238 239
239static void __init pc8736x_init_shadow(void) 240static void __init pc8736x_init_shadow(void)
diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
index ec73d9f6d9e..c99f6997e5e 100644
--- a/drivers/char/pcmcia/cm4000_cs.c
+++ b/drivers/char/pcmcia/cm4000_cs.c
@@ -1880,6 +1880,7 @@ static const struct file_operations cm4000_fops = {
1880 .unlocked_ioctl = cmm_ioctl, 1880 .unlocked_ioctl = cmm_ioctl,
1881 .open = cmm_open, 1881 .open = cmm_open,
1882 .release= cmm_close, 1882 .release= cmm_close,
1883 .llseek = no_llseek,
1883}; 1884};
1884 1885
1885static struct pcmcia_device_id cm4000_ids[] = { 1886static struct pcmcia_device_id cm4000_ids[] = {
diff --git a/drivers/char/pcmcia/cm4040_cs.c b/drivers/char/pcmcia/cm4040_cs.c
index 815cde1d057..9ecc58baa8f 100644
--- a/drivers/char/pcmcia/cm4040_cs.c
+++ b/drivers/char/pcmcia/cm4040_cs.c
@@ -650,6 +650,7 @@ static const struct file_operations reader_fops = {
650 .open = cm4040_open, 650 .open = cm4040_open,
651 .release = cm4040_close, 651 .release = cm4040_close,
652 .poll = cm4040_poll, 652 .poll = cm4040_poll,
653 .llseek = no_llseek,
653}; 654};
654 655
655static struct pcmcia_device_id cm4040_ids[] = { 656static struct pcmcia_device_id cm4040_ids[] = {
diff --git a/drivers/char/random.c b/drivers/char/random.c
index caef35a4689..5a1aa64f4e7 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1165,6 +1165,7 @@ const struct file_operations random_fops = {
1165 .poll = random_poll, 1165 .poll = random_poll,
1166 .unlocked_ioctl = random_ioctl, 1166 .unlocked_ioctl = random_ioctl,
1167 .fasync = random_fasync, 1167 .fasync = random_fasync,
1168 .llseek = noop_llseek,
1168}; 1169};
1169 1170
1170const struct file_operations urandom_fops = { 1171const struct file_operations urandom_fops = {
@@ -1172,6 +1173,7 @@ const struct file_operations urandom_fops = {
1172 .write = random_write, 1173 .write = random_write,
1173 .unlocked_ioctl = random_ioctl, 1174 .unlocked_ioctl = random_ioctl,
1174 .fasync = random_fasync, 1175 .fasync = random_fasync,
1176 .llseek = noop_llseek,
1175}; 1177};
1176 1178
1177/*************************************************************** 1179/***************************************************************
diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c
index d58c2eb07f0..1e87a93164b 100644
--- a/drivers/char/rio/rio_linux.c
+++ b/drivers/char/rio/rio_linux.c
@@ -241,6 +241,7 @@ static struct real_driver rio_real_driver = {
241static const struct file_operations rio_fw_fops = { 241static const struct file_operations rio_fw_fops = {
242 .owner = THIS_MODULE, 242 .owner = THIS_MODULE,
243 .unlocked_ioctl = rio_fw_ioctl, 243 .unlocked_ioctl = rio_fw_ioctl,
244 .llseek = noop_llseek,
244}; 245};
245 246
246static struct miscdevice rio_fw_device = { 247static struct miscdevice rio_fw_device = {
diff --git a/drivers/char/scx200_gpio.c b/drivers/char/scx200_gpio.c
index 99e5272e3c5..0bc135b9b16 100644
--- a/drivers/char/scx200_gpio.c
+++ b/drivers/char/scx200_gpio.c
@@ -67,6 +67,7 @@ static const struct file_operations scx200_gpio_fileops = {
67 .read = nsc_gpio_read, 67 .read = nsc_gpio_read,
68 .open = scx200_gpio_open, 68 .open = scx200_gpio_open,
69 .release = scx200_gpio_release, 69 .release = scx200_gpio_release,
70 .llseek = no_llseek,
70}; 71};
71 72
72static struct cdev scx200_gpio_cdev; /* use 1 cdev for all pins */ 73static struct cdev scx200_gpio_cdev; /* use 1 cdev for all pins */
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 32b74de18f5..444ce17ac72 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -357,6 +357,7 @@ static const struct file_operations scdrv_fops = {
357 .poll = scdrv_poll, 357 .poll = scdrv_poll,
358 .open = scdrv_open, 358 .open = scdrv_open,
359 .release = scdrv_release, 359 .release = scdrv_release,
360 .llseek = noop_llseek,
360}; 361};
361 362
362static struct class *snsc_class; 363static struct class *snsc_class;
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c
index f2167f8e5aa..8ef16490810 100644
--- a/drivers/char/stallion.c
+++ b/drivers/char/stallion.c
@@ -608,6 +608,7 @@ static unsigned int sc26198_baudtable[] = {
608static const struct file_operations stl_fsiomem = { 608static const struct file_operations stl_fsiomem = {
609 .owner = THIS_MODULE, 609 .owner = THIS_MODULE,
610 .unlocked_ioctl = stl_memioctl, 610 .unlocked_ioctl = stl_memioctl,
611 .llseek = noop_llseek,
611}; 612};
612 613
613static struct class *stallion_class; 614static struct class *stallion_class;
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index 5b24db4ff7f..e53f1686539 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -397,6 +397,7 @@ static struct real_driver sx_real_driver = {
397static const struct file_operations sx_fw_fops = { 397static const struct file_operations sx_fw_fops = {
398 .owner = THIS_MODULE, 398 .owner = THIS_MODULE,
399 .unlocked_ioctl = sx_fw_ioctl, 399 .unlocked_ioctl = sx_fw_ioctl,
400 .llseek = noop_llseek,
400}; 401};
401 402
402static struct miscdevice sx_fw_device = { 403static struct miscdevice sx_fw_device = {
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c
index ef31bb81e84..f3019f53e87 100644
--- a/drivers/char/sysrq.c
+++ b/drivers/char/sysrq.c
@@ -772,6 +772,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
772 772
773static const struct file_operations proc_sysrq_trigger_operations = { 773static const struct file_operations proc_sysrq_trigger_operations = {
774 .write = write_sysrq_trigger, 774 .write = write_sysrq_trigger,
775 .llseek = noop_llseek,
775}; 776};
776 777
777static void sysrq_init_procfs(void) 778static void sysrq_init_procfs(void)
diff --git a/drivers/char/tb0219.c b/drivers/char/tb0219.c
index cad4eb65f13..ad264185eb1 100644
--- a/drivers/char/tb0219.c
+++ b/drivers/char/tb0219.c
@@ -261,6 +261,7 @@ static const struct file_operations tb0219_fops = {
261 .write = tanbac_tb0219_write, 261 .write = tanbac_tb0219_write,
262 .open = tanbac_tb0219_open, 262 .open = tanbac_tb0219_open,
263 .release = tanbac_tb0219_release, 263 .release = tanbac_tb0219_release,
264 .llseek = no_llseek,
264}; 265};
265 266
266static void tb0219_restart(char *command) 267static void tb0219_restart(char *command)
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index 80ea6bcfffd..d087532b29d 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -267,6 +267,7 @@ static const struct file_operations tlclk_fops = {
267 .read = tlclk_read, 267 .read = tlclk_read,
268 .open = tlclk_open, 268 .open = tlclk_open,
269 .release = tlclk_release, 269 .release = tlclk_release,
270 .llseek = noop_llseek,
270 271
271}; 272};
272 273
diff --git a/drivers/char/toshiba.c b/drivers/char/toshiba.c
index f8bc79f6de3..3d6e9617245 100644
--- a/drivers/char/toshiba.c
+++ b/drivers/char/toshiba.c
@@ -95,6 +95,7 @@ static long tosh_ioctl(struct file *, unsigned int,
95static const struct file_operations tosh_fops = { 95static const struct file_operations tosh_fops = {
96 .owner = THIS_MODULE, 96 .owner = THIS_MODULE,
97 .unlocked_ioctl = tosh_ioctl, 97 .unlocked_ioctl = tosh_ioctl,
98 .llseek = noop_llseek,
98}; 99};
99 100
100static struct miscdevice tosh_device = { 101static struct miscdevice tosh_device = {
diff --git a/drivers/char/uv_mmtimer.c b/drivers/char/uv_mmtimer.c
index c7072ba14f4..493b47a0d51 100644
--- a/drivers/char/uv_mmtimer.c
+++ b/drivers/char/uv_mmtimer.c
@@ -52,6 +52,7 @@ static const struct file_operations uv_mmtimer_fops = {
52 .owner = THIS_MODULE, 52 .owner = THIS_MODULE,
53 .mmap = uv_mmtimer_mmap, 53 .mmap = uv_mmtimer_mmap,
54 .unlocked_ioctl = uv_mmtimer_ioctl, 54 .unlocked_ioctl = uv_mmtimer_ioctl,
55 .llseek = noop_llseek,
55}; 56};
56 57
57/** 58/**
diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
index b663d573aad..be6d6fb47cc 100644
--- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c
+++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c
@@ -567,6 +567,7 @@ static const struct file_operations hwicap_fops = {
567 .read = hwicap_read, 567 .read = hwicap_read,
568 .open = hwicap_open, 568 .open = hwicap_open,
569 .release = hwicap_release, 569 .release = hwicap_release,
570 .llseek = noop_llseek,
570}; 571};
571 572
572static int __devinit hwicap_setup(struct device *dev, int id, 573static int __devinit hwicap_setup(struct device *dev, int id,
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c
index 557e2272e5b..ae2b8714d19 100644
--- a/drivers/dma/coh901318.c
+++ b/drivers/dma/coh901318.c
@@ -157,6 +157,7 @@ static const struct file_operations coh901318_debugfs_status_operations = {
157 .owner = THIS_MODULE, 157 .owner = THIS_MODULE,
158 .open = coh901318_debugfs_open, 158 .open = coh901318_debugfs_open,
159 .read = coh901318_debugfs_read, 159 .read = coh901318_debugfs_read,
160 .llseek = default_llseek,
160}; 161};
161 162
162 163
diff --git a/drivers/firewire/nosy.c b/drivers/firewire/nosy.c
index 8528b10763e..bf184fb59a5 100644
--- a/drivers/firewire/nosy.c
+++ b/drivers/firewire/nosy.c
@@ -405,6 +405,7 @@ static const struct file_operations nosy_ops = {
405 .poll = nosy_poll, 405 .poll = nosy_poll,
406 .open = nosy_open, 406 .open = nosy_open,
407 .release = nosy_release, 407 .release = nosy_release,
408 .llseek = noop_llseek,
408}; 409};
409 410
410#define PHY_PACKET_SIZE 12 /* 1 payload, 1 inverse, 1 ack = 3 quadlets */ 411#define PHY_PACKET_SIZE 12 /* 1 payload, 1 inverse, 1 ack = 3 quadlets */
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index 84da748555b..ff6690f4fc8 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -284,7 +284,8 @@ EXPORT_SYMBOL(drm_exit);
284/** File operations structure */ 284/** File operations structure */
285static const struct file_operations drm_stub_fops = { 285static const struct file_operations drm_stub_fops = {
286 .owner = THIS_MODULE, 286 .owner = THIS_MODULE,
287 .open = drm_stub_open 287 .open = drm_stub_open,
288 .llseek = noop_llseek,
288}; 289};
289 290
290static int __init drm_core_init(void) 291static int __init drm_core_init(void)
diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c
index 61b4caf220f..00f1bdaa65c 100644
--- a/drivers/gpu/drm/i810/i810_dma.c
+++ b/drivers/gpu/drm/i810/i810_dma.c
@@ -119,6 +119,7 @@ static const struct file_operations i810_buffer_fops = {
119 .unlocked_ioctl = drm_ioctl, 119 .unlocked_ioctl = drm_ioctl,
120 .mmap = i810_mmap_buffers, 120 .mmap = i810_mmap_buffers,
121 .fasync = drm_fasync, 121 .fasync = drm_fasync,
122 .llseek = noop_llseek,
122}; 123};
123 124
124static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv) 125static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv)
diff --git a/drivers/gpu/drm/i830/i830_dma.c b/drivers/gpu/drm/i830/i830_dma.c
index 671aa18415a..5c6eb65f4e5 100644
--- a/drivers/gpu/drm/i830/i830_dma.c
+++ b/drivers/gpu/drm/i830/i830_dma.c
@@ -121,6 +121,7 @@ static const struct file_operations i830_buffer_fops = {
121 .unlocked_ioctl = drm_ioctl, 121 .unlocked_ioctl = drm_ioctl,
122 .mmap = i830_mmap_buffers, 122 .mmap = i830_mmap_buffers,
123 .fasync = drm_fasync, 123 .fasync = drm_fasync,
124 .llseek = noop_llseek,
124}; 125};
125 126
126static int i830_map_buffer(struct drm_buf *buf, struct drm_file *file_priv) 127static int i830_map_buffer(struct drm_buf *buf, struct drm_file *file_priv)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 5e43d707678..048149748fd 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -782,6 +782,7 @@ static const struct file_operations i915_wedged_fops = {
782 .open = i915_wedged_open, 782 .open = i915_wedged_open,
783 .read = i915_wedged_read, 783 .read = i915_wedged_read,
784 .write = i915_wedged_write, 784 .write = i915_wedged_write,
785 .llseek = default_llseek,
785}; 786};
786 787
787/* As the drm_debugfs_init() routines are called before dev->dev_private is 788/* As the drm_debugfs_init() routines are called before dev->dev_private is
diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index b87569e96b1..3b7e0acf816 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -1211,6 +1211,7 @@ static const struct file_operations vga_arb_device_fops = {
1211 .poll = vga_arb_fpoll, 1211 .poll = vga_arb_fpoll,
1212 .open = vga_arb_open, 1212 .open = vga_arb_open,
1213 .release = vga_arb_release, 1213 .release = vga_arb_release,
1214 .llseek = noop_llseek,
1214}; 1215};
1215 1216
1216static struct miscdevice vga_arb_device = { 1217static struct miscdevice vga_arb_device = {
diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c
index 850d02a7a92..61a3e572224 100644
--- a/drivers/hid/hid-debug.c
+++ b/drivers/hid/hid-debug.c
@@ -1051,6 +1051,7 @@ static const struct file_operations hid_debug_events_fops = {
1051 .read = hid_debug_events_read, 1051 .read = hid_debug_events_read,
1052 .poll = hid_debug_events_poll, 1052 .poll = hid_debug_events_poll,
1053 .release = hid_debug_events_release, 1053 .release = hid_debug_events_release,
1054 .llseek = noop_llseek,
1054}; 1055};
1055 1056
1056 1057
diff --git a/drivers/hid/hid-roccat.c b/drivers/hid/hid-roccat.c
index f6e80c7ca61..5a6879e235a 100644
--- a/drivers/hid/hid-roccat.c
+++ b/drivers/hid/hid-roccat.c
@@ -384,6 +384,7 @@ static const struct file_operations roccat_ops = {
384 .poll = roccat_poll, 384 .poll = roccat_poll,
385 .open = roccat_open, 385 .open = roccat_open,
386 .release = roccat_release, 386 .release = roccat_release,
387 .llseek = noop_llseek,
387}; 388};
388 389
389static int __init roccat_init(void) 390static int __init roccat_init(void)
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index 47d70c523d9..bb98fa87aa8 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -329,6 +329,7 @@ static const struct file_operations hidraw_ops = {
329 .open = hidraw_open, 329 .open = hidraw_open,
330 .release = hidraw_release, 330 .release = hidraw_release,
331 .unlocked_ioctl = hidraw_ioctl, 331 .unlocked_ioctl = hidraw_ioctl,
332 .llseek = noop_llseek,
332}; 333};
333 334
334void hidraw_report_event(struct hid_device *hid, u8 *data, int len) 335void hidraw_report_event(struct hid_device *hid, u8 *data, int len)
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
index 0a29c51114a..e8f45d7ef3b 100644
--- a/drivers/hid/usbhid/hiddev.c
+++ b/drivers/hid/usbhid/hiddev.c
@@ -847,6 +847,7 @@ static const struct file_operations hiddev_fops = {
847#ifdef CONFIG_COMPAT 847#ifdef CONFIG_COMPAT
848 .compat_ioctl = hiddev_compat_ioctl, 848 .compat_ioctl = hiddev_compat_ioctl,
849#endif 849#endif
850 .llseek = noop_llseek,
850}; 851};
851 852
852static char *hiddev_devnode(struct device *dev, mode_t *mode) 853static char *hiddev_devnode(struct device *dev, mode_t *mode)
diff --git a/drivers/hwmon/asus_atk0110.c b/drivers/hwmon/asus_atk0110.c
index 653db1bda93..23b8555215d 100644
--- a/drivers/hwmon/asus_atk0110.c
+++ b/drivers/hwmon/asus_atk0110.c
@@ -762,6 +762,7 @@ static const struct file_operations atk_debugfs_ggrp_fops = {
762 .read = atk_debugfs_ggrp_read, 762 .read = atk_debugfs_ggrp_read,
763 .open = atk_debugfs_ggrp_open, 763 .open = atk_debugfs_ggrp_open,
764 .release = atk_debugfs_ggrp_release, 764 .release = atk_debugfs_ggrp_release,
765 .llseek = no_llseek,
765}; 766};
766 767
767static void atk_debugfs_init(struct atk_data *data) 768static void atk_debugfs_init(struct atk_data *data)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 6d622cb5ac8..23d1d1c5587 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -1903,6 +1903,7 @@ static const struct file_operations idetape_fops = {
1903 .unlocked_ioctl = idetape_chrdev_ioctl, 1903 .unlocked_ioctl = idetape_chrdev_ioctl,
1904 .open = idetape_chrdev_open, 1904 .open = idetape_chrdev_open,
1905 .release = idetape_chrdev_release, 1905 .release = idetape_chrdev_release,
1906 .llseek = noop_llseek,
1906}; 1907};
1907 1908
1908static int idetape_open(struct block_device *bdev, fmode_t mode) 1909static int idetape_open(struct block_device *bdev, fmode_t mode)
diff --git a/drivers/idle/i7300_idle.c b/drivers/idle/i7300_idle.c
index 15341fc1c68..c976285d313 100644
--- a/drivers/idle/i7300_idle.c
+++ b/drivers/idle/i7300_idle.c
@@ -536,6 +536,7 @@ static ssize_t stats_read_ul(struct file *fp, char __user *ubuf, size_t count,
536static const struct file_operations idle_fops = { 536static const struct file_operations idle_fops = {
537 .open = stats_open_generic, 537 .open = stats_open_generic,
538 .read = stats_read_ul, 538 .read = stats_read_ul,
539 .llseek = default_llseek,
539}; 540};
540 541
541struct debugfs_file_info { 542struct debugfs_file_info {
diff --git a/drivers/infiniband/hw/ipath/ipath_diag.c b/drivers/infiniband/hw/ipath/ipath_diag.c
index d4ce8b63e19..daef61d5e5b 100644
--- a/drivers/infiniband/hw/ipath/ipath_diag.c
+++ b/drivers/infiniband/hw/ipath/ipath_diag.c
@@ -65,7 +65,8 @@ static const struct file_operations diag_file_ops = {
65 .write = ipath_diag_write, 65 .write = ipath_diag_write,
66 .read = ipath_diag_read, 66 .read = ipath_diag_read,
67 .open = ipath_diag_open, 67 .open = ipath_diag_open,
68 .release = ipath_diag_release 68 .release = ipath_diag_release,
69 .llseek = default_llseek,
69}; 70};
70 71
71static ssize_t ipath_diagpkt_write(struct file *fp, 72static ssize_t ipath_diagpkt_write(struct file *fp,
@@ -75,6 +76,7 @@ static ssize_t ipath_diagpkt_write(struct file *fp,
75static const struct file_operations diagpkt_file_ops = { 76static const struct file_operations diagpkt_file_ops = {
76 .owner = THIS_MODULE, 77 .owner = THIS_MODULE,
77 .write = ipath_diagpkt_write, 78 .write = ipath_diagpkt_write,
79 .llseek = noop_llseek,
78}; 80};
79 81
80static atomic_t diagpkt_count = ATOMIC_INIT(0); 82static atomic_t diagpkt_count = ATOMIC_INIT(0);
diff --git a/drivers/infiniband/hw/ipath/ipath_file_ops.c b/drivers/infiniband/hw/ipath/ipath_file_ops.c
index 65eb8929db2..6078992da3f 100644
--- a/drivers/infiniband/hw/ipath/ipath_file_ops.c
+++ b/drivers/infiniband/hw/ipath/ipath_file_ops.c
@@ -63,7 +63,8 @@ static const struct file_operations ipath_file_ops = {
63 .open = ipath_open, 63 .open = ipath_open,
64 .release = ipath_close, 64 .release = ipath_close,
65 .poll = ipath_poll, 65 .poll = ipath_poll,
66 .mmap = ipath_mmap 66 .mmap = ipath_mmap,
67 .llseek = noop_llseek,
67}; 68};
68 69
69/* 70/*
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c
index 2fca70836da..d13e72685dc 100644
--- a/drivers/infiniband/hw/ipath/ipath_fs.c
+++ b/drivers/infiniband/hw/ipath/ipath_fs.c
@@ -103,6 +103,7 @@ static ssize_t atomic_stats_read(struct file *file, char __user *buf,
103 103
104static const struct file_operations atomic_stats_ops = { 104static const struct file_operations atomic_stats_ops = {
105 .read = atomic_stats_read, 105 .read = atomic_stats_read,
106 .llseek = default_llseek,
106}; 107};
107 108
108static ssize_t atomic_counters_read(struct file *file, char __user *buf, 109static ssize_t atomic_counters_read(struct file *file, char __user *buf,
@@ -120,6 +121,7 @@ static ssize_t atomic_counters_read(struct file *file, char __user *buf,
120 121
121static const struct file_operations atomic_counters_ops = { 122static const struct file_operations atomic_counters_ops = {
122 .read = atomic_counters_read, 123 .read = atomic_counters_read,
124 .llseek = default_llseek,
123}; 125};
124 126
125static ssize_t flash_read(struct file *file, char __user *buf, 127static ssize_t flash_read(struct file *file, char __user *buf,
@@ -224,6 +226,7 @@ bail:
224static const struct file_operations flash_ops = { 226static const struct file_operations flash_ops = {
225 .read = flash_read, 227 .read = flash_read,
226 .write = flash_write, 228 .write = flash_write,
229 .llseek = default_llseek,
227}; 230};
228 231
229static int create_device_files(struct super_block *sb, 232static int create_device_files(struct super_block *sb,
diff --git a/drivers/infiniband/hw/qib/qib_diag.c b/drivers/infiniband/hw/qib/qib_diag.c
index 05dcf0d9a7d..204c4dd9dce 100644
--- a/drivers/infiniband/hw/qib/qib_diag.c
+++ b/drivers/infiniband/hw/qib/qib_diag.c
@@ -136,7 +136,8 @@ static const struct file_operations diag_file_ops = {
136 .write = qib_diag_write, 136 .write = qib_diag_write,
137 .read = qib_diag_read, 137 .read = qib_diag_read,
138 .open = qib_diag_open, 138 .open = qib_diag_open,
139 .release = qib_diag_release 139 .release = qib_diag_release,
140 .llseek = default_llseek,
140}; 141};
141 142
142static atomic_t diagpkt_count = ATOMIC_INIT(0); 143static atomic_t diagpkt_count = ATOMIC_INIT(0);
@@ -149,6 +150,7 @@ static ssize_t qib_diagpkt_write(struct file *fp, const char __user *data,
149static const struct file_operations diagpkt_file_ops = { 150static const struct file_operations diagpkt_file_ops = {
150 .owner = THIS_MODULE, 151 .owner = THIS_MODULE,
151 .write = qib_diagpkt_write, 152 .write = qib_diagpkt_write,
153 .llseek = noop_llseek,
152}; 154};
153 155
154int qib_diag_add(struct qib_devdata *dd) 156int qib_diag_add(struct qib_devdata *dd)
diff --git a/drivers/infiniband/hw/qib/qib_file_ops.c b/drivers/infiniband/hw/qib/qib_file_ops.c
index 6b11645edf3..aa2be214270 100644
--- a/drivers/infiniband/hw/qib/qib_file_ops.c
+++ b/drivers/infiniband/hw/qib/qib_file_ops.c
@@ -63,7 +63,8 @@ static const struct file_operations qib_file_ops = {
63 .open = qib_open, 63 .open = qib_open,
64 .release = qib_close, 64 .release = qib_close,
65 .poll = qib_poll, 65 .poll = qib_poll,
66 .mmap = qib_mmapf 66 .mmap = qib_mmapf,
67 .llseek = noop_llseek,
67}; 68};
68 69
69/* 70/*
diff --git a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c
index 9f989c0ba9d..a0e6613e8be 100644
--- a/drivers/infiniband/hw/qib/qib_fs.c
+++ b/drivers/infiniband/hw/qib/qib_fs.c
@@ -367,6 +367,7 @@ bail:
367static const struct file_operations flash_ops = { 367static const struct file_operations flash_ops = {
368 .read = flash_read, 368 .read = flash_read,
369 .write = flash_write, 369 .write = flash_write,
370 .llseek = default_llseek,
370}; 371};
371 372
372static int add_cntr_files(struct super_block *sb, struct qib_devdata *dd) 373static int add_cntr_files(struct super_block *sb, struct qib_devdata *dd)
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index c908c5f8364..51330363c0e 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -761,7 +761,8 @@ static const struct file_operations evdev_fops = {
761 .compat_ioctl = evdev_ioctl_compat, 761 .compat_ioctl = evdev_ioctl_compat,
762#endif 762#endif
763 .fasync = evdev_fasync, 763 .fasync = evdev_fasync,
764 .flush = evdev_flush 764 .flush = evdev_flush,
765 .llseek = no_llseek,
765}; 766};
766 767
767static int evdev_install_chrdev(struct evdev *evdev) 768static int evdev_install_chrdev(struct evdev *evdev)
diff --git a/drivers/input/input.c b/drivers/input/input.c
index ab698205651..7919c253722 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -2047,6 +2047,7 @@ out:
2047static const struct file_operations input_fops = { 2047static const struct file_operations input_fops = {
2048 .owner = THIS_MODULE, 2048 .owner = THIS_MODULE,
2049 .open = input_open_file, 2049 .open = input_open_file,
2050 .llseek = noop_llseek,
2050}; 2051};
2051 2052
2052static int __init input_init(void) 2053static int __init input_init(void)
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index d85bd8a7967..502b2f73b43 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -736,6 +736,7 @@ static const struct file_operations joydev_fops = {
736 .compat_ioctl = joydev_compat_ioctl, 736 .compat_ioctl = joydev_compat_ioctl,
737#endif 737#endif
738 .fasync = joydev_fasync, 738 .fasync = joydev_fasync,
739 .llseek = no_llseek,
739}; 740};
740 741
741static int joydev_install_chrdev(struct joydev *joydev) 742static int joydev_install_chrdev(struct joydev *joydev)
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
index 0d4266a533a..2771ea778d3 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
@@ -804,6 +804,7 @@ static const struct file_operations uinput_fops = {
804#ifdef CONFIG_COMPAT 804#ifdef CONFIG_COMPAT
805 .compat_ioctl = uinput_compat_ioctl, 805 .compat_ioctl = uinput_compat_ioctl,
806#endif 806#endif
807 .llseek = no_llseek,
807}; 808};
808 809
809static struct miscdevice uinput_misc = { 810static struct miscdevice uinput_misc = {
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index d528a2dba06..31ec7265aac 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -792,6 +792,7 @@ static const struct file_operations mousedev_fops = {
792 .open = mousedev_open, 792 .open = mousedev_open,
793 .release = mousedev_release, 793 .release = mousedev_release,
794 .fasync = mousedev_fasync, 794 .fasync = mousedev_fasync,
795 .llseek = noop_llseek,
795}; 796};
796 797
797static int mousedev_install_chrdev(struct mousedev *mousedev) 798static int mousedev_install_chrdev(struct mousedev *mousedev)
diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c
index 99866485444..cd82bb12591 100644
--- a/drivers/input/serio/serio_raw.c
+++ b/drivers/input/serio/serio_raw.c
@@ -243,6 +243,7 @@ static const struct file_operations serio_raw_fops = {
243 .write = serio_raw_write, 243 .write = serio_raw_write,
244 .poll = serio_raw_poll, 244 .poll = serio_raw_poll,
245 .fasync = serio_raw_fasync, 245 .fasync = serio_raw_fasync,
246 .llseek = noop_llseek,
246}; 247};
247 248
248 249
diff --git a/drivers/isdn/mISDN/timerdev.c b/drivers/isdn/mISDN/timerdev.c
index de43c8c70ad..859c81e9483 100644
--- a/drivers/isdn/mISDN/timerdev.c
+++ b/drivers/isdn/mISDN/timerdev.c
@@ -267,6 +267,7 @@ static const struct file_operations mISDN_fops = {
267 .unlocked_ioctl = mISDN_ioctl, 267 .unlocked_ioctl = mISDN_ioctl,
268 .open = mISDN_open, 268 .open = mISDN_open,
269 .release = mISDN_close, 269 .release = mISDN_close,
270 .llseek = no_llseek,
270}; 271};
271 272
272static struct miscdevice mISDNtimer = { 273static struct miscdevice mISDNtimer = {
diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c
index 85b714df8ea..3c781cdddda 100644
--- a/drivers/lguest/lguest_user.c
+++ b/drivers/lguest/lguest_user.c
@@ -514,6 +514,7 @@ static const struct file_operations lguest_fops = {
514 .release = close, 514 .release = close,
515 .write = write, 515 .write = write,
516 .read = read, 516 .read = read,
517 .llseek = default_llseek,
517}; 518};
518 519
519/* 520/*
diff --git a/drivers/macintosh/ans-lcd.c b/drivers/macintosh/ans-lcd.c
index a3d25da2f27..1a57e88a38f 100644
--- a/drivers/macintosh/ans-lcd.c
+++ b/drivers/macintosh/ans-lcd.c
@@ -137,6 +137,7 @@ const struct file_operations anslcd_fops = {
137 .write = anslcd_write, 137 .write = anslcd_write,
138 .unlocked_ioctl = anslcd_ioctl, 138 .unlocked_ioctl = anslcd_ioctl,
139 .open = anslcd_open, 139 .open = anslcd_open,
140 .llseek = default_llseek,
140}; 141};
141 142
142static struct miscdevice anslcd_dev = { 143static struct miscdevice anslcd_dev = {
diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c
index 2d17e76066b..44d171cc225 100644
--- a/drivers/macintosh/via-pmu.c
+++ b/drivers/macintosh/via-pmu.c
@@ -2398,6 +2398,7 @@ static const struct file_operations pmu_device_fops = {
2398#endif 2398#endif
2399 .open = pmu_open, 2399 .open = pmu_open,
2400 .release = pmu_release, 2400 .release = pmu_release,
2401 .llseek = noop_llseek,
2401}; 2402};
2402 2403
2403static struct miscdevice pmu_device = { 2404static struct miscdevice pmu_device = {
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
index 3e39193e503..4b54618b415 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -1596,6 +1596,7 @@ static const struct file_operations _ctl_fops = {
1596 .unlocked_ioctl = dm_ctl_ioctl, 1596 .unlocked_ioctl = dm_ctl_ioctl,
1597 .compat_ioctl = dm_compat_ctl_ioctl, 1597 .compat_ioctl = dm_compat_ctl_ioctl,
1598 .owner = THIS_MODULE, 1598 .owner = THIS_MODULE,
1599 .llseek = noop_llseek,
1599}; 1600};
1600 1601
1601static struct miscdevice _dm_misc = { 1602static struct miscdevice _dm_misc = {
diff --git a/drivers/media/IR/imon.c b/drivers/media/IR/imon.c
index c185422ef28..faed5a332c7 100644
--- a/drivers/media/IR/imon.c
+++ b/drivers/media/IR/imon.c
@@ -151,7 +151,8 @@ static const struct file_operations vfd_fops = {
151 .owner = THIS_MODULE, 151 .owner = THIS_MODULE,
152 .open = &display_open, 152 .open = &display_open,
153 .write = &vfd_write, 153 .write = &vfd_write,
154 .release = &display_close 154 .release = &display_close,
155 .llseek = noop_llseek,
155}; 156};
156 157
157/* lcd character device file operations */ 158/* lcd character device file operations */
@@ -159,7 +160,8 @@ static const struct file_operations lcd_fops = {
159 .owner = THIS_MODULE, 160 .owner = THIS_MODULE,
160 .open = &display_open, 161 .open = &display_open,
161 .write = &lcd_write, 162 .write = &lcd_write,
162 .release = &display_close 163 .release = &display_close,
164 .llseek = noop_llseek,
163}; 165};
164 166
165enum { 167enum {
diff --git a/drivers/media/IR/lirc_dev.c b/drivers/media/IR/lirc_dev.c
index 5b145e8672f..0acf6396e06 100644
--- a/drivers/media/IR/lirc_dev.c
+++ b/drivers/media/IR/lirc_dev.c
@@ -163,6 +163,7 @@ static struct file_operations fops = {
163 .unlocked_ioctl = lirc_dev_fop_ioctl, 163 .unlocked_ioctl = lirc_dev_fop_ioctl,
164 .open = lirc_dev_fop_open, 164 .open = lirc_dev_fop_open,
165 .release = lirc_dev_fop_close, 165 .release = lirc_dev_fop_close,
166 .llseek = noop_llseek,
166}; 167};
167 168
168static int lirc_cdev_add(struct irctl *ir) 169static int lirc_cdev_add(struct irctl *ir)
diff --git a/drivers/media/dvb/bt8xx/dst_ca.c b/drivers/media/dvb/bt8xx/dst_ca.c
index cf870516284..7ed74dfc6b9 100644
--- a/drivers/media/dvb/bt8xx/dst_ca.c
+++ b/drivers/media/dvb/bt8xx/dst_ca.c
@@ -694,7 +694,8 @@ static const struct file_operations dst_ca_fops = {
694 .open = dst_ca_open, 694 .open = dst_ca_open,
695 .release = dst_ca_release, 695 .release = dst_ca_release,
696 .read = dst_ca_read, 696 .read = dst_ca_read,
697 .write = dst_ca_write 697 .write = dst_ca_write,
698 .llseek = noop_llseek,
698}; 699};
699 700
700static struct dvb_device dvbdev_ca = { 701static struct dvb_device dvbdev_ca = {
diff --git a/drivers/media/dvb/dvb-core/dmxdev.c b/drivers/media/dvb/dvb-core/dmxdev.c
index 0042306ea11..75c20ac82c0 100644
--- a/drivers/media/dvb/dvb-core/dmxdev.c
+++ b/drivers/media/dvb/dvb-core/dmxdev.c
@@ -1150,6 +1150,7 @@ static const struct file_operations dvb_demux_fops = {
1150 .open = dvb_demux_open, 1150 .open = dvb_demux_open,
1151 .release = dvb_demux_release, 1151 .release = dvb_demux_release,
1152 .poll = dvb_demux_poll, 1152 .poll = dvb_demux_poll,
1153 .llseek = default_llseek,
1153}; 1154};
1154 1155
1155static struct dvb_device dvbdev_demux = { 1156static struct dvb_device dvbdev_demux = {
@@ -1225,6 +1226,7 @@ static const struct file_operations dvb_dvr_fops = {
1225 .open = dvb_dvr_open, 1226 .open = dvb_dvr_open,
1226 .release = dvb_dvr_release, 1227 .release = dvb_dvr_release,
1227 .poll = dvb_dvr_poll, 1228 .poll = dvb_dvr_poll,
1229 .llseek = default_llseek,
1228}; 1230};
1229 1231
1230static struct dvb_device dvbdev_dvr = { 1232static struct dvb_device dvbdev_dvr = {
diff --git a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
index cb97e6b8543..ff8921dd737 100644
--- a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
+++ b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
@@ -1628,6 +1628,7 @@ static const struct file_operations dvb_ca_fops = {
1628 .open = dvb_ca_en50221_io_open, 1628 .open = dvb_ca_en50221_io_open,
1629 .release = dvb_ca_en50221_io_release, 1629 .release = dvb_ca_en50221_io_release,
1630 .poll = dvb_ca_en50221_io_poll, 1630 .poll = dvb_ca_en50221_io_poll,
1631 .llseek = noop_llseek,
1631}; 1632};
1632 1633
1633static struct dvb_device dvbdev_ca = { 1634static struct dvb_device dvbdev_ca = {
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 4d45b7d6b3f..970c9b8882d 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -2034,7 +2034,8 @@ static const struct file_operations dvb_frontend_fops = {
2034 .unlocked_ioctl = dvb_generic_ioctl, 2034 .unlocked_ioctl = dvb_generic_ioctl,
2035 .poll = dvb_frontend_poll, 2035 .poll = dvb_frontend_poll,
2036 .open = dvb_frontend_open, 2036 .open = dvb_frontend_open,
2037 .release = dvb_frontend_release 2037 .release = dvb_frontend_release,
2038 .llseek = noop_llseek,
2038}; 2039};
2039 2040
2040int dvb_register_frontend(struct dvb_adapter* dvb, 2041int dvb_register_frontend(struct dvb_adapter* dvb,
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c
index 6c3a8a06cca..82636f517b9 100644
--- a/drivers/media/dvb/dvb-core/dvb_net.c
+++ b/drivers/media/dvb/dvb-core/dvb_net.c
@@ -1475,6 +1475,7 @@ static const struct file_operations dvb_net_fops = {
1475 .unlocked_ioctl = dvb_net_ioctl, 1475 .unlocked_ioctl = dvb_net_ioctl,
1476 .open = dvb_generic_open, 1476 .open = dvb_generic_open,
1477 .release = dvb_net_close, 1477 .release = dvb_net_close,
1478 .llseek = noop_llseek,
1478}; 1479};
1479 1480
1480static struct dvb_device dvbdev_net = { 1481static struct dvb_device dvbdev_net = {
diff --git a/drivers/media/dvb/dvb-core/dvbdev.c b/drivers/media/dvb/dvb-core/dvbdev.c
index b915c39d782..774b40e4f58 100644
--- a/drivers/media/dvb/dvb-core/dvbdev.c
+++ b/drivers/media/dvb/dvb-core/dvbdev.c
@@ -105,6 +105,7 @@ static const struct file_operations dvb_device_fops =
105{ 105{
106 .owner = THIS_MODULE, 106 .owner = THIS_MODULE,
107 .open = dvb_device_open, 107 .open = dvb_device_open,
108 .llseek = noop_llseek,
108}; 109};
109 110
110static struct cdev dvb_device_cdev; 111static struct cdev dvb_device_cdev;
diff --git a/drivers/media/dvb/firewire/firedtv-ci.c b/drivers/media/dvb/firewire/firedtv-ci.c
index d3c2cf60de7..8ffb565f070 100644
--- a/drivers/media/dvb/firewire/firedtv-ci.c
+++ b/drivers/media/dvb/firewire/firedtv-ci.c
@@ -220,6 +220,7 @@ static const struct file_operations fdtv_ca_fops = {
220 .open = dvb_generic_open, 220 .open = dvb_generic_open,
221 .release = dvb_generic_release, 221 .release = dvb_generic_release,
222 .poll = fdtv_ca_io_poll, 222 .poll = fdtv_ca_io_poll,
223 .llseek = noop_llseek,
223}; 224};
224 225
225static struct dvb_device fdtv_ca = { 226static struct dvb_device fdtv_ca = {
diff --git a/drivers/media/dvb/ttpci/av7110.c b/drivers/media/dvb/ttpci/av7110.c
index a6be529eec5..893fbc57c72 100644
--- a/drivers/media/dvb/ttpci/av7110.c
+++ b/drivers/media/dvb/ttpci/av7110.c
@@ -730,6 +730,7 @@ static const struct file_operations dvb_osd_fops = {
730 .unlocked_ioctl = dvb_generic_ioctl, 730 .unlocked_ioctl = dvb_generic_ioctl,
731 .open = dvb_generic_open, 731 .open = dvb_generic_open,
732 .release = dvb_generic_release, 732 .release = dvb_generic_release,
733 .llseek = noop_llseek,
733}; 734};
734 735
735static struct dvb_device dvbdev_osd = { 736static struct dvb_device dvbdev_osd = {
diff --git a/drivers/media/dvb/ttpci/av7110_av.c b/drivers/media/dvb/ttpci/av7110_av.c
index 13efba942da..6ef3996565a 100644
--- a/drivers/media/dvb/ttpci/av7110_av.c
+++ b/drivers/media/dvb/ttpci/av7110_av.c
@@ -1521,6 +1521,7 @@ static const struct file_operations dvb_video_fops = {
1521 .open = dvb_video_open, 1521 .open = dvb_video_open,
1522 .release = dvb_video_release, 1522 .release = dvb_video_release,
1523 .poll = dvb_video_poll, 1523 .poll = dvb_video_poll,
1524 .llseek = noop_llseek,
1524}; 1525};
1525 1526
1526static struct dvb_device dvbdev_video = { 1527static struct dvb_device dvbdev_video = {
@@ -1539,6 +1540,7 @@ static const struct file_operations dvb_audio_fops = {
1539 .open = dvb_audio_open, 1540 .open = dvb_audio_open,
1540 .release = dvb_audio_release, 1541 .release = dvb_audio_release,
1541 .poll = dvb_audio_poll, 1542 .poll = dvb_audio_poll,
1543 .llseek = noop_llseek,
1542}; 1544};
1543 1545
1544static struct dvb_device dvbdev_audio = { 1546static struct dvb_device dvbdev_audio = {
diff --git a/drivers/media/dvb/ttpci/av7110_ca.c b/drivers/media/dvb/ttpci/av7110_ca.c
index 4eba35a018e..43f61f2eca9 100644
--- a/drivers/media/dvb/ttpci/av7110_ca.c
+++ b/drivers/media/dvb/ttpci/av7110_ca.c
@@ -353,6 +353,7 @@ static const struct file_operations dvb_ca_fops = {
353 .open = dvb_ca_open, 353 .open = dvb_ca_open,
354 .release = dvb_generic_release, 354 .release = dvb_generic_release,
355 .poll = dvb_ca_poll, 355 .poll = dvb_ca_poll,
356 .llseek = default_llseek,
356}; 357};
357 358
358static struct dvb_device dvbdev_ca = { 359static struct dvb_device dvbdev_ca = {
diff --git a/drivers/media/dvb/ttpci/av7110_ir.c b/drivers/media/dvb/ttpci/av7110_ir.c
index b070e88d8c6..908f272fe26 100644
--- a/drivers/media/dvb/ttpci/av7110_ir.c
+++ b/drivers/media/dvb/ttpci/av7110_ir.c
@@ -312,6 +312,7 @@ static ssize_t av7110_ir_proc_write(struct file *file, const char __user *buffer
312static const struct file_operations av7110_ir_proc_fops = { 312static const struct file_operations av7110_ir_proc_fops = {
313 .owner = THIS_MODULE, 313 .owner = THIS_MODULE,
314 .write = av7110_ir_proc_write, 314 .write = av7110_ir_proc_write,
315 .llseek = noop_llseek,
315}; 316};
316 317
317/* interrupt handler */ 318/* interrupt handler */
diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c
index 66379b41390..b048ecc56db 100644
--- a/drivers/mfd/ab3100-core.c
+++ b/drivers/mfd/ab3100-core.c
@@ -583,6 +583,7 @@ static ssize_t ab3100_get_set_reg(struct file *file,
583static const struct file_operations ab3100_get_set_reg_fops = { 583static const struct file_operations ab3100_get_set_reg_fops = {
584 .open = ab3100_get_set_reg_open_file, 584 .open = ab3100_get_set_reg_open_file,
585 .write = ab3100_get_set_reg, 585 .write = ab3100_get_set_reg,
586 .llseek = noop_llseek,
586}; 587};
587 588
588static struct dentry *ab3100_dir; 589static struct dentry *ab3100_dir;
diff --git a/drivers/misc/hpilo.c b/drivers/misc/hpilo.c
index 557a8c2a733..69c1f2fca14 100644
--- a/drivers/misc/hpilo.c
+++ b/drivers/misc/hpilo.c
@@ -640,6 +640,7 @@ static const struct file_operations ilo_fops = {
640 .poll = ilo_poll, 640 .poll = ilo_poll,
641 .open = ilo_open, 641 .open = ilo_open,
642 .release = ilo_close, 642 .release = ilo_close,
643 .llseek = noop_llseek,
643}; 644};
644 645
645static irqreturn_t ilo_isr(int irq, void *data) 646static irqreturn_t ilo_isr(int irq, void *data)
diff --git a/drivers/misc/phantom.c b/drivers/misc/phantom.c
index 75ee0d3f6f4..6b38b596429 100644
--- a/drivers/misc/phantom.c
+++ b/drivers/misc/phantom.c
@@ -279,6 +279,7 @@ static const struct file_operations phantom_file_ops = {
279 .unlocked_ioctl = phantom_ioctl, 279 .unlocked_ioctl = phantom_ioctl,
280 .compat_ioctl = phantom_compat_ioctl, 280 .compat_ioctl = phantom_compat_ioctl,
281 .poll = phantom_poll, 281 .poll = phantom_poll,
282 .llseek = no_llseek,
282}; 283};
283 284
284static irqreturn_t phantom_isr(int irq, void *data) 285static irqreturn_t phantom_isr(int irq, void *data)
diff --git a/drivers/misc/sgi-gru/grufile.c b/drivers/misc/sgi-gru/grufile.c
index cb3b4d22847..28852dfa310 100644
--- a/drivers/misc/sgi-gru/grufile.c
+++ b/drivers/misc/sgi-gru/grufile.c
@@ -587,6 +587,7 @@ static const struct file_operations gru_fops = {
587 .owner = THIS_MODULE, 587 .owner = THIS_MODULE,
588 .unlocked_ioctl = gru_file_unlocked_ioctl, 588 .unlocked_ioctl = gru_file_unlocked_ioctl,
589 .mmap = gru_file_mmap, 589 .mmap = gru_file_mmap,
590 .llseek = noop_llseek,
590}; 591};
591 592
592static struct miscdevice gru_miscdev = { 593static struct miscdevice gru_miscdev = {
diff --git a/drivers/mmc/core/debugfs.c b/drivers/mmc/core/debugfs.c
index 53cb380c098..46bc6d7551a 100644
--- a/drivers/mmc/core/debugfs.c
+++ b/drivers/mmc/core/debugfs.c
@@ -245,6 +245,7 @@ static const struct file_operations mmc_dbg_ext_csd_fops = {
245 .open = mmc_ext_csd_open, 245 .open = mmc_ext_csd_open,
246 .read = mmc_ext_csd_read, 246 .read = mmc_ext_csd_read,
247 .release = mmc_ext_csd_release, 247 .release = mmc_ext_csd_release,
248 .llseek = default_llseek,
248}; 249};
249 250
250void mmc_add_card_debugfs(struct mmc_card *card) 251void mmc_add_card_debugfs(struct mmc_card *card)
diff --git a/drivers/mtd/ubi/cdev.c b/drivers/mtd/ubi/cdev.c
index 3d2d1a69e9a..af9fb0ff821 100644
--- a/drivers/mtd/ubi/cdev.c
+++ b/drivers/mtd/ubi/cdev.c
@@ -1100,4 +1100,5 @@ const struct file_operations ubi_ctrl_cdev_operations = {
1100 .owner = THIS_MODULE, 1100 .owner = THIS_MODULE,
1101 .unlocked_ioctl = ctrl_cdev_ioctl, 1101 .unlocked_ioctl = ctrl_cdev_ioctl,
1102 .compat_ioctl = ctrl_cdev_compat_ioctl, 1102 .compat_ioctl = ctrl_cdev_compat_ioctl,
1103 .llseek = noop_llseek,
1103}; 1104};
diff --git a/drivers/net/caif/caif_spi.c b/drivers/net/caif/caif_spi.c
index f5058ff2b21..8427533fe31 100644
--- a/drivers/net/caif/caif_spi.c
+++ b/drivers/net/caif/caif_spi.c
@@ -240,13 +240,15 @@ static ssize_t dbgfs_frame(struct file *file, char __user *user_buf,
240static const struct file_operations dbgfs_state_fops = { 240static const struct file_operations dbgfs_state_fops = {
241 .open = dbgfs_open, 241 .open = dbgfs_open,
242 .read = dbgfs_state, 242 .read = dbgfs_state,
243 .owner = THIS_MODULE 243 .owner = THIS_MODULE,
244 .llseek = default_llseek,
244}; 245};
245 246
246static const struct file_operations dbgfs_frame_fops = { 247static const struct file_operations dbgfs_frame_fops = {
247 .open = dbgfs_open, 248 .open = dbgfs_open,
248 .read = dbgfs_frame, 249 .read = dbgfs_frame,
249 .owner = THIS_MODULE 250 .owner = THIS_MODULE,
251 .llseek = default_llseek,
250}; 252};
251 253
252static inline void dev_debugfs_add(struct cfspi *cfspi) 254static inline void dev_debugfs_add(struct cfspi *cfspi)
diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c
index c327527fbbc..e2bf10d90ad 100644
--- a/drivers/net/cxgb4/cxgb4_main.c
+++ b/drivers/net/cxgb4/cxgb4_main.c
@@ -2026,6 +2026,7 @@ static const struct file_operations mem_debugfs_fops = {
2026 .owner = THIS_MODULE, 2026 .owner = THIS_MODULE,
2027 .open = mem_open, 2027 .open = mem_open,
2028 .read = mem_read, 2028 .read = mem_read,
2029 .llseek = default_llseek,
2029}; 2030};
2030 2031
2031static void __devinit add_debugfs_mem(struct adapter *adap, const char *name, 2032static void __devinit add_debugfs_mem(struct adapter *adap, const char *name,
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c
index 6695a51e09e..323e81e9e80 100644
--- a/drivers/net/ppp_generic.c
+++ b/drivers/net/ppp_generic.c
@@ -856,7 +856,8 @@ static const struct file_operations ppp_device_fops = {
856 .poll = ppp_poll, 856 .poll = ppp_poll,
857 .unlocked_ioctl = ppp_ioctl, 857 .unlocked_ioctl = ppp_ioctl,
858 .open = ppp_open, 858 .open = ppp_open,
859 .release = ppp_release 859 .release = ppp_release,
860 .llseek = noop_llseek,
860}; 861};
861 862
862static __net_init int ppp_init_net(struct net *net) 863static __net_init int ppp_init_net(struct net *net)
diff --git a/drivers/net/wimax/i2400m/debugfs.c b/drivers/net/wimax/i2400m/debugfs.c
index b1aec3e1892..9c70b5fa3f5 100644
--- a/drivers/net/wimax/i2400m/debugfs.c
+++ b/drivers/net/wimax/i2400m/debugfs.c
@@ -119,6 +119,7 @@ const struct file_operations i2400m_rx_stats_fops = {
119 .open = i2400m_stats_open, 119 .open = i2400m_stats_open,
120 .read = i2400m_rx_stats_read, 120 .read = i2400m_rx_stats_read,
121 .write = i2400m_rx_stats_write, 121 .write = i2400m_rx_stats_write,
122 .llseek = default_llseek,
122}; 123};
123 124
124 125
@@ -171,6 +172,7 @@ const struct file_operations i2400m_tx_stats_fops = {
171 .open = i2400m_stats_open, 172 .open = i2400m_stats_open,
172 .read = i2400m_tx_stats_read, 173 .read = i2400m_tx_stats_read,
173 .write = i2400m_tx_stats_write, 174 .write = i2400m_tx_stats_write,
175 .llseek = default_llseek,
174}; 176};
175 177
176 178
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 1d05445d4ba..ce77575e88b 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -4430,21 +4430,24 @@ static const struct file_operations proc_statsdelta_ops = {
4430 .owner = THIS_MODULE, 4430 .owner = THIS_MODULE,
4431 .read = proc_read, 4431 .read = proc_read,
4432 .open = proc_statsdelta_open, 4432 .open = proc_statsdelta_open,
4433 .release = proc_close 4433 .release = proc_close,
4434 .llseek = default_llseek,
4434}; 4435};
4435 4436
4436static const struct file_operations proc_stats_ops = { 4437static const struct file_operations proc_stats_ops = {
4437 .owner = THIS_MODULE, 4438 .owner = THIS_MODULE,
4438 .read = proc_read, 4439 .read = proc_read,
4439 .open = proc_stats_open, 4440 .open = proc_stats_open,
4440 .release = proc_close 4441 .release = proc_close,
4442 .llseek = default_llseek,
4441}; 4443};
4442 4444
4443static const struct file_operations proc_status_ops = { 4445static const struct file_operations proc_status_ops = {
4444 .owner = THIS_MODULE, 4446 .owner = THIS_MODULE,
4445 .read = proc_read, 4447 .read = proc_read,
4446 .open = proc_status_open, 4448 .open = proc_status_open,
4447 .release = proc_close 4449 .release = proc_close,
4450 .llseek = default_llseek,
4448}; 4451};
4449 4452
4450static const struct file_operations proc_SSID_ops = { 4453static const struct file_operations proc_SSID_ops = {
@@ -4452,7 +4455,8 @@ static const struct file_operations proc_SSID_ops = {
4452 .read = proc_read, 4455 .read = proc_read,
4453 .write = proc_write, 4456 .write = proc_write,
4454 .open = proc_SSID_open, 4457 .open = proc_SSID_open,
4455 .release = proc_close 4458 .release = proc_close,
4459 .llseek = default_llseek,
4456}; 4460};
4457 4461
4458static const struct file_operations proc_BSSList_ops = { 4462static const struct file_operations proc_BSSList_ops = {
@@ -4460,7 +4464,8 @@ static const struct file_operations proc_BSSList_ops = {
4460 .read = proc_read, 4464 .read = proc_read,
4461 .write = proc_write, 4465 .write = proc_write,
4462 .open = proc_BSSList_open, 4466 .open = proc_BSSList_open,
4463 .release = proc_close 4467 .release = proc_close,
4468 .llseek = default_llseek,
4464}; 4469};
4465 4470
4466static const struct file_operations proc_APList_ops = { 4471static const struct file_operations proc_APList_ops = {
@@ -4468,7 +4473,8 @@ static const struct file_operations proc_APList_ops = {
4468 .read = proc_read, 4473 .read = proc_read,
4469 .write = proc_write, 4474 .write = proc_write,
4470 .open = proc_APList_open, 4475 .open = proc_APList_open,
4471 .release = proc_close 4476 .release = proc_close,
4477 .llseek = default_llseek,
4472}; 4478};
4473 4479
4474static const struct file_operations proc_config_ops = { 4480static const struct file_operations proc_config_ops = {
@@ -4476,7 +4482,8 @@ static const struct file_operations proc_config_ops = {
4476 .read = proc_read, 4482 .read = proc_read,
4477 .write = proc_write, 4483 .write = proc_write,
4478 .open = proc_config_open, 4484 .open = proc_config_open,
4479 .release = proc_close 4485 .release = proc_close,
4486 .llseek = default_llseek,
4480}; 4487};
4481 4488
4482static const struct file_operations proc_wepkey_ops = { 4489static const struct file_operations proc_wepkey_ops = {
@@ -4484,7 +4491,8 @@ static const struct file_operations proc_wepkey_ops = {
4484 .read = proc_read, 4491 .read = proc_read,
4485 .write = proc_write, 4492 .write = proc_write,
4486 .open = proc_wepkey_open, 4493 .open = proc_wepkey_open,
4487 .release = proc_close 4494 .release = proc_close,
4495 .llseek = default_llseek,
4488}; 4496};
4489 4497
4490static struct proc_dir_entry *airo_entry; 4498static struct proc_dir_entry *airo_entry;
diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c
index 4cccc29964f..fb339c3852e 100644
--- a/drivers/net/wireless/ath/ath5k/debug.c
+++ b/drivers/net/wireless/ath/ath5k/debug.c
@@ -271,6 +271,7 @@ static const struct file_operations fops_beacon = {
271 .write = write_file_beacon, 271 .write = write_file_beacon,
272 .open = ath5k_debugfs_open, 272 .open = ath5k_debugfs_open,
273 .owner = THIS_MODULE, 273 .owner = THIS_MODULE,
274 .llseek = default_llseek,
274}; 275};
275 276
276 277
@@ -290,6 +291,7 @@ static const struct file_operations fops_reset = {
290 .write = write_file_reset, 291 .write = write_file_reset,
291 .open = ath5k_debugfs_open, 292 .open = ath5k_debugfs_open,
292 .owner = THIS_MODULE, 293 .owner = THIS_MODULE,
294 .llseek = noop_llseek,
293}; 295};
294 296
295 297
@@ -369,6 +371,7 @@ static const struct file_operations fops_debug = {
369 .write = write_file_debug, 371 .write = write_file_debug,
370 .open = ath5k_debugfs_open, 372 .open = ath5k_debugfs_open,
371 .owner = THIS_MODULE, 373 .owner = THIS_MODULE,
374 .llseek = default_llseek,
372}; 375};
373 376
374 377
@@ -480,6 +483,7 @@ static const struct file_operations fops_antenna = {
480 .write = write_file_antenna, 483 .write = write_file_antenna,
481 .open = ath5k_debugfs_open, 484 .open = ath5k_debugfs_open,
482 .owner = THIS_MODULE, 485 .owner = THIS_MODULE,
486 .llseek = default_llseek,
483}; 487};
484 488
485 489
@@ -591,6 +595,7 @@ static const struct file_operations fops_frameerrors = {
591 .write = write_file_frameerrors, 595 .write = write_file_frameerrors,
592 .open = ath5k_debugfs_open, 596 .open = ath5k_debugfs_open,
593 .owner = THIS_MODULE, 597 .owner = THIS_MODULE,
598 .llseek = default_llseek,
594}; 599};
595 600
596 601
@@ -748,6 +753,7 @@ static const struct file_operations fops_ani = {
748 .write = write_file_ani, 753 .write = write_file_ani,
749 .open = ath5k_debugfs_open, 754 .open = ath5k_debugfs_open,
750 .owner = THIS_MODULE, 755 .owner = THIS_MODULE,
756 .llseek = default_llseek,
751}; 757};
752 758
753 759
@@ -811,6 +817,7 @@ static const struct file_operations fops_queue = {
811 .write = write_file_queue, 817 .write = write_file_queue,
812 .open = ath5k_debugfs_open, 818 .open = ath5k_debugfs_open,
813 .owner = THIS_MODULE, 819 .owner = THIS_MODULE,
820 .llseek = default_llseek,
814}; 821};
815 822
816 823
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
index 54aae931424..cf500bf25ad 100644
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -71,7 +71,8 @@ static const struct file_operations fops_debug = {
71 .read = read_file_debug, 71 .read = read_file_debug,
72 .write = write_file_debug, 72 .write = write_file_debug,
73 .open = ath9k_debugfs_open, 73 .open = ath9k_debugfs_open,
74 .owner = THIS_MODULE 74 .owner = THIS_MODULE,
75 .llseek = default_llseek,
75}; 76};
76 77
77#endif 78#endif
@@ -116,7 +117,8 @@ static const struct file_operations fops_tx_chainmask = {
116 .read = read_file_tx_chainmask, 117 .read = read_file_tx_chainmask,
117 .write = write_file_tx_chainmask, 118 .write = write_file_tx_chainmask,
118 .open = ath9k_debugfs_open, 119 .open = ath9k_debugfs_open,
119 .owner = THIS_MODULE 120 .owner = THIS_MODULE,
121 .llseek = default_llseek,
120}; 122};
121 123
122 124
@@ -158,7 +160,8 @@ static const struct file_operations fops_rx_chainmask = {
158 .read = read_file_rx_chainmask, 160 .read = read_file_rx_chainmask,
159 .write = write_file_rx_chainmask, 161 .write = write_file_rx_chainmask,
160 .open = ath9k_debugfs_open, 162 .open = ath9k_debugfs_open,
161 .owner = THIS_MODULE 163 .owner = THIS_MODULE,
164 .llseek = default_llseek,
162}; 165};
163 166
164 167
@@ -259,7 +262,8 @@ static ssize_t read_file_dma(struct file *file, char __user *user_buf,
259static const struct file_operations fops_dma = { 262static const struct file_operations fops_dma = {
260 .read = read_file_dma, 263 .read = read_file_dma,
261 .open = ath9k_debugfs_open, 264 .open = ath9k_debugfs_open,
262 .owner = THIS_MODULE 265 .owner = THIS_MODULE,
266 .llseek = default_llseek,
263}; 267};
264 268
265 269
@@ -375,7 +379,8 @@ static ssize_t read_file_interrupt(struct file *file, char __user *user_buf,
375static const struct file_operations fops_interrupt = { 379static const struct file_operations fops_interrupt = {
376 .read = read_file_interrupt, 380 .read = read_file_interrupt,
377 .open = ath9k_debugfs_open, 381 .open = ath9k_debugfs_open,
378 .owner = THIS_MODULE 382 .owner = THIS_MODULE,
383 .llseek = default_llseek,
379}; 384};
380 385
381void ath_debug_stat_rc(struct ath_softc *sc, int final_rate) 386void ath_debug_stat_rc(struct ath_softc *sc, int final_rate)
@@ -464,7 +469,8 @@ static ssize_t read_file_rcstat(struct file *file, char __user *user_buf,
464static const struct file_operations fops_rcstat = { 469static const struct file_operations fops_rcstat = {
465 .read = read_file_rcstat, 470 .read = read_file_rcstat,
466 .open = ath9k_debugfs_open, 471 .open = ath9k_debugfs_open,
467 .owner = THIS_MODULE 472 .owner = THIS_MODULE,
473 .llseek = default_llseek,
468}; 474};
469 475
470static const char * ath_wiphy_state_str(enum ath_wiphy_state state) 476static const char * ath_wiphy_state_str(enum ath_wiphy_state state)
@@ -623,7 +629,8 @@ static const struct file_operations fops_wiphy = {
623 .read = read_file_wiphy, 629 .read = read_file_wiphy,
624 .write = write_file_wiphy, 630 .write = write_file_wiphy,
625 .open = ath9k_debugfs_open, 631 .open = ath9k_debugfs_open,
626 .owner = THIS_MODULE 632 .owner = THIS_MODULE,
633 .llseek = default_llseek,
627}; 634};
628 635
629#define PR(str, elem) \ 636#define PR(str, elem) \
@@ -702,7 +709,8 @@ void ath_debug_stat_tx(struct ath_softc *sc, struct ath_txq *txq,
702static const struct file_operations fops_xmit = { 709static const struct file_operations fops_xmit = {
703 .read = read_file_xmit, 710 .read = read_file_xmit,
704 .open = ath9k_debugfs_open, 711 .open = ath9k_debugfs_open,
705 .owner = THIS_MODULE 712 .owner = THIS_MODULE,
713 .llseek = default_llseek,
706}; 714};
707 715
708static ssize_t read_file_recv(struct file *file, char __user *user_buf, 716static ssize_t read_file_recv(struct file *file, char __user *user_buf,
@@ -814,7 +822,8 @@ void ath_debug_stat_rx(struct ath_softc *sc, struct ath_rx_status *rs)
814static const struct file_operations fops_recv = { 822static const struct file_operations fops_recv = {
815 .read = read_file_recv, 823 .read = read_file_recv,
816 .open = ath9k_debugfs_open, 824 .open = ath9k_debugfs_open,
817 .owner = THIS_MODULE 825 .owner = THIS_MODULE,
826 .llseek = default_llseek,
818}; 827};
819 828
820static ssize_t read_file_regidx(struct file *file, char __user *user_buf, 829static ssize_t read_file_regidx(struct file *file, char __user *user_buf,
@@ -852,7 +861,8 @@ static const struct file_operations fops_regidx = {
852 .read = read_file_regidx, 861 .read = read_file_regidx,
853 .write = write_file_regidx, 862 .write = write_file_regidx,
854 .open = ath9k_debugfs_open, 863 .open = ath9k_debugfs_open,
855 .owner = THIS_MODULE 864 .owner = THIS_MODULE,
865 .llseek = default_llseek,
856}; 866};
857 867
858static ssize_t read_file_regval(struct file *file, char __user *user_buf, 868static ssize_t read_file_regval(struct file *file, char __user *user_buf,
@@ -894,7 +904,8 @@ static const struct file_operations fops_regval = {
894 .read = read_file_regval, 904 .read = read_file_regval,
895 .write = write_file_regval, 905 .write = write_file_regval,
896 .open = ath9k_debugfs_open, 906 .open = ath9k_debugfs_open,
897 .owner = THIS_MODULE 907 .owner = THIS_MODULE,
908 .llseek = default_llseek,
898}; 909};
899 910
900int ath9k_init_debug(struct ath_hw *ah) 911int ath9k_init_debug(struct ath_hw *ah)
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index 7d09b4b17bb..bc2ca7d898e 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -536,7 +536,8 @@ static ssize_t read_file_tgt_stats(struct file *file, char __user *user_buf,
536static const struct file_operations fops_tgt_stats = { 536static const struct file_operations fops_tgt_stats = {
537 .read = read_file_tgt_stats, 537 .read = read_file_tgt_stats,
538 .open = ath9k_debugfs_open, 538 .open = ath9k_debugfs_open,
539 .owner = THIS_MODULE 539 .owner = THIS_MODULE,
540 .llseek = default_llseek,
540}; 541};
541 542
542static ssize_t read_file_xmit(struct file *file, char __user *user_buf, 543static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
@@ -584,7 +585,8 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
584static const struct file_operations fops_xmit = { 585static const struct file_operations fops_xmit = {
585 .read = read_file_xmit, 586 .read = read_file_xmit,
586 .open = ath9k_debugfs_open, 587 .open = ath9k_debugfs_open,
587 .owner = THIS_MODULE 588 .owner = THIS_MODULE,
589 .llseek = default_llseek,
588}; 590};
589 591
590static ssize_t read_file_recv(struct file *file, char __user *user_buf, 592static ssize_t read_file_recv(struct file *file, char __user *user_buf,
@@ -613,7 +615,8 @@ static ssize_t read_file_recv(struct file *file, char __user *user_buf,
613static const struct file_operations fops_recv = { 615static const struct file_operations fops_recv = {
614 .read = read_file_recv, 616 .read = read_file_recv,
615 .open = ath9k_debugfs_open, 617 .open = ath9k_debugfs_open,
616 .owner = THIS_MODULE 618 .owner = THIS_MODULE,
619 .llseek = default_llseek,
617}; 620};
618 621
619int ath9k_htc_init_debug(struct ath_hw *ah) 622int ath9k_htc_init_debug(struct ath_hw *ah)
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945-rs.c b/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
index 8e84a08ff95..293e1dbc166 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
@@ -873,6 +873,7 @@ static ssize_t iwl3945_sta_dbgfs_stats_table_read(struct file *file,
873static const struct file_operations rs_sta_dbgfs_stats_table_ops = { 873static const struct file_operations rs_sta_dbgfs_stats_table_ops = {
874 .read = iwl3945_sta_dbgfs_stats_table_read, 874 .read = iwl3945_sta_dbgfs_stats_table_read,
875 .open = iwl3945_open_file_generic, 875 .open = iwl3945_open_file_generic,
876 .llseek = default_llseek,
876}; 877};
877 878
878static void iwl3945_add_debugfs(void *priv, void *priv_sta, 879static void iwl3945_add_debugfs(void *priv, void *priv_sta,
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 23e5c42e7d7..a4378ba31ef 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -2873,6 +2873,7 @@ static const struct file_operations rs_sta_dbgfs_scale_table_ops = {
2873 .write = rs_sta_dbgfs_scale_table_write, 2873 .write = rs_sta_dbgfs_scale_table_write,
2874 .read = rs_sta_dbgfs_scale_table_read, 2874 .read = rs_sta_dbgfs_scale_table_read,
2875 .open = open_file_generic, 2875 .open = open_file_generic,
2876 .llseek = default_llseek,
2876}; 2877};
2877static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file, 2878static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file,
2878 char __user *user_buf, size_t count, loff_t *ppos) 2879 char __user *user_buf, size_t count, loff_t *ppos)
@@ -2915,6 +2916,7 @@ static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file,
2915static const struct file_operations rs_sta_dbgfs_stats_table_ops = { 2916static const struct file_operations rs_sta_dbgfs_stats_table_ops = {
2916 .read = rs_sta_dbgfs_stats_table_read, 2917 .read = rs_sta_dbgfs_stats_table_read,
2917 .open = open_file_generic, 2918 .open = open_file_generic,
2919 .llseek = default_llseek,
2918}; 2920};
2919 2921
2920static ssize_t rs_sta_dbgfs_rate_scale_data_read(struct file *file, 2922static ssize_t rs_sta_dbgfs_rate_scale_data_read(struct file *file,
@@ -2946,6 +2948,7 @@ static ssize_t rs_sta_dbgfs_rate_scale_data_read(struct file *file,
2946static const struct file_operations rs_sta_dbgfs_rate_scale_data_ops = { 2948static const struct file_operations rs_sta_dbgfs_rate_scale_data_ops = {
2947 .read = rs_sta_dbgfs_rate_scale_data_read, 2949 .read = rs_sta_dbgfs_rate_scale_data_read,
2948 .open = open_file_generic, 2950 .open = open_file_generic,
2951 .llseek = default_llseek,
2949}; 2952};
2950 2953
2951static void rs_add_debugfs(void *priv, void *priv_sta, 2954static void rs_add_debugfs(void *priv, void *priv_sta,
diff --git a/drivers/net/wireless/iwmc3200wifi/debugfs.c b/drivers/net/wireless/iwmc3200wifi/debugfs.c
index 53b0b7711f0..0a0cc9667cd 100644
--- a/drivers/net/wireless/iwmc3200wifi/debugfs.c
+++ b/drivers/net/wireless/iwmc3200wifi/debugfs.c
@@ -402,24 +402,28 @@ static const struct file_operations iwm_debugfs_txq_fops = {
402 .owner = THIS_MODULE, 402 .owner = THIS_MODULE,
403 .open = iwm_generic_open, 403 .open = iwm_generic_open,
404 .read = iwm_debugfs_txq_read, 404 .read = iwm_debugfs_txq_read,
405 .llseek = default_llseek,
405}; 406};
406 407
407static const struct file_operations iwm_debugfs_tx_credit_fops = { 408static const struct file_operations iwm_debugfs_tx_credit_fops = {
408 .owner = THIS_MODULE, 409 .owner = THIS_MODULE,
409 .open = iwm_generic_open, 410 .open = iwm_generic_open,
410 .read = iwm_debugfs_tx_credit_read, 411 .read = iwm_debugfs_tx_credit_read,
412 .llseek = default_llseek,
411}; 413};
412 414
413static const struct file_operations iwm_debugfs_rx_ticket_fops = { 415static const struct file_operations iwm_debugfs_rx_ticket_fops = {
414 .owner = THIS_MODULE, 416 .owner = THIS_MODULE,
415 .open = iwm_generic_open, 417 .open = iwm_generic_open,
416 .read = iwm_debugfs_rx_ticket_read, 418 .read = iwm_debugfs_rx_ticket_read,
419 .llseek = default_llseek,
417}; 420};
418 421
419static const struct file_operations iwm_debugfs_fw_err_fops = { 422static const struct file_operations iwm_debugfs_fw_err_fops = {
420 .owner = THIS_MODULE, 423 .owner = THIS_MODULE,
421 .open = iwm_generic_open, 424 .open = iwm_generic_open,
422 .read = iwm_debugfs_fw_err_read, 425 .read = iwm_debugfs_fw_err_read,
426 .llseek = default_llseek,
423}; 427};
424 428
425void iwm_debugfs_init(struct iwm_priv *iwm) 429void iwm_debugfs_init(struct iwm_priv *iwm)
diff --git a/drivers/net/wireless/iwmc3200wifi/sdio.c b/drivers/net/wireless/iwmc3200wifi/sdio.c
index edcb52330cf..56383e7be83 100644
--- a/drivers/net/wireless/iwmc3200wifi/sdio.c
+++ b/drivers/net/wireless/iwmc3200wifi/sdio.c
@@ -364,6 +364,7 @@ static const struct file_operations iwm_debugfs_sdio_fops = {
364 .owner = THIS_MODULE, 364 .owner = THIS_MODULE,
365 .open = iwm_debugfs_sdio_open, 365 .open = iwm_debugfs_sdio_open,
366 .read = iwm_debugfs_sdio_read, 366 .read = iwm_debugfs_sdio_read,
367 .llseek = default_llseek,
367}; 368};
368 369
369static void if_sdio_debugfs_init(struct iwm_priv *iwm, struct dentry *parent_dir) 370static void if_sdio_debugfs_init(struct iwm_priv *iwm, struct dentry *parent_dir)
diff --git a/drivers/net/wireless/libertas/debugfs.c b/drivers/net/wireless/libertas/debugfs.c
index 74e94cc10e0..fbf3b0332bb 100644
--- a/drivers/net/wireless/libertas/debugfs.c
+++ b/drivers/net/wireless/libertas/debugfs.c
@@ -962,6 +962,7 @@ static const struct file_operations lbs_debug_fops = {
962 .open = open_file_generic, 962 .open = open_file_generic,
963 .write = lbs_debugfs_write, 963 .write = lbs_debugfs_write,
964 .read = lbs_debugfs_read, 964 .read = lbs_debugfs_read,
965 .llseek = default_llseek,
965}; 966};
966 967
967/** 968/**
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index 88560d0ae50..dab30a8c747 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -2802,6 +2802,7 @@ static ssize_t ray_cs_essid_proc_write(struct file *file,
2802static const struct file_operations ray_cs_essid_proc_fops = { 2802static const struct file_operations ray_cs_essid_proc_fops = {
2803 .owner = THIS_MODULE, 2803 .owner = THIS_MODULE,
2804 .write = ray_cs_essid_proc_write, 2804 .write = ray_cs_essid_proc_write,
2805 .llseek = noop_llseek,
2805}; 2806};
2806 2807
2807static ssize_t int_proc_write(struct file *file, const char __user *buffer, 2808static ssize_t int_proc_write(struct file *file, const char __user *buffer,
@@ -2835,6 +2836,7 @@ static ssize_t int_proc_write(struct file *file, const char __user *buffer,
2835static const struct file_operations int_proc_fops = { 2836static const struct file_operations int_proc_fops = {
2836 .owner = THIS_MODULE, 2837 .owner = THIS_MODULE,
2837 .write = int_proc_write, 2838 .write = int_proc_write,
2839 .llseek = noop_llseek,
2838}; 2840};
2839#endif 2841#endif
2840 2842
diff --git a/drivers/net/wireless/rt2x00/rt2x00debug.c b/drivers/net/wireless/rt2x00/rt2x00debug.c
index 7d6f19a2805..cea81e4c5c8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00debug.c
+++ b/drivers/net/wireless/rt2x00/rt2x00debug.c
@@ -315,6 +315,7 @@ static const struct file_operations rt2x00debug_fop_queue_dump = {
315 .poll = rt2x00debug_poll_queue_dump, 315 .poll = rt2x00debug_poll_queue_dump,
316 .open = rt2x00debug_open_queue_dump, 316 .open = rt2x00debug_open_queue_dump,
317 .release = rt2x00debug_release_queue_dump, 317 .release = rt2x00debug_release_queue_dump,
318 .llseek = default_llseek,
318}; 319};
319 320
320static ssize_t rt2x00debug_read_queue_stats(struct file *file, 321static ssize_t rt2x00debug_read_queue_stats(struct file *file,
@@ -371,6 +372,7 @@ static const struct file_operations rt2x00debug_fop_queue_stats = {
371 .read = rt2x00debug_read_queue_stats, 372 .read = rt2x00debug_read_queue_stats,
372 .open = rt2x00debug_file_open, 373 .open = rt2x00debug_file_open,
373 .release = rt2x00debug_file_release, 374 .release = rt2x00debug_file_release,
375 .llseek = default_llseek,
374}; 376};
375 377
376#ifdef CONFIG_RT2X00_LIB_CRYPTO 378#ifdef CONFIG_RT2X00_LIB_CRYPTO
@@ -423,6 +425,7 @@ static const struct file_operations rt2x00debug_fop_crypto_stats = {
423 .read = rt2x00debug_read_crypto_stats, 425 .read = rt2x00debug_read_crypto_stats,
424 .open = rt2x00debug_file_open, 426 .open = rt2x00debug_file_open,
425 .release = rt2x00debug_file_release, 427 .release = rt2x00debug_file_release,
428 .llseek = default_llseek,
426}; 429};
427#endif 430#endif
428 431
@@ -543,6 +546,7 @@ static const struct file_operations rt2x00debug_fop_dev_flags = {
543 .read = rt2x00debug_read_dev_flags, 546 .read = rt2x00debug_read_dev_flags,
544 .open = rt2x00debug_file_open, 547 .open = rt2x00debug_file_open,
545 .release = rt2x00debug_file_release, 548 .release = rt2x00debug_file_release,
549 .llseek = default_llseek,
546}; 550};
547 551
548static struct dentry *rt2x00debug_create_file_driver(const char *name, 552static struct dentry *rt2x00debug_create_file_driver(const char *name,
diff --git a/drivers/net/wireless/wl12xx/wl1251_debugfs.c b/drivers/net/wireless/wl12xx/wl1251_debugfs.c
index a4ae7c4d94b..fa620a5e530 100644
--- a/drivers/net/wireless/wl12xx/wl1251_debugfs.c
+++ b/drivers/net/wireless/wl12xx/wl1251_debugfs.c
@@ -238,6 +238,7 @@ static ssize_t tx_queue_len_read(struct file *file, char __user *userbuf,
238static const struct file_operations tx_queue_len_ops = { 238static const struct file_operations tx_queue_len_ops = {
239 .read = tx_queue_len_read, 239 .read = tx_queue_len_read,
240 .open = wl1251_open_file_generic, 240 .open = wl1251_open_file_generic,
241 .llseek = generic_file_llseek,
241}; 242};
242 243
243static ssize_t tx_queue_status_read(struct file *file, char __user *userbuf, 244static ssize_t tx_queue_status_read(struct file *file, char __user *userbuf,
@@ -259,6 +260,7 @@ static ssize_t tx_queue_status_read(struct file *file, char __user *userbuf,
259static const struct file_operations tx_queue_status_ops = { 260static const struct file_operations tx_queue_status_ops = {
260 .read = tx_queue_status_read, 261 .read = tx_queue_status_read,
261 .open = wl1251_open_file_generic, 262 .open = wl1251_open_file_generic,
263 .llseek = generic_file_llseek,
262}; 264};
263 265
264static void wl1251_debugfs_delete_files(struct wl1251 *wl) 266static void wl1251_debugfs_delete_files(struct wl1251 *wl)
diff --git a/drivers/net/wireless/wl12xx/wl1271_debugfs.c b/drivers/net/wireless/wl12xx/wl1271_debugfs.c
index 6e25303a8e7..66c2b90ddfd 100644
--- a/drivers/net/wireless/wl12xx/wl1271_debugfs.c
+++ b/drivers/net/wireless/wl12xx/wl1271_debugfs.c
@@ -239,6 +239,7 @@ static ssize_t tx_queue_len_read(struct file *file, char __user *userbuf,
239static const struct file_operations tx_queue_len_ops = { 239static const struct file_operations tx_queue_len_ops = {
240 .read = tx_queue_len_read, 240 .read = tx_queue_len_read,
241 .open = wl1271_open_file_generic, 241 .open = wl1271_open_file_generic,
242 .llseek = default_llseek,
242}; 243};
243 244
244static ssize_t gpio_power_read(struct file *file, char __user *user_buf, 245static ssize_t gpio_power_read(struct file *file, char __user *user_buf,
@@ -293,7 +294,8 @@ out:
293static const struct file_operations gpio_power_ops = { 294static const struct file_operations gpio_power_ops = {
294 .read = gpio_power_read, 295 .read = gpio_power_read,
295 .write = gpio_power_write, 296 .write = gpio_power_write,
296 .open = wl1271_open_file_generic 297 .open = wl1271_open_file_generic,
298 .llseek = default_llseek,
297}; 299};
298 300
299static void wl1271_debugfs_delete_files(struct wl1271 *wl) 301static void wl1271_debugfs_delete_files(struct wl1271 *wl)
diff --git a/drivers/oprofile/oprofile_files.c b/drivers/oprofile/oprofile_files.c
index bbd7516e086..9bb4d4bdc23 100644
--- a/drivers/oprofile/oprofile_files.c
+++ b/drivers/oprofile/oprofile_files.c
@@ -59,6 +59,7 @@ static ssize_t timeout_write(struct file *file, char const __user *buf,
59static const struct file_operations timeout_fops = { 59static const struct file_operations timeout_fops = {
60 .read = timeout_read, 60 .read = timeout_read,
61 .write = timeout_write, 61 .write = timeout_write,
62 .llseek = default_llseek,
62}; 63};
63 64
64#endif 65#endif
@@ -93,7 +94,8 @@ static ssize_t depth_write(struct file *file, char const __user *buf, size_t cou
93 94
94static const struct file_operations depth_fops = { 95static const struct file_operations depth_fops = {
95 .read = depth_read, 96 .read = depth_read,
96 .write = depth_write 97 .write = depth_write,
98 .llseek = default_llseek,
97}; 99};
98 100
99 101
@@ -105,6 +107,7 @@ static ssize_t pointer_size_read(struct file *file, char __user *buf, size_t cou
105 107
106static const struct file_operations pointer_size_fops = { 108static const struct file_operations pointer_size_fops = {
107 .read = pointer_size_read, 109 .read = pointer_size_read,
110 .llseek = default_llseek,
108}; 111};
109 112
110 113
@@ -116,6 +119,7 @@ static ssize_t cpu_type_read(struct file *file, char __user *buf, size_t count,
116 119
117static const struct file_operations cpu_type_fops = { 120static const struct file_operations cpu_type_fops = {
118 .read = cpu_type_read, 121 .read = cpu_type_read,
122 .llseek = default_llseek,
119}; 123};
120 124
121 125
@@ -151,6 +155,7 @@ static ssize_t enable_write(struct file *file, char const __user *buf, size_t co
151static const struct file_operations enable_fops = { 155static const struct file_operations enable_fops = {
152 .read = enable_read, 156 .read = enable_read,
153 .write = enable_write, 157 .write = enable_write,
158 .llseek = default_llseek,
154}; 159};
155 160
156 161
@@ -163,6 +168,7 @@ static ssize_t dump_write(struct file *file, char const __user *buf, size_t coun
163 168
164static const struct file_operations dump_fops = { 169static const struct file_operations dump_fops = {
165 .write = dump_write, 170 .write = dump_write,
171 .llseek = noop_llseek,
166}; 172};
167 173
168void oprofile_create_files(struct super_block *sb, struct dentry *root) 174void oprofile_create_files(struct super_block *sb, struct dentry *root)
diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c
index 2766a6d3c2e..6b6a1f71957 100644
--- a/drivers/oprofile/oprofilefs.c
+++ b/drivers/oprofile/oprofilefs.c
@@ -117,12 +117,14 @@ static const struct file_operations ulong_fops = {
117 .read = ulong_read_file, 117 .read = ulong_read_file,
118 .write = ulong_write_file, 118 .write = ulong_write_file,
119 .open = default_open, 119 .open = default_open,
120 .llseek = default_llseek,
120}; 121};
121 122
122 123
123static const struct file_operations ulong_ro_fops = { 124static const struct file_operations ulong_ro_fops = {
124 .read = ulong_read_file, 125 .read = ulong_read_file,
125 .open = default_open, 126 .open = default_open,
127 .llseek = default_llseek,
126}; 128};
127 129
128 130
@@ -183,6 +185,7 @@ static ssize_t atomic_read_file(struct file *file, char __user *buf, size_t coun
183static const struct file_operations atomic_ro_fops = { 185static const struct file_operations atomic_ro_fops = {
184 .read = atomic_read_file, 186 .read = atomic_read_file,
185 .open = default_open, 187 .open = default_open,
188 .llseek = default_llseek,
186}; 189};
187 190
188 191
diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c
index 909924692b8..b3cf6223f63 100644
--- a/drivers/pci/pcie/aer/aer_inject.c
+++ b/drivers/pci/pcie/aer/aer_inject.c
@@ -472,6 +472,7 @@ static ssize_t aer_inject_write(struct file *filp, const char __user *ubuf,
472static const struct file_operations aer_inject_fops = { 472static const struct file_operations aer_inject_fops = {
473 .write = aer_inject_write, 473 .write = aer_inject_write,
474 .owner = THIS_MODULE, 474 .owner = THIS_MODULE,
475 .llseek = noop_llseek,
475}; 476};
476 477
477static struct miscdevice aer_inject_device = { 478static struct miscdevice aer_inject_device = {
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index e3154ff7a39..f200677851b 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -2360,6 +2360,7 @@ static const struct file_operations sonypi_misc_fops = {
2360 .release = sonypi_misc_release, 2360 .release = sonypi_misc_release,
2361 .fasync = sonypi_misc_fasync, 2361 .fasync = sonypi_misc_fasync,
2362 .unlocked_ioctl = sonypi_misc_ioctl, 2362 .unlocked_ioctl = sonypi_misc_ioctl,
2363 .llseek = noop_llseek,
2363}; 2364};
2364 2365
2365static struct miscdevice sonypi_misc_device = { 2366static struct miscdevice sonypi_misc_device = {
diff --git a/drivers/rtc/rtc-m41t80.c b/drivers/rtc/rtc-m41t80.c
index d60557cae8e..ef151ce0443 100644
--- a/drivers/rtc/rtc-m41t80.c
+++ b/drivers/rtc/rtc-m41t80.c
@@ -748,6 +748,7 @@ static const struct file_operations wdt_fops = {
748 .write = wdt_write, 748 .write = wdt_write,
749 .open = wdt_open, 749 .open = wdt_open,
750 .release = wdt_release, 750 .release = wdt_release,
751 .llseek = no_llseek,
751}; 752};
752 753
753static struct miscdevice wdt_dev = { 754static struct miscdevice wdt_dev = {
diff --git a/drivers/s390/block/dasd_eer.c b/drivers/s390/block/dasd_eer.c
index 7158f9528ec..c71d89dba30 100644
--- a/drivers/s390/block/dasd_eer.c
+++ b/drivers/s390/block/dasd_eer.c
@@ -670,6 +670,7 @@ static const struct file_operations dasd_eer_fops = {
670 .read = &dasd_eer_read, 670 .read = &dasd_eer_read,
671 .poll = &dasd_eer_poll, 671 .poll = &dasd_eer_poll,
672 .owner = THIS_MODULE, 672 .owner = THIS_MODULE,
673 .llseek = noop_llseek,
673}; 674};
674 675
675static struct miscdevice *dasd_eer_dev = NULL; 676static struct miscdevice *dasd_eer_dev = NULL;
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c
index 857dfcb7b35..eb28fb01a38 100644
--- a/drivers/s390/char/fs3270.c
+++ b/drivers/s390/char/fs3270.c
@@ -520,6 +520,7 @@ static const struct file_operations fs3270_fops = {
520 .compat_ioctl = fs3270_ioctl, /* ioctl */ 520 .compat_ioctl = fs3270_ioctl, /* ioctl */
521 .open = fs3270_open, /* open */ 521 .open = fs3270_open, /* open */
522 .release = fs3270_close, /* release */ 522 .release = fs3270_close, /* release */
523 .llseek = no_llseek,
523}; 524};
524 525
525/* 526/*
diff --git a/drivers/s390/char/monreader.c b/drivers/s390/char/monreader.c
index e021ec663ef..5b8b8592d31 100644
--- a/drivers/s390/char/monreader.c
+++ b/drivers/s390/char/monreader.c
@@ -447,6 +447,7 @@ static const struct file_operations mon_fops = {
447 .release = &mon_close, 447 .release = &mon_close,
448 .read = &mon_read, 448 .read = &mon_read,
449 .poll = &mon_poll, 449 .poll = &mon_poll,
450 .llseek = noop_llseek,
450}; 451};
451 452
452static struct miscdevice mon_dev = { 453static struct miscdevice mon_dev = {
diff --git a/drivers/s390/char/monwriter.c b/drivers/s390/char/monwriter.c
index 572a1e7fd09..e0702d3ea33 100644
--- a/drivers/s390/char/monwriter.c
+++ b/drivers/s390/char/monwriter.c
@@ -274,6 +274,7 @@ static const struct file_operations monwrite_fops = {
274 .open = &monwrite_open, 274 .open = &monwrite_open,
275 .release = &monwrite_close, 275 .release = &monwrite_close,
276 .write = &monwrite_write, 276 .write = &monwrite_write,
277 .llseek = noop_llseek,
277}; 278};
278 279
279static struct miscdevice mon_dev = { 280static struct miscdevice mon_dev = {
diff --git a/drivers/s390/char/tape_char.c b/drivers/s390/char/tape_char.c
index 539045acaad..883e2db02bd 100644
--- a/drivers/s390/char/tape_char.c
+++ b/drivers/s390/char/tape_char.c
@@ -53,6 +53,7 @@ static const struct file_operations tape_fops =
53#endif 53#endif
54 .open = tapechar_open, 54 .open = tapechar_open,
55 .release = tapechar_release, 55 .release = tapechar_release,
56 .llseek = no_llseek,
56}; 57};
57 58
58static int tapechar_major = TAPECHAR_MAJOR; 59static int tapechar_major = TAPECHAR_MAJOR;
diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c
index 04e532eec03..0e7cb1a8415 100644
--- a/drivers/s390/char/vmcp.c
+++ b/drivers/s390/char/vmcp.c
@@ -177,6 +177,7 @@ static const struct file_operations vmcp_fops = {
177 .write = vmcp_write, 177 .write = vmcp_write,
178 .unlocked_ioctl = vmcp_ioctl, 178 .unlocked_ioctl = vmcp_ioctl,
179 .compat_ioctl = vmcp_ioctl, 179 .compat_ioctl = vmcp_ioctl,
180 .llseek = no_llseek,
180}; 181};
181 182
182static struct miscdevice vmcp_dev = { 183static struct miscdevice vmcp_dev = {
diff --git a/drivers/s390/char/vmlogrdr.c b/drivers/s390/char/vmlogrdr.c
index e40a1b89286..0d6dc4b92cc 100644
--- a/drivers/s390/char/vmlogrdr.c
+++ b/drivers/s390/char/vmlogrdr.c
@@ -97,6 +97,7 @@ static const struct file_operations vmlogrdr_fops = {
97 .open = vmlogrdr_open, 97 .open = vmlogrdr_open,
98 .release = vmlogrdr_release, 98 .release = vmlogrdr_release,
99 .read = vmlogrdr_read, 99 .read = vmlogrdr_read,
100 .llseek = no_llseek,
100}; 101};
101 102
102 103
diff --git a/drivers/s390/char/vmwatchdog.c b/drivers/s390/char/vmwatchdog.c
index e13508c98b1..12ef9121d4f 100644
--- a/drivers/s390/char/vmwatchdog.c
+++ b/drivers/s390/char/vmwatchdog.c
@@ -297,6 +297,7 @@ static const struct file_operations vmwdt_fops = {
297 .unlocked_ioctl = &vmwdt_ioctl, 297 .unlocked_ioctl = &vmwdt_ioctl,
298 .write = &vmwdt_write, 298 .write = &vmwdt_write,
299 .owner = THIS_MODULE, 299 .owner = THIS_MODULE,
300 .llseek = noop_llseek,
300}; 301};
301 302
302static struct miscdevice vmwdt_dev = { 303static struct miscdevice vmwdt_dev = {
diff --git a/drivers/s390/char/zcore.c b/drivers/s390/char/zcore.c
index f5ea3384a4b..3b94044027c 100644
--- a/drivers/s390/char/zcore.c
+++ b/drivers/s390/char/zcore.c
@@ -459,6 +459,7 @@ static const struct file_operations zcore_memmap_fops = {
459 .read = zcore_memmap_read, 459 .read = zcore_memmap_read,
460 .open = zcore_memmap_open, 460 .open = zcore_memmap_open,
461 .release = zcore_memmap_release, 461 .release = zcore_memmap_release,
462 .llseek = no_llseek,
462}; 463};
463 464
464static ssize_t zcore_reipl_write(struct file *filp, const char __user *buf, 465static ssize_t zcore_reipl_write(struct file *filp, const char __user *buf,
@@ -486,6 +487,7 @@ static const struct file_operations zcore_reipl_fops = {
486 .write = zcore_reipl_write, 487 .write = zcore_reipl_write,
487 .open = zcore_reipl_open, 488 .open = zcore_reipl_open,
488 .release = zcore_reipl_release, 489 .release = zcore_reipl_release,
490 .llseek = no_llseek,
489}; 491};
490 492
491#ifdef CONFIG_32BIT 493#ifdef CONFIG_32BIT
diff --git a/drivers/s390/cio/chsc_sch.c b/drivers/s390/cio/chsc_sch.c
index a83877c664a..f2b77e7bfc6 100644
--- a/drivers/s390/cio/chsc_sch.c
+++ b/drivers/s390/cio/chsc_sch.c
@@ -806,6 +806,7 @@ static const struct file_operations chsc_fops = {
806 .open = nonseekable_open, 806 .open = nonseekable_open,
807 .unlocked_ioctl = chsc_ioctl, 807 .unlocked_ioctl = chsc_ioctl,
808 .compat_ioctl = chsc_ioctl, 808 .compat_ioctl = chsc_ioctl,
809 .llseek = no_llseek,
809}; 810};
810 811
811static struct miscdevice chsc_misc_device = { 812static struct miscdevice chsc_misc_device = {
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index ac94ac75145..ca8e1c240c3 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -1067,6 +1067,7 @@ static ssize_t cio_settle_write(struct file *file, const char __user *buf,
1067static const struct file_operations cio_settle_proc_fops = { 1067static const struct file_operations cio_settle_proc_fops = {
1068 .open = nonseekable_open, 1068 .open = nonseekable_open,
1069 .write = cio_settle_write, 1069 .write = cio_settle_write,
1070 .llseek = no_llseek,
1070}; 1071};
1071 1072
1072static int __init cio_settle_init(void) 1073static int __init cio_settle_init(void)
diff --git a/drivers/s390/crypto/zcrypt_api.c b/drivers/s390/crypto/zcrypt_api.c
index 41e0aaefafd..f5221749d18 100644
--- a/drivers/s390/crypto/zcrypt_api.c
+++ b/drivers/s390/crypto/zcrypt_api.c
@@ -897,7 +897,8 @@ static const struct file_operations zcrypt_fops = {
897 .compat_ioctl = zcrypt_compat_ioctl, 897 .compat_ioctl = zcrypt_compat_ioctl,
898#endif 898#endif
899 .open = zcrypt_open, 899 .open = zcrypt_open,
900 .release = zcrypt_release 900 .release = zcrypt_release,
901 .llseek = no_llseek,
901}; 902};
902 903
903/* 904/*
diff --git a/drivers/s390/scsi/zfcp_cfdc.c b/drivers/s390/scsi/zfcp_cfdc.c
index fcbd2b756da..1838cda68ba 100644
--- a/drivers/s390/scsi/zfcp_cfdc.c
+++ b/drivers/s390/scsi/zfcp_cfdc.c
@@ -251,8 +251,9 @@ static const struct file_operations zfcp_cfdc_fops = {
251 .open = nonseekable_open, 251 .open = nonseekable_open,
252 .unlocked_ioctl = zfcp_cfdc_dev_ioctl, 252 .unlocked_ioctl = zfcp_cfdc_dev_ioctl,
253#ifdef CONFIG_COMPAT 253#ifdef CONFIG_COMPAT
254 .compat_ioctl = zfcp_cfdc_dev_ioctl 254 .compat_ioctl = zfcp_cfdc_dev_ioctl,
255#endif 255#endif
256 .llseek = no_llseek,
256}; 257};
257 258
258struct miscdevice zfcp_cfdc_misc = { 259struct miscdevice zfcp_cfdc_misc = {
diff --git a/drivers/sbus/char/display7seg.c b/drivers/sbus/char/display7seg.c
index 1690e53fb84..55f71ea9c41 100644
--- a/drivers/sbus/char/display7seg.c
+++ b/drivers/sbus/char/display7seg.c
@@ -162,6 +162,7 @@ static const struct file_operations d7s_fops = {
162 .compat_ioctl = d7s_ioctl, 162 .compat_ioctl = d7s_ioctl,
163 .open = d7s_open, 163 .open = d7s_open,
164 .release = d7s_release, 164 .release = d7s_release,
165 .llseek = noop_llseek,
165}; 166};
166 167
167static struct miscdevice d7s_miscdev = { 168static struct miscdevice d7s_miscdev = {
diff --git a/drivers/sbus/char/envctrl.c b/drivers/sbus/char/envctrl.c
index 078e5f4520e..8ce414e3948 100644
--- a/drivers/sbus/char/envctrl.c
+++ b/drivers/sbus/char/envctrl.c
@@ -720,6 +720,7 @@ static const struct file_operations envctrl_fops = {
720#endif 720#endif
721 .open = envctrl_open, 721 .open = envctrl_open,
722 .release = envctrl_release, 722 .release = envctrl_release,
723 .llseek = noop_llseek,
723}; 724};
724 725
725static struct miscdevice envctrl_dev = { 726static struct miscdevice envctrl_dev = {
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index e20b7bdd4c7..67aad69cfbc 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -222,7 +222,8 @@ static const struct file_operations twa_fops = {
222 .owner = THIS_MODULE, 222 .owner = THIS_MODULE,
223 .unlocked_ioctl = twa_chrdev_ioctl, 223 .unlocked_ioctl = twa_chrdev_ioctl,
224 .open = twa_chrdev_open, 224 .open = twa_chrdev_open,
225 .release = NULL 225 .release = NULL,
226 .llseek = noop_llseek,
226}; 227};
227 228
228/* This function will complete an aen request from the isr */ 229/* This function will complete an aen request from the isr */
diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c
index f481e734aad..7afac93d889 100644
--- a/drivers/scsi/3w-sas.c
+++ b/drivers/scsi/3w-sas.c
@@ -890,7 +890,8 @@ static const struct file_operations twl_fops = {
890 .owner = THIS_MODULE, 890 .owner = THIS_MODULE,
891 .unlocked_ioctl = twl_chrdev_ioctl, 891 .unlocked_ioctl = twl_chrdev_ioctl,
892 .open = twl_chrdev_open, 892 .open = twl_chrdev_open,
893 .release = NULL 893 .release = NULL,
894 .llseek = noop_llseek,
894}; 895};
895 896
896/* This function passes sense data from firmware to scsi layer */ 897/* This function passes sense data from firmware to scsi layer */
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
index 30d735ad35b..5a233730603 100644
--- a/drivers/scsi/3w-xxxx.c
+++ b/drivers/scsi/3w-xxxx.c
@@ -1059,7 +1059,8 @@ static const struct file_operations tw_fops = {
1059 .owner = THIS_MODULE, 1059 .owner = THIS_MODULE,
1060 .unlocked_ioctl = tw_chrdev_ioctl, 1060 .unlocked_ioctl = tw_chrdev_ioctl,
1061 .open = tw_chrdev_open, 1061 .open = tw_chrdev_open,
1062 .release = NULL 1062 .release = NULL,
1063 .llseek = noop_llseek,
1063}; 1064};
1064 1065
1065/* This function will free up device extension resources */ 1066/* This function will free up device extension resources */
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index cad6f9abaeb..13af86eec96 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -1039,6 +1039,7 @@ static const struct file_operations aac_cfg_fops = {
1039 .compat_ioctl = aac_compat_cfg_ioctl, 1039 .compat_ioctl = aac_compat_cfg_ioctl,
1040#endif 1040#endif
1041 .open = aac_cfg_open, 1041 .open = aac_cfg_open,
1042 .llseek = noop_llseek,
1042}; 1043};
1043 1044
1044static struct scsi_host_template aac_driver_template = { 1045static struct scsi_host_template aac_driver_template = {
diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c
index d6532187f61..e40c9f7a002 100644
--- a/drivers/scsi/ch.c
+++ b/drivers/scsi/ch.c
@@ -981,6 +981,7 @@ static const struct file_operations changer_fops = {
981#ifdef CONFIG_COMPAT 981#ifdef CONFIG_COMPAT
982 .compat_ioctl = ch_ioctl_compat, 982 .compat_ioctl = ch_ioctl_compat,
983#endif 983#endif
984 .llseek = noop_llseek,
984}; 985};
985 986
986static int __init init_ch_module(void) 987static int __init init_ch_module(void)
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index ffc1edf5e80..7a61206ed1c 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -126,6 +126,7 @@ static const struct file_operations adpt_fops = {
126#ifdef CONFIG_COMPAT 126#ifdef CONFIG_COMPAT
127 .compat_ioctl = compat_adpt_ioctl, 127 .compat_ioctl = compat_adpt_ioctl,
128#endif 128#endif
129 .llseek = noop_llseek,
129}; 130};
130 131
131/* Structures and definitions for synchronous message posting. 132/* Structures and definitions for synchronous message posting.
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index b860d650a56..9886586df01 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -372,6 +372,7 @@ static const struct file_operations gdth_fops = {
372 .unlocked_ioctl = gdth_unlocked_ioctl, 372 .unlocked_ioctl = gdth_unlocked_ioctl,
373 .open = gdth_open, 373 .open = gdth_open,
374 .release = gdth_close, 374 .release = gdth_close,
375 .llseek = noop_llseek,
375}; 376};
376 377
377#include "gdth_proc.h" 378#include "gdth_proc.h"
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 0b6e3228610..aac80f7bb99 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -101,6 +101,7 @@ static const struct file_operations megadev_fops = {
101 .owner = THIS_MODULE, 101 .owner = THIS_MODULE,
102 .unlocked_ioctl = megadev_unlocked_ioctl, 102 .unlocked_ioctl = megadev_unlocked_ioctl,
103 .open = megadev_open, 103 .open = megadev_open,
104 .llseek = noop_llseek,
104}; 105};
105 106
106/* 107/*
diff --git a/drivers/scsi/megaraid/megaraid_mm.c b/drivers/scsi/megaraid/megaraid_mm.c
index 41f82f76d88..ab801232d77 100644
--- a/drivers/scsi/megaraid/megaraid_mm.c
+++ b/drivers/scsi/megaraid/megaraid_mm.c
@@ -75,6 +75,7 @@ static const struct file_operations lsi_fops = {
75 .compat_ioctl = mraid_mm_compat_ioctl, 75 .compat_ioctl = mraid_mm_compat_ioctl,
76#endif 76#endif
77 .owner = THIS_MODULE, 77 .owner = THIS_MODULE,
78 .llseek = noop_llseek,
78}; 79};
79 80
80static struct miscdevice megaraid_mm_dev = { 81static struct miscdevice megaraid_mm_dev = {
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index 99e4478c3f3..209cc87b9a3 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -3957,6 +3957,7 @@ static const struct file_operations megasas_mgmt_fops = {
3957#ifdef CONFIG_COMPAT 3957#ifdef CONFIG_COMPAT
3958 .compat_ioctl = megasas_mgmt_compat_ioctl, 3958 .compat_ioctl = megasas_mgmt_compat_ioctl,
3959#endif 3959#endif
3960 .llseek = noop_llseek,
3960}; 3961};
3961 3962
3962/* 3963/*
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.c b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
index b774973f076..9a4e584ae3c 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_ctl.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
@@ -2952,6 +2952,7 @@ static const struct file_operations ctl_fops = {
2952#ifdef CONFIG_COMPAT 2952#ifdef CONFIG_COMPAT
2953 .compat_ioctl = _ctl_ioctl_compat, 2953 .compat_ioctl = _ctl_ioctl_compat,
2954#endif 2954#endif
2955 .llseek = noop_llseek,
2955}; 2956};
2956 2957
2957static struct miscdevice ctl_dev = { 2958static struct miscdevice ctl_dev = {
diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
index ffdd9fdb999..b31a8e3841d 100644
--- a/drivers/scsi/osd/osd_uld.c
+++ b/drivers/scsi/osd/osd_uld.c
@@ -182,6 +182,7 @@ static const struct file_operations osd_fops = {
182 .open = osd_uld_open, 182 .open = osd_uld_open,
183 .release = osd_uld_release, 183 .release = osd_uld_release,
184 .unlocked_ioctl = osd_uld_ioctl, 184 .unlocked_ioctl = osd_uld_ioctl,
185 .llseek = noop_llseek,
185}; 186};
186 187
187struct osd_dev *osduld_path_lookup(const char *name) 188struct osd_dev *osduld_path_lookup(const char *name)
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index ecc45c8b4e6..4b8765785ae 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -4165,6 +4165,7 @@ static const struct file_operations pmcraid_fops = {
4165#ifdef CONFIG_COMPAT 4165#ifdef CONFIG_COMPAT
4166 .compat_ioctl = pmcraid_chr_ioctl, 4166 .compat_ioctl = pmcraid_chr_ioctl,
4167#endif 4167#endif
4168 .llseek = noop_llseek,
4168}; 4169};
4169 4170
4170 4171
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 1e4bff69525..9946fac5425 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -3948,6 +3948,7 @@ static struct pci_driver qla2xxx_pci_driver = {
3948 3948
3949static struct file_operations apidev_fops = { 3949static struct file_operations apidev_fops = {
3950 .owner = THIS_MODULE, 3950 .owner = THIS_MODULE,
3951 .llseek = noop_llseek,
3951}; 3952};
3952 3953
3953/** 3954/**
diff --git a/drivers/scsi/scsi_tgt_if.c b/drivers/scsi/scsi_tgt_if.c
index a87e21c35ef..bbb02f6e917 100644
--- a/drivers/scsi/scsi_tgt_if.c
+++ b/drivers/scsi/scsi_tgt_if.c
@@ -333,6 +333,7 @@ static const struct file_operations tgt_fops = {
333 .poll = tgt_poll, 333 .poll = tgt_poll,
334 .write = tgt_write, 334 .write = tgt_write,
335 .mmap = tgt_mmap, 335 .mmap = tgt_mmap,
336 .llseek = noop_llseek,
336}; 337};
337 338
338static struct miscdevice tgt_miscdev = { 339static struct miscdevice tgt_miscdev = {
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 78d616315d8..00baea1e2db 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1351,6 +1351,7 @@ static const struct file_operations sg_fops = {
1351 .mmap = sg_mmap, 1351 .mmap = sg_mmap,
1352 .release = sg_release, 1352 .release = sg_release,
1353 .fasync = sg_fasync, 1353 .fasync = sg_fasync,
1354 .llseek = no_llseek,
1354}; 1355};
1355 1356
1356static struct class *sg_sysfs_class; 1357static struct class *sg_sysfs_class;
diff --git a/drivers/serial/mfd.c b/drivers/serial/mfd.c
index bc9af503907..6703f3e802a 100644
--- a/drivers/serial/mfd.c
+++ b/drivers/serial/mfd.c
@@ -227,12 +227,14 @@ static const struct file_operations port_regs_ops = {
227 .owner = THIS_MODULE, 227 .owner = THIS_MODULE,
228 .open = hsu_show_regs_open, 228 .open = hsu_show_regs_open,
229 .read = port_show_regs, 229 .read = port_show_regs,
230 .llseek = default_llseek,
230}; 231};
231 232
232static const struct file_operations dma_regs_ops = { 233static const struct file_operations dma_regs_ops = {
233 .owner = THIS_MODULE, 234 .owner = THIS_MODULE,
234 .open = hsu_show_regs_open, 235 .open = hsu_show_regs_open,
235 .read = dma_show_regs, 236 .read = dma_show_regs,
237 .llseek = default_llseek,
236}; 238};
237 239
238static int hsu_debugfs_init(struct hsu_port *hsu) 240static int hsu_debugfs_init(struct hsu_port *hsu)
diff --git a/drivers/spi/dw_spi.c b/drivers/spi/dw_spi.c
index d256cb00604..a32aa66d66b 100644
--- a/drivers/spi/dw_spi.c
+++ b/drivers/spi/dw_spi.c
@@ -131,6 +131,7 @@ static const struct file_operations mrst_spi_regs_ops = {
131 .owner = THIS_MODULE, 131 .owner = THIS_MODULE,
132 .open = spi_show_regs_open, 132 .open = spi_show_regs_open,
133 .read = spi_show_regs, 133 .read = spi_show_regs,
134 .llseek = default_llseek,
134}; 135};
135 136
136static int mrst_spi_debugfs_init(struct dw_spi *dws) 137static int mrst_spi_debugfs_init(struct dw_spi *dws)
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index ea1bec3c9a1..4e6245e6799 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -545,6 +545,7 @@ static const struct file_operations spidev_fops = {
545 .unlocked_ioctl = spidev_ioctl, 545 .unlocked_ioctl = spidev_ioctl,
546 .open = spidev_open, 546 .open = spidev_open,
547 .release = spidev_release, 547 .release = spidev_release,
548 .llseek = no_llseek,
548}; 549};
549 550
550/*-------------------------------------------------------------------------*/ 551/*-------------------------------------------------------------------------*/
diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
index 14091313ceb..fecb89e8c66 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -1922,6 +1922,7 @@ const struct file_operations comedi_fops = {
1922 .mmap = comedi_mmap, 1922 .mmap = comedi_mmap,
1923 .poll = comedi_poll, 1923 .poll = comedi_poll,
1924 .fasync = comedi_fasync, 1924 .fasync = comedi_fasync,
1925 .llseek = noop_llseek,
1925}; 1926};
1926 1927
1927struct class *comedi_class; 1928struct class *comedi_class;
diff --git a/drivers/staging/crystalhd/crystalhd_lnx.c b/drivers/staging/crystalhd/crystalhd_lnx.c
index fbb80f09a3d..af258991fe7 100644
--- a/drivers/staging/crystalhd/crystalhd_lnx.c
+++ b/drivers/staging/crystalhd/crystalhd_lnx.c
@@ -351,6 +351,7 @@ static const struct file_operations chd_dec_fops = {
351 .unlocked_ioctl = chd_dec_ioctl, 351 .unlocked_ioctl = chd_dec_ioctl,
352 .open = chd_dec_open, 352 .open = chd_dec_open,
353 .release = chd_dec_close, 353 .release = chd_dec_close,
354 .llseek = noop_llseek,
354}; 355};
355 356
356static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp) 357static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp)
diff --git a/drivers/staging/dream/camera/msm_camera.c b/drivers/staging/dream/camera/msm_camera.c
index 81bd71fd816..de4ab61efd4 100644
--- a/drivers/staging/dream/camera/msm_camera.c
+++ b/drivers/staging/dream/camera/msm_camera.c
@@ -1941,6 +1941,7 @@ static const struct file_operations msm_fops_config = {
1941 .open = msm_open, 1941 .open = msm_open,
1942 .unlocked_ioctl = msm_ioctl_config, 1942 .unlocked_ioctl = msm_ioctl_config,
1943 .release = msm_release_config, 1943 .release = msm_release_config,
1944 .llseek = no_llseek,
1944}; 1945};
1945 1946
1946static const struct file_operations msm_fops_control = { 1947static const struct file_operations msm_fops_control = {
@@ -1948,6 +1949,7 @@ static const struct file_operations msm_fops_control = {
1948 .open = msm_open_control, 1949 .open = msm_open_control,
1949 .unlocked_ioctl = msm_ioctl_control, 1950 .unlocked_ioctl = msm_ioctl_control,
1950 .release = msm_release_control, 1951 .release = msm_release_control,
1952 .llseek = no_llseek,
1951}; 1953};
1952 1954
1953static const struct file_operations msm_fops_frame = { 1955static const struct file_operations msm_fops_frame = {
@@ -1956,6 +1958,7 @@ static const struct file_operations msm_fops_frame = {
1956 .unlocked_ioctl = msm_ioctl_frame, 1958 .unlocked_ioctl = msm_ioctl_frame,
1957 .release = msm_release_frame, 1959 .release = msm_release_frame,
1958 .poll = msm_poll_frame, 1960 .poll = msm_poll_frame,
1961 .llseek = no_llseek,
1959}; 1962};
1960 1963
1961static int msm_setup_cdev(struct msm_device *msm, 1964static int msm_setup_cdev(struct msm_device *msm,
diff --git a/drivers/staging/dream/pmem.c b/drivers/staging/dream/pmem.c
index 7d6bbadd7fc..3640d1f2376 100644
--- a/drivers/staging/dream/pmem.c
+++ b/drivers/staging/dream/pmem.c
@@ -180,6 +180,7 @@ const struct file_operations pmem_fops = {
180 .mmap = pmem_mmap, 180 .mmap = pmem_mmap,
181 .open = pmem_open, 181 .open = pmem_open,
182 .unlocked_ioctl = pmem_ioctl, 182 .unlocked_ioctl = pmem_ioctl,
183 .llseek = noop_llseek,
183}; 184};
184 185
185static int get_id(struct file *file) 186static int get_id(struct file *file)
@@ -1204,6 +1205,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count,
1204static struct file_operations debug_fops = { 1205static struct file_operations debug_fops = {
1205 .read = debug_read, 1206 .read = debug_read,
1206 .open = debug_open, 1207 .open = debug_open,
1208 .llseek = default_llseek,
1207}; 1209};
1208#endif 1210#endif
1209 1211
diff --git a/drivers/staging/dream/qdsp5/adsp_driver.c b/drivers/staging/dream/qdsp5/adsp_driver.c
index 8197765aae1..28a6f8da947 100644
--- a/drivers/staging/dream/qdsp5/adsp_driver.c
+++ b/drivers/staging/dream/qdsp5/adsp_driver.c
@@ -582,6 +582,7 @@ static struct file_operations adsp_fops = {
582 .open = adsp_open, 582 .open = adsp_open,
583 .unlocked_ioctl = adsp_ioctl, 583 .unlocked_ioctl = adsp_ioctl,
584 .release = adsp_release, 584 .release = adsp_release,
585 .llseek = no_llseek,
585}; 586};
586 587
587static void adsp_create(struct adsp_device *adev, const char *name, 588static void adsp_create(struct adsp_device *adev, const char *name,
diff --git a/drivers/staging/dream/qdsp5/audio_aac.c b/drivers/staging/dream/qdsp5/audio_aac.c
index a373f352238..45f4c78ab6e 100644
--- a/drivers/staging/dream/qdsp5/audio_aac.c
+++ b/drivers/staging/dream/qdsp5/audio_aac.c
@@ -1030,6 +1030,7 @@ static struct file_operations audio_aac_fops = {
1030 .read = audio_read, 1030 .read = audio_read,
1031 .write = audio_write, 1031 .write = audio_write,
1032 .unlocked_ioctl = audio_ioctl, 1032 .unlocked_ioctl = audio_ioctl,
1033 .llseek = noop_llseek,
1033}; 1034};
1034 1035
1035struct miscdevice audio_aac_misc = { 1036struct miscdevice audio_aac_misc = {
diff --git a/drivers/staging/dream/qdsp5/audio_amrnb.c b/drivers/staging/dream/qdsp5/audio_amrnb.c
index 07b79d5836e..402bbc13281 100644
--- a/drivers/staging/dream/qdsp5/audio_amrnb.c
+++ b/drivers/staging/dream/qdsp5/audio_amrnb.c
@@ -841,6 +841,7 @@ static struct file_operations audio_amrnb_fops = {
841 .read = audamrnb_read, 841 .read = audamrnb_read,
842 .write = audamrnb_write, 842 .write = audamrnb_write,
843 .unlocked_ioctl = audamrnb_ioctl, 843 .unlocked_ioctl = audamrnb_ioctl,
844 .llseek = noop_llseek,
844}; 845};
845 846
846struct miscdevice audio_amrnb_misc = { 847struct miscdevice audio_amrnb_misc = {
diff --git a/drivers/staging/dream/qdsp5/audio_evrc.c b/drivers/staging/dream/qdsp5/audio_evrc.c
index ad989ee8769..24a89264737 100644
--- a/drivers/staging/dream/qdsp5/audio_evrc.c
+++ b/drivers/staging/dream/qdsp5/audio_evrc.c
@@ -813,6 +813,7 @@ static struct file_operations audio_evrc_fops = {
813 .read = audevrc_read, 813 .read = audevrc_read,
814 .write = audevrc_write, 814 .write = audevrc_write,
815 .unlocked_ioctl = audevrc_ioctl, 815 .unlocked_ioctl = audevrc_ioctl,
816 .llseek = noop_llseek,
816}; 817};
817 818
818struct miscdevice audio_evrc_misc = { 819struct miscdevice audio_evrc_misc = {
diff --git a/drivers/staging/dream/qdsp5/audio_in.c b/drivers/staging/dream/qdsp5/audio_in.c
index 6ae48e72d14..b51fa096074 100644
--- a/drivers/staging/dream/qdsp5/audio_in.c
+++ b/drivers/staging/dream/qdsp5/audio_in.c
@@ -921,12 +921,14 @@ static struct file_operations audio_fops = {
921 .read = audio_in_read, 921 .read = audio_in_read,
922 .write = audio_in_write, 922 .write = audio_in_write,
923 .unlocked_ioctl = audio_in_ioctl, 923 .unlocked_ioctl = audio_in_ioctl,
924 .llseek = noop_llseek,
924}; 925};
925 926
926static struct file_operations audpre_fops = { 927static struct file_operations audpre_fops = {
927 .owner = THIS_MODULE, 928 .owner = THIS_MODULE,
928 .open = audpre_open, 929 .open = audpre_open,
929 .unlocked_ioctl = audpre_ioctl, 930 .unlocked_ioctl = audpre_ioctl,
931 .llseek = noop_llseek,
930}; 932};
931 933
932struct miscdevice audio_in_misc = { 934struct miscdevice audio_in_misc = {
diff --git a/drivers/staging/dream/qdsp5/audio_mp3.c b/drivers/staging/dream/qdsp5/audio_mp3.c
index 530e1f35eed..409a19ce603 100644
--- a/drivers/staging/dream/qdsp5/audio_mp3.c
+++ b/drivers/staging/dream/qdsp5/audio_mp3.c
@@ -948,6 +948,7 @@ static struct file_operations audio_mp3_fops = {
948 .read = audio_read, 948 .read = audio_read,
949 .write = audio_write, 949 .write = audio_write,
950 .unlocked_ioctl = audio_ioctl, 950 .unlocked_ioctl = audio_ioctl,
951 .llseek = noop_llseek,
951}; 952};
952 953
953struct miscdevice audio_mp3_misc = { 954struct miscdevice audio_mp3_misc = {
diff --git a/drivers/staging/dream/qdsp5/audio_out.c b/drivers/staging/dream/qdsp5/audio_out.c
index 76d7fa5667d..d20e8954156 100644
--- a/drivers/staging/dream/qdsp5/audio_out.c
+++ b/drivers/staging/dream/qdsp5/audio_out.c
@@ -807,12 +807,14 @@ static struct file_operations audio_fops = {
807 .read = audio_read, 807 .read = audio_read,
808 .write = audio_write, 808 .write = audio_write,
809 .unlocked_ioctl = audio_ioctl, 809 .unlocked_ioctl = audio_ioctl,
810 .llseek = noop_llseek,
810}; 811};
811 812
812static struct file_operations audpp_fops = { 813static struct file_operations audpp_fops = {
813 .owner = THIS_MODULE, 814 .owner = THIS_MODULE,
814 .open = audpp_open, 815 .open = audpp_open,
815 .unlocked_ioctl = audpp_ioctl, 816 .unlocked_ioctl = audpp_ioctl,
817 .llseek = noop_llseek,
816}; 818};
817 819
818struct miscdevice audio_misc = { 820struct miscdevice audio_misc = {
diff --git a/drivers/staging/dream/qdsp5/audio_qcelp.c b/drivers/staging/dream/qdsp5/audio_qcelp.c
index effa96f34fd..911bab416b8 100644
--- a/drivers/staging/dream/qdsp5/audio_qcelp.c
+++ b/drivers/staging/dream/qdsp5/audio_qcelp.c
@@ -824,6 +824,7 @@ static struct file_operations audio_qcelp_fops = {
824 .read = audqcelp_read, 824 .read = audqcelp_read,
825 .write = audqcelp_write, 825 .write = audqcelp_write,
826 .unlocked_ioctl = audqcelp_ioctl, 826 .unlocked_ioctl = audqcelp_ioctl,
827 .llseek = noop_llseek,
827}; 828};
828 829
829struct miscdevice audio_qcelp_misc = { 830struct miscdevice audio_qcelp_misc = {
diff --git a/drivers/staging/dream/qdsp5/evlog.h b/drivers/staging/dream/qdsp5/evlog.h
index 922ce670a32..e5ab86b9dd7 100644
--- a/drivers/staging/dream/qdsp5/evlog.h
+++ b/drivers/staging/dream/qdsp5/evlog.h
@@ -123,6 +123,7 @@ static int ev_log_open(struct inode *inode, struct file *file)
123static const struct file_operations ev_log_ops = { 123static const struct file_operations ev_log_ops = {
124 .read = ev_log_read, 124 .read = ev_log_read,
125 .open = ev_log_open, 125 .open = ev_log_open,
126 .llseek = default_llseek,
126}; 127};
127 128
128static int ev_log_init(struct ev_log *log) 129static int ev_log_init(struct ev_log *log)
diff --git a/drivers/staging/dream/qdsp5/snd.c b/drivers/staging/dream/qdsp5/snd.c
index 037d7ffb7e6..e0f2f7bca29 100644
--- a/drivers/staging/dream/qdsp5/snd.c
+++ b/drivers/staging/dream/qdsp5/snd.c
@@ -247,6 +247,7 @@ static struct file_operations snd_fops = {
247 .open = snd_open, 247 .open = snd_open,
248 .release = snd_release, 248 .release = snd_release,
249 .unlocked_ioctl = snd_ioctl, 249 .unlocked_ioctl = snd_ioctl,
250 .llseek = noop_llseek,
250}; 251};
251 252
252struct miscdevice snd_misc = { 253struct miscdevice snd_misc = {
diff --git a/drivers/staging/frontier/alphatrack.c b/drivers/staging/frontier/alphatrack.c
index 4e52105e607..689099b57fd 100644
--- a/drivers/staging/frontier/alphatrack.c
+++ b/drivers/staging/frontier/alphatrack.c
@@ -641,6 +641,7 @@ static const struct file_operations usb_alphatrack_fops = {
641 .open = usb_alphatrack_open, 641 .open = usb_alphatrack_open,
642 .release = usb_alphatrack_release, 642 .release = usb_alphatrack_release,
643 .poll = usb_alphatrack_poll, 643 .poll = usb_alphatrack_poll,
644 .llseek = no_llseek,
644}; 645};
645 646
646/* 647/*
diff --git a/drivers/staging/frontier/tranzport.c b/drivers/staging/frontier/tranzport.c
index eed74f0fe0b..3d12c1737ed 100644
--- a/drivers/staging/frontier/tranzport.c
+++ b/drivers/staging/frontier/tranzport.c
@@ -767,6 +767,7 @@ static const struct file_operations usb_tranzport_fops = {
767 .open = usb_tranzport_open, 767 .open = usb_tranzport_open,
768 .release = usb_tranzport_release, 768 .release = usb_tranzport_release,
769 .poll = usb_tranzport_poll, 769 .poll = usb_tranzport_poll,
770 .llseek = no_llseek,
770}; 771};
771 772
772/* 773/*
diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
index dd4d87a8bca..92a212f064b 100644
--- a/drivers/staging/iio/industrialio-core.c
+++ b/drivers/staging/iio/industrialio-core.c
@@ -349,6 +349,7 @@ static const struct file_operations iio_event_chrdev_fileops = {
349 .release = iio_event_chrdev_release, 349 .release = iio_event_chrdev_release,
350 .open = iio_event_chrdev_open, 350 .open = iio_event_chrdev_open,
351 .owner = THIS_MODULE, 351 .owner = THIS_MODULE,
352 .llseek = noop_llseek,
352}; 353};
353 354
354static void iio_event_dev_release(struct device *dev) 355static void iio_event_dev_release(struct device *dev)
diff --git a/drivers/staging/iio/industrialio-ring.c b/drivers/staging/iio/industrialio-ring.c
index 6ab578e4f5f..1c5f67253b8 100644
--- a/drivers/staging/iio/industrialio-ring.c
+++ b/drivers/staging/iio/industrialio-ring.c
@@ -133,6 +133,7 @@ static const struct file_operations iio_ring_fileops = {
133 .release = iio_ring_release, 133 .release = iio_ring_release,
134 .open = iio_ring_open, 134 .open = iio_ring_open,
135 .owner = THIS_MODULE, 135 .owner = THIS_MODULE,
136 .llseek = noop_llseek,
136}; 137};
137 138
138/** 139/**
diff --git a/drivers/staging/lirc/lirc_imon.c b/drivers/staging/lirc/lirc_imon.c
index 66493253042..ed5c5fe022c 100644
--- a/drivers/staging/lirc/lirc_imon.c
+++ b/drivers/staging/lirc/lirc_imon.c
@@ -115,7 +115,8 @@ static const struct file_operations display_fops = {
115 .owner = THIS_MODULE, 115 .owner = THIS_MODULE,
116 .open = &display_open, 116 .open = &display_open,
117 .write = &vfd_write, 117 .write = &vfd_write,
118 .release = &display_close 118 .release = &display_close,
119 .llseek = noop_llseek,
119}; 120};
120 121
121/* 122/*
diff --git a/drivers/staging/lirc/lirc_it87.c b/drivers/staging/lirc/lirc_it87.c
index ec11c0e949a..543c5c3bf90 100644
--- a/drivers/staging/lirc/lirc_it87.c
+++ b/drivers/staging/lirc/lirc_it87.c
@@ -342,6 +342,7 @@ static const struct file_operations lirc_fops = {
342 .unlocked_ioctl = lirc_ioctl, 342 .unlocked_ioctl = lirc_ioctl,
343 .open = lirc_open, 343 .open = lirc_open,
344 .release = lirc_close, 344 .release = lirc_close,
345 .llseek = noop_llseek,
345}; 346};
346 347
347static int set_use_inc(void *data) 348static int set_use_inc(void *data)
diff --git a/drivers/staging/lirc/lirc_sasem.c b/drivers/staging/lirc/lirc_sasem.c
index 73166c3f581..8f72a84f34e 100644
--- a/drivers/staging/lirc/lirc_sasem.c
+++ b/drivers/staging/lirc/lirc_sasem.c
@@ -125,6 +125,7 @@ static const struct file_operations vfd_fops = {
125 .write = &vfd_write, 125 .write = &vfd_write,
126 .unlocked_ioctl = &vfd_ioctl, 126 .unlocked_ioctl = &vfd_ioctl,
127 .release = &vfd_close, 127 .release = &vfd_close,
128 .llseek = noop_llseek,
128}; 129};
129 130
130/* USB Device ID for Sasem USB Control Board */ 131/* USB Device ID for Sasem USB Control Board */
diff --git a/drivers/staging/memrar/memrar_handler.c b/drivers/staging/memrar/memrar_handler.c
index a98b3f1f11e..cfcaa8e5b8e 100644
--- a/drivers/staging/memrar/memrar_handler.c
+++ b/drivers/staging/memrar/memrar_handler.c
@@ -890,6 +890,7 @@ static const struct file_operations memrar_fops = {
890 .mmap = memrar_mmap, 890 .mmap = memrar_mmap,
891 .open = memrar_open, 891 .open = memrar_open,
892 .release = memrar_release, 892 .release = memrar_release,
893 .llseek = no_llseek,
893}; 894};
894 895
895static struct miscdevice memrar_miscdev = { 896static struct miscdevice memrar_miscdev = {
diff --git a/drivers/staging/panel/panel.c b/drivers/staging/panel/panel.c
index 3221814a856..6885f9a4660 100644
--- a/drivers/staging/panel/panel.c
+++ b/drivers/staging/panel/panel.c
@@ -1631,6 +1631,7 @@ static const struct file_operations keypad_fops = {
1631 .read = keypad_read, /* read */ 1631 .read = keypad_read, /* read */
1632 .open = keypad_open, /* open */ 1632 .open = keypad_open, /* open */
1633 .release = keypad_release, /* close */ 1633 .release = keypad_release, /* close */
1634 .llseek = default_llseek,
1634}; 1635};
1635 1636
1636static struct miscdevice keypad_dev = { 1637static struct miscdevice keypad_dev = {
diff --git a/drivers/staging/tidspbridge/rmgr/drv_interface.c b/drivers/staging/tidspbridge/rmgr/drv_interface.c
index 7ee89492a75..7b3a7d04a10 100644
--- a/drivers/staging/tidspbridge/rmgr/drv_interface.c
+++ b/drivers/staging/tidspbridge/rmgr/drv_interface.c
@@ -144,6 +144,7 @@ static const struct file_operations bridge_fops = {
144 .release = bridge_release, 144 .release = bridge_release,
145 .unlocked_ioctl = bridge_ioctl, 145 .unlocked_ioctl = bridge_ioctl,
146 .mmap = bridge_mmap, 146 .mmap = bridge_mmap,
147 .llseek = noop_llseek,
147}; 148};
148 149
149#ifdef CONFIG_PM 150#ifdef CONFIG_PM
diff --git a/drivers/telephony/ixj.c b/drivers/telephony/ixj.c
index b53deee25d7..5c6239e5aa2 100644
--- a/drivers/telephony/ixj.c
+++ b/drivers/telephony/ixj.c
@@ -6676,7 +6676,8 @@ static const struct file_operations ixj_fops =
6676 .poll = ixj_poll, 6676 .poll = ixj_poll,
6677 .unlocked_ioctl = ixj_ioctl, 6677 .unlocked_ioctl = ixj_ioctl,
6678 .release = ixj_release, 6678 .release = ixj_release,
6679 .fasync = ixj_fasync 6679 .fasync = ixj_fasync,
6680 .llseek = default_llseek,
6680}; 6681};
6681 6682
6682static int ixj_linetest(IXJ *j) 6683static int ixj_linetest(IXJ *j)
diff --git a/drivers/telephony/phonedev.c b/drivers/telephony/phonedev.c
index f3873f650bb..1915af20117 100644
--- a/drivers/telephony/phonedev.c
+++ b/drivers/telephony/phonedev.c
@@ -130,6 +130,7 @@ static const struct file_operations phone_fops =
130{ 130{
131 .owner = THIS_MODULE, 131 .owner = THIS_MODULE,
132 .open = phone_open, 132 .open = phone_open,
133 .llseek = noop_llseek,
133}; 134};
134 135
135/* 136/*
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
index bff1afbde5a..4d3a6fd1a15 100644
--- a/drivers/uio/uio.c
+++ b/drivers/uio/uio.c
@@ -740,6 +740,7 @@ static const struct file_operations uio_fops = {
740 .mmap = uio_mmap, 740 .mmap = uio_mmap,
741 .poll = uio_poll, 741 .poll = uio_poll,
742 .fasync = uio_fasync, 742 .fasync = uio_fasync,
743 .llseek = noop_llseek,
743}; 744};
744 745
745static int uio_major_init(void) 746static int uio_major_init(void)
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c
index 094c76b5de1..6ee4451bfe2 100644
--- a/drivers/usb/class/cdc-wdm.c
+++ b/drivers/usb/class/cdc-wdm.c
@@ -584,7 +584,8 @@ static const struct file_operations wdm_fops = {
584 .open = wdm_open, 584 .open = wdm_open,
585 .flush = wdm_flush, 585 .flush = wdm_flush,
586 .release = wdm_release, 586 .release = wdm_release,
587 .poll = wdm_poll 587 .poll = wdm_poll,
588 .llseek = noop_llseek,
588}; 589};
589 590
590static struct usb_class_driver wdm_class = { 591static struct usb_class_driver wdm_class = {
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
index e325162859b..9eca4053312 100644
--- a/drivers/usb/class/usblp.c
+++ b/drivers/usb/class/usblp.c
@@ -1043,6 +1043,7 @@ static const struct file_operations usblp_fops = {
1043 .compat_ioctl = usblp_ioctl, 1043 .compat_ioctl = usblp_ioctl,
1044 .open = usblp_open, 1044 .open = usblp_open,
1045 .release = usblp_release, 1045 .release = usblp_release,
1046 .llseek = noop_llseek,
1046}; 1047};
1047 1048
1048static char *usblp_devnode(struct device *dev, mode_t *mode) 1049static char *usblp_devnode(struct device *dev, mode_t *mode)
diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c
index 3e7c1b800eb..6a54634ab82 100644
--- a/drivers/usb/class/usbtmc.c
+++ b/drivers/usb/class/usbtmc.c
@@ -987,6 +987,7 @@ static const struct file_operations fops = {
987 .open = usbtmc_open, 987 .open = usbtmc_open,
988 .release = usbtmc_release, 988 .release = usbtmc_release,
989 .unlocked_ioctl = usbtmc_ioctl, 989 .unlocked_ioctl = usbtmc_ioctl,
990 .llseek = default_llseek,
990}; 991};
991 992
992static struct usb_class_driver usbtmc_class = { 993static struct usb_class_driver usbtmc_class = {
diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c
index f06f5dbc8cd..580bcd39683 100644
--- a/drivers/usb/core/file.c
+++ b/drivers/usb/core/file.c
@@ -59,6 +59,7 @@ static int usb_open(struct inode * inode, struct file * file)
59static const struct file_operations usb_fops = { 59static const struct file_operations usb_fops = {
60 .owner = THIS_MODULE, 60 .owner = THIS_MODULE,
61 .open = usb_open, 61 .open = usb_open,
62 .llseek = noop_llseek,
62}; 63};
63 64
64static struct usb_class { 65static struct usb_class {
diff --git a/drivers/usb/gadget/f_hid.c b/drivers/usb/gadget/f_hid.c
index 53e120208e9..2b98bd26364 100644
--- a/drivers/usb/gadget/f_hid.c
+++ b/drivers/usb/gadget/f_hid.c
@@ -451,6 +451,7 @@ const struct file_operations f_hidg_fops = {
451 .write = f_hidg_write, 451 .write = f_hidg_write,
452 .read = f_hidg_read, 452 .read = f_hidg_read,
453 .poll = f_hidg_poll, 453 .poll = f_hidg_poll,
454 .llseek = noop_llseek,
454}; 455};
455 456
456static int __init hidg_bind(struct usb_configuration *c, struct usb_function *f) 457static int __init hidg_bind(struct usb_configuration *c, struct usb_function *f)
diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c
index cf241c371a7..327a92a137b 100644
--- a/drivers/usb/gadget/printer.c
+++ b/drivers/usb/gadget/printer.c
@@ -884,7 +884,8 @@ static const struct file_operations printer_io_operations = {
884 .fsync = printer_fsync, 884 .fsync = printer_fsync,
885 .poll = printer_poll, 885 .poll = printer_poll,
886 .unlocked_ioctl = printer_ioctl, 886 .unlocked_ioctl = printer_ioctl,
887 .release = printer_close 887 .release = printer_close,
888 .llseek = noop_llseek,
888}; 889};
889 890
890/*-------------------------------------------------------------------------*/ 891/*-------------------------------------------------------------------------*/
diff --git a/drivers/usb/host/ehci-dbg.c b/drivers/usb/host/ehci-dbg.c
index 76b7fd2d838..86afdc73322 100644
--- a/drivers/usb/host/ehci-dbg.c
+++ b/drivers/usb/host/ehci-dbg.c
@@ -369,18 +369,21 @@ static const struct file_operations debug_async_fops = {
369 .open = debug_async_open, 369 .open = debug_async_open,
370 .read = debug_output, 370 .read = debug_output,
371 .release = debug_close, 371 .release = debug_close,
372 .llseek = default_llseek,
372}; 373};
373static const struct file_operations debug_periodic_fops = { 374static const struct file_operations debug_periodic_fops = {
374 .owner = THIS_MODULE, 375 .owner = THIS_MODULE,
375 .open = debug_periodic_open, 376 .open = debug_periodic_open,
376 .read = debug_output, 377 .read = debug_output,
377 .release = debug_close, 378 .release = debug_close,
379 .llseek = default_llseek,
378}; 380};
379static const struct file_operations debug_registers_fops = { 381static const struct file_operations debug_registers_fops = {
380 .owner = THIS_MODULE, 382 .owner = THIS_MODULE,
381 .open = debug_registers_open, 383 .open = debug_registers_open,
382 .read = debug_output, 384 .read = debug_output,
383 .release = debug_close, 385 .release = debug_close,
386 .llseek = default_llseek,
384}; 387};
385static const struct file_operations debug_lpm_fops = { 388static const struct file_operations debug_lpm_fops = {
386 .owner = THIS_MODULE, 389 .owner = THIS_MODULE,
@@ -388,6 +391,7 @@ static const struct file_operations debug_lpm_fops = {
388 .read = debug_lpm_read, 391 .read = debug_lpm_read,
389 .write = debug_lpm_write, 392 .write = debug_lpm_write,
390 .release = debug_lpm_close, 393 .release = debug_lpm_close,
394 .llseek = noop_llseek,
391}; 395};
392 396
393static struct dentry *ehci_debug_root; 397static struct dentry *ehci_debug_root;
diff --git a/drivers/usb/host/ohci-dbg.c b/drivers/usb/host/ohci-dbg.c
index 36abd2baa3e..d7d34492934 100644
--- a/drivers/usb/host/ohci-dbg.c
+++ b/drivers/usb/host/ohci-dbg.c
@@ -413,18 +413,21 @@ static const struct file_operations debug_async_fops = {
413 .open = debug_async_open, 413 .open = debug_async_open,
414 .read = debug_output, 414 .read = debug_output,
415 .release = debug_close, 415 .release = debug_close,
416 .llseek = default_llseek,
416}; 417};
417static const struct file_operations debug_periodic_fops = { 418static const struct file_operations debug_periodic_fops = {
418 .owner = THIS_MODULE, 419 .owner = THIS_MODULE,
419 .open = debug_periodic_open, 420 .open = debug_periodic_open,
420 .read = debug_output, 421 .read = debug_output,
421 .release = debug_close, 422 .release = debug_close,
423 .llseek = default_llseek,
422}; 424};
423static const struct file_operations debug_registers_fops = { 425static const struct file_operations debug_registers_fops = {
424 .owner = THIS_MODULE, 426 .owner = THIS_MODULE,
425 .open = debug_registers_open, 427 .open = debug_registers_open,
426 .read = debug_output, 428 .read = debug_output,
427 .release = debug_close, 429 .release = debug_close,
430 .llseek = default_llseek,
428}; 431};
429 432
430static struct dentry *ohci_debug_root; 433static struct dentry *ohci_debug_root;
diff --git a/drivers/usb/image/mdc800.c b/drivers/usb/image/mdc800.c
index e192e8f7c56..575b56c79e9 100644
--- a/drivers/usb/image/mdc800.c
+++ b/drivers/usb/image/mdc800.c
@@ -963,6 +963,7 @@ static const struct file_operations mdc800_device_ops =
963 .write = mdc800_device_write, 963 .write = mdc800_device_write,
964 .open = mdc800_device_open, 964 .open = mdc800_device_open,
965 .release = mdc800_device_release, 965 .release = mdc800_device_release,
966 .llseek = noop_llseek,
966}; 967};
967 968
968 969
diff --git a/drivers/usb/misc/adutux.c b/drivers/usb/misc/adutux.c
index 801324af947..44f8b922505 100644
--- a/drivers/usb/misc/adutux.c
+++ b/drivers/usb/misc/adutux.c
@@ -679,6 +679,7 @@ static const struct file_operations adu_fops = {
679 .write = adu_write, 679 .write = adu_write,
680 .open = adu_open, 680 .open = adu_open,
681 .release = adu_release, 681 .release = adu_release,
682 .llseek = noop_llseek,
682}; 683};
683 684
684/* 685/*
diff --git a/drivers/usb/misc/idmouse.c b/drivers/usb/misc/idmouse.c
index a54c3cb804c..c6184b4d169 100644
--- a/drivers/usb/misc/idmouse.c
+++ b/drivers/usb/misc/idmouse.c
@@ -105,6 +105,7 @@ static const struct file_operations idmouse_fops = {
105 .read = idmouse_read, 105 .read = idmouse_read,
106 .open = idmouse_open, 106 .open = idmouse_open,
107 .release = idmouse_release, 107 .release = idmouse_release,
108 .llseek = default_llseek,
108}; 109};
109 110
110/* class driver information */ 111/* class driver information */
diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c
index bc88c79875a..9b50db25701 100644
--- a/drivers/usb/misc/iowarrior.c
+++ b/drivers/usb/misc/iowarrior.c
@@ -730,6 +730,7 @@ static const struct file_operations iowarrior_fops = {
730 .open = iowarrior_open, 730 .open = iowarrior_open,
731 .release = iowarrior_release, 731 .release = iowarrior_release,
732 .poll = iowarrior_poll, 732 .poll = iowarrior_poll,
733 .llseek = noop_llseek,
733}; 734};
734 735
735static char *iowarrior_devnode(struct device *dev, mode_t *mode) 736static char *iowarrior_devnode(struct device *dev, mode_t *mode)
diff --git a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c
index dd41d871004..edffef64233 100644
--- a/drivers/usb/misc/ldusb.c
+++ b/drivers/usb/misc/ldusb.c
@@ -613,6 +613,7 @@ static const struct file_operations ld_usb_fops = {
613 .open = ld_usb_open, 613 .open = ld_usb_open,
614 .release = ld_usb_release, 614 .release = ld_usb_release,
615 .poll = ld_usb_poll, 615 .poll = ld_usb_poll,
616 .llseek = no_llseek,
616}; 617};
617 618
618/* 619/*
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index cc13ae61712..4e23d3841b4 100644
--- a/drivers/usb/misc/rio500.c
+++ b/drivers/usb/misc/rio500.c
@@ -439,6 +439,7 @@ static const struct file_operations usb_rio_fops = {
439 .unlocked_ioctl = ioctl_rio, 439 .unlocked_ioctl = ioctl_rio,
440 .open = open_rio, 440 .open = open_rio,
441 .release = close_rio, 441 .release = close_rio,
442 .llseek = noop_llseek,
442}; 443};
443 444
444static struct usb_class_driver usb_rio_class = { 445static struct usb_class_driver usb_rio_class = {
diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c
index d00dde19194..51648154bb4 100644
--- a/drivers/usb/misc/usblcd.c
+++ b/drivers/usb/misc/usblcd.c
@@ -282,6 +282,7 @@ static const struct file_operations lcd_fops = {
282 .open = lcd_open, 282 .open = lcd_open,
283 .unlocked_ioctl = lcd_ioctl, 283 .unlocked_ioctl = lcd_ioctl,
284 .release = lcd_release, 284 .release = lcd_release,
285 .llseek = noop_llseek,
285}; 286};
286 287
287/* 288/*
diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c
index 552679b8dbd..e24ce312307 100644
--- a/drivers/usb/usb-skeleton.c
+++ b/drivers/usb/usb-skeleton.c
@@ -507,6 +507,7 @@ static const struct file_operations skel_fops = {
507 .open = skel_open, 507 .open = skel_open,
508 .release = skel_release, 508 .release = skel_release,
509 .flush = skel_flush, 509 .flush = skel_flush,
510 .llseek = noop_llseek,
510}; 511};
511 512
512/* 513/*
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 29e850a7a2f..c8523ce2e4c 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -869,6 +869,7 @@ static const struct file_operations vhost_net_fops = {
869 .compat_ioctl = vhost_net_compat_ioctl, 869 .compat_ioctl = vhost_net_compat_ioctl,
870#endif 870#endif
871 .open = vhost_net_open, 871 .open = vhost_net_open,
872 .llseek = noop_llseek,
872}; 873};
873 874
874static struct miscdevice vhost_net_misc = { 875static struct miscdevice vhost_net_misc = {
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index b06647517c0..42e303ff862 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1439,6 +1439,7 @@ static const struct file_operations fb_fops = {
1439#ifdef CONFIG_FB_DEFERRED_IO 1439#ifdef CONFIG_FB_DEFERRED_IO
1440 .fsync = fb_deferred_io_fsync, 1440 .fsync = fb_deferred_io_fsync,
1441#endif 1441#endif
1442 .llseek = default_llseek,
1442}; 1443};
1443 1444
1444struct class *fb_class; 1445struct class *fb_class;
diff --git a/drivers/video/mbx/mbxdebugfs.c b/drivers/video/mbx/mbxdebugfs.c
index ecad9652457..12dec7634c5 100644
--- a/drivers/video/mbx/mbxdebugfs.c
+++ b/drivers/video/mbx/mbxdebugfs.c
@@ -175,36 +175,42 @@ static const struct file_operations sysconf_fops = {
175 .read = sysconf_read_file, 175 .read = sysconf_read_file,
176 .write = write_file_dummy, 176 .write = write_file_dummy,
177 .open = open_file_generic, 177 .open = open_file_generic,
178 .llseek = default_llseek,
178}; 179};
179 180
180static const struct file_operations clock_fops = { 181static const struct file_operations clock_fops = {
181 .read = clock_read_file, 182 .read = clock_read_file,
182 .write = write_file_dummy, 183 .write = write_file_dummy,
183 .open = open_file_generic, 184 .open = open_file_generic,
185 .llseek = default_llseek,
184}; 186};
185 187
186static const struct file_operations display_fops = { 188static const struct file_operations display_fops = {
187 .read = display_read_file, 189 .read = display_read_file,
188 .write = write_file_dummy, 190 .write = write_file_dummy,
189 .open = open_file_generic, 191 .open = open_file_generic,
192 .llseek = default_llseek,
190}; 193};
191 194
192static const struct file_operations gsctl_fops = { 195static const struct file_operations gsctl_fops = {
193 .read = gsctl_read_file, 196 .read = gsctl_read_file,
194 .write = write_file_dummy, 197 .write = write_file_dummy,
195 .open = open_file_generic, 198 .open = open_file_generic,
199 .llseek = default_llseek,
196}; 200};
197 201
198static const struct file_operations sdram_fops = { 202static const struct file_operations sdram_fops = {
199 .read = sdram_read_file, 203 .read = sdram_read_file,
200 .write = write_file_dummy, 204 .write = write_file_dummy,
201 .open = open_file_generic, 205 .open = open_file_generic,
206 .llseek = default_llseek,
202}; 207};
203 208
204static const struct file_operations misc_fops = { 209static const struct file_operations misc_fops = {
205 .read = misc_read_file, 210 .read = misc_read_file,
206 .write = write_file_dummy, 211 .write = write_file_dummy,
207 .open = open_file_generic, 212 .open = open_file_generic,
213 .llseek = default_llseek,
208}; 214};
209 215
210static void __devinit mbxfb_debugfs_init(struct fb_info *fbi) 216static void __devinit mbxfb_debugfs_init(struct fb_info *fbi)
diff --git a/drivers/watchdog/ar7_wdt.c b/drivers/watchdog/ar7_wdt.c
index c764c52412e..b2922178359 100644
--- a/drivers/watchdog/ar7_wdt.c
+++ b/drivers/watchdog/ar7_wdt.c
@@ -267,6 +267,7 @@ static const struct file_operations ar7_wdt_fops = {
267 .unlocked_ioctl = ar7_wdt_ioctl, 267 .unlocked_ioctl = ar7_wdt_ioctl,
268 .open = ar7_wdt_open, 268 .open = ar7_wdt_open,
269 .release = ar7_wdt_release, 269 .release = ar7_wdt_release,
270 .llseek = no_llseek,
270}; 271};
271 272
272static struct miscdevice ar7_wdt_miscdev = { 273static struct miscdevice ar7_wdt_miscdev = {
diff --git a/drivers/watchdog/cpwd.c b/drivers/watchdog/cpwd.c
index 566343b3c13..51ae4e84f4f 100644
--- a/drivers/watchdog/cpwd.c
+++ b/drivers/watchdog/cpwd.c
@@ -524,6 +524,7 @@ static const struct file_operations cpwd_fops = {
524 .write = cpwd_write, 524 .write = cpwd_write,
525 .read = cpwd_read, 525 .read = cpwd_read,
526 .release = cpwd_release, 526 .release = cpwd_release,
527 .llseek = no_llseek,
527}; 528};
528 529
529static int __devinit cpwd_probe(struct platform_device *op, 530static int __devinit cpwd_probe(struct platform_device *op,
diff --git a/drivers/watchdog/ep93xx_wdt.c b/drivers/watchdog/ep93xx_wdt.c
index 59359c9a5e0..726b7df61fd 100644
--- a/drivers/watchdog/ep93xx_wdt.c
+++ b/drivers/watchdog/ep93xx_wdt.c
@@ -188,6 +188,7 @@ static const struct file_operations ep93xx_wdt_fops = {
188 .unlocked_ioctl = ep93xx_wdt_ioctl, 188 .unlocked_ioctl = ep93xx_wdt_ioctl,
189 .open = ep93xx_wdt_open, 189 .open = ep93xx_wdt_open,
190 .release = ep93xx_wdt_release, 190 .release = ep93xx_wdt_release,
191 .llseek = no_llseek,
191}; 192};
192 193
193static struct miscdevice ep93xx_wdt_miscdev = { 194static struct miscdevice ep93xx_wdt_miscdev = {
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 76b58abf445..81e3d610089 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -258,6 +258,7 @@ static const struct file_operations omap_wdt_fops = {
258 .unlocked_ioctl = omap_wdt_ioctl, 258 .unlocked_ioctl = omap_wdt_ioctl,
259 .open = omap_wdt_open, 259 .open = omap_wdt_open,
260 .release = omap_wdt_release, 260 .release = omap_wdt_release,
261 .llseek = no_llseek,
261}; 262};
262 263
263static int __devinit omap_wdt_probe(struct platform_device *pdev) 264static int __devinit omap_wdt_probe(struct platform_device *pdev)
diff --git a/drivers/xen/evtchn.c b/drivers/xen/evtchn.c
index 66e185cfe92..fec6ba3c08a 100644
--- a/drivers/xen/evtchn.c
+++ b/drivers/xen/evtchn.c
@@ -467,6 +467,7 @@ static const struct file_operations evtchn_fops = {
467 .fasync = evtchn_fasync, 467 .fasync = evtchn_fasync,
468 .open = evtchn_open, 468 .open = evtchn_open,
469 .release = evtchn_release, 469 .release = evtchn_release,
470 .llseek = noop_llseek,
470}; 471};
471 472
472static struct miscdevice evtchn_miscdev = { 473static struct miscdevice evtchn_miscdev = {
diff --git a/drivers/xen/xenfs/super.c b/drivers/xen/xenfs/super.c
index 78bfab0700b..bd96340063c 100644
--- a/drivers/xen/xenfs/super.c
+++ b/drivers/xen/xenfs/super.c
@@ -35,6 +35,7 @@ static ssize_t capabilities_read(struct file *file, char __user *buf,
35 35
36static const struct file_operations capabilities_file_ops = { 36static const struct file_operations capabilities_file_ops = {
37 .read = capabilities_read, 37 .read = capabilities_read,
38 .llseek = default_llseek,
38}; 39};
39 40
40static int xenfs_fill_super(struct super_block *sb, void *data, int silent) 41static int xenfs_fill_super(struct super_block *sb, void *data, int silent)
diff --git a/drivers/xen/xenfs/xenbus.c b/drivers/xen/xenfs/xenbus.c
index 3b39c3752e2..1c1236087f7 100644
--- a/drivers/xen/xenfs/xenbus.c
+++ b/drivers/xen/xenfs/xenbus.c
@@ -594,4 +594,5 @@ const struct file_operations xenbus_file_ops = {
594 .open = xenbus_file_open, 594 .open = xenbus_file_open,
595 .release = xenbus_file_release, 595 .release = xenbus_file_release,
596 .poll = xenbus_file_poll, 596 .poll = xenbus_file_poll,
597 .llseek = no_llseek,
597}; 598};