aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/mem.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2015-04-03 15:57:04 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2015-04-11 22:29:40 -0400
commitcd28e28d801e052a3378161c9cb3231828cfaa77 (patch)
treea9599da6cd2f68f98a38a71beec7cdf05380f45b /drivers/char/mem.c
parent5d5d568975307877e9195f5305f4240e506a2807 (diff)
switch drivers/char/mem.c to ->read_iter/->write_iter
Note that _these_ guys have ->read() and ->write() left in place - they are eqiuvalent to what we'd get if we replaced those with NULL, but we are talking about hot paths here. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/char/mem.c')
-rw-r--r--drivers/char/mem.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index ad08400491ae..6b1721f978c2 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -607,16 +607,16 @@ static ssize_t write_null(struct file *file, const char __user *buf,
607 return count; 607 return count;
608} 608}
609 609
610static ssize_t aio_read_null(struct kiocb *iocb, const struct iovec *iov, 610static ssize_t read_iter_null(struct kiocb *iocb, struct iov_iter *to)
611 unsigned long nr_segs, loff_t pos)
612{ 611{
613 return 0; 612 return 0;
614} 613}
615 614
616static ssize_t aio_write_null(struct kiocb *iocb, const struct iovec *iov, 615static ssize_t write_iter_null(struct kiocb *iocb, struct iov_iter *from)
617 unsigned long nr_segs, loff_t pos)
618{ 616{
619 return iov_length(iov, nr_segs); 617 size_t count = iov_iter_count(from);
618 iov_iter_advance(from, count);
619 return count;
620} 620}
621 621
622static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf, 622static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf,
@@ -718,7 +718,7 @@ static int open_port(struct inode *inode, struct file *filp)
718#define zero_lseek null_lseek 718#define zero_lseek null_lseek
719#define full_lseek null_lseek 719#define full_lseek null_lseek
720#define write_zero write_null 720#define write_zero write_null
721#define aio_write_zero aio_write_null 721#define write_iter_zero write_iter_null
722#define open_mem open_port 722#define open_mem open_port
723#define open_kmem open_mem 723#define open_kmem open_mem
724 724
@@ -750,8 +750,8 @@ static const struct file_operations null_fops = {
750 .llseek = null_lseek, 750 .llseek = null_lseek,
751 .read = read_null, 751 .read = read_null,
752 .write = write_null, 752 .write = write_null,
753 .aio_read = aio_read_null, 753 .read_iter = read_iter_null,
754 .aio_write = aio_write_null, 754 .write_iter = write_iter_null,
755 .splice_write = splice_write_null, 755 .splice_write = splice_write_null,
756}; 756};
757 757
@@ -766,7 +766,7 @@ static const struct file_operations zero_fops = {
766 .llseek = zero_lseek, 766 .llseek = zero_lseek,
767 .write = write_zero, 767 .write = write_zero,
768 .read_iter = read_iter_zero, 768 .read_iter = read_iter_zero,
769 .aio_write = aio_write_zero, 769 .write_iter = write_iter_zero,
770 .mmap = mmap_zero, 770 .mmap = mmap_zero,
771#ifndef CONFIG_MMU 771#ifndef CONFIG_MMU
772 .mmap_capabilities = zero_mmap_capabilities, 772 .mmap_capabilities = zero_mmap_capabilities,