diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2015-12-05 22:04:48 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-12-23 10:41:31 -0500 |
| commit | b25472f9b96159cc0b9b7ed449448805973cd789 (patch) | |
| tree | 7963f6d5adc2a82f6f10b4f9cf427ce931f67c76 /drivers/usb/core/devices.c | |
| parent | b808b1d632f6915e4d6b1badb927b2c970ad11bb (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.c | 26 |
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 | ||
| 664 | static 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 | |||
| 688 | const struct file_operations usbfs_devices_fops = { | 664 | const 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 | }; |
