aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/devices.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2015-12-05 22:04:48 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2015-12-23 10:41:31 -0500
commitb25472f9b96159cc0b9b7ed449448805973cd789 (patch)
tree7963f6d5adc2a82f6f10b4f9cf427ce931f67c76 /drivers/usb/core/devices.c
parentb808b1d632f6915e4d6b1badb927b2c970ad11bb (diff)
new helpers: no_seek_end_llseek{,_size}()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/usb/core/devices.c')
-rw-r--r--drivers/usb/core/devices.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/usb/core/devices.c b/drivers/usb/core/devices.c
index 2a3bbdf7eb94..cffa0a0d7de2 100644
--- a/drivers/usb/core/devices.c
+++ b/drivers/usb/core/devices.c
@@ -661,32 +661,8 @@ static unsigned int usb_device_poll(struct file *file,
661 return 0; 661 return 0;
662} 662}
663 663
664static loff_t usb_device_lseek(struct file *file, loff_t offset, int orig)
665{
666 loff_t ret;
667
668 mutex_lock(&file_inode(file)->i_mutex);
669
670 switch (orig) {
671 case 0:
672 file->f_pos = offset;
673 ret = file->f_pos;
674 break;
675 case 1:
676 file->f_pos += offset;
677 ret = file->f_pos;
678 break;
679 case 2:
680 default:
681 ret = -EINVAL;
682 }
683
684 mutex_unlock(&file_inode(file)->i_mutex);
685 return ret;
686}
687
688const struct file_operations usbfs_devices_fops = { 664const struct file_operations usbfs_devices_fops = {
689 .llseek = usb_device_lseek, 665 .llseek = no_seek_end_llseek,
690 .read = usb_device_read, 666 .read = usb_device_read,
691 .poll = usb_device_poll, 667 .poll = usb_device_poll,
692}; 668};