[PATCH 51/56] drivers/char/mem: support compiling out splice

From: Pieter Smith
Date: Thu Nov 13 2014 - 16:33:59 EST


Compile out splice support from mem character driver when the splice-family of
syscalls is not supported by the system (i.e. CONFIG_SYSCALL_SPLICE is
undefined).

add/remove: 0/2 grow/shrink: 0/0 up/down: 0/-28 (-28)
function old new delta
pipe_to_null 4 - -4
splice_write_null 24 - -24

Signed-off-by: Pieter Smith <pieter@xxxxxxxxxx>
---
drivers/char/mem.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 917403f..420d651 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -610,6 +610,7 @@ static ssize_t aio_write_null(struct kiocb *iocb, const struct iovec *iov,
return iov_length(iov, nr_segs);
}

+#ifdef CONFIG_SYSCALL_SPLICE
static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf,
struct splice_desc *sd)
{
@@ -621,6 +622,7 @@ static ssize_t splice_write_null(struct pipe_inode_info *pipe, struct file *out,
{
return splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_null);
}
+#endif /* #ifdef CONFIG_SYSCALL_SPLICE */

static ssize_t read_zero(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
@@ -769,7 +771,7 @@ static const struct file_operations null_fops = {
.write = write_null,
.aio_read = aio_read_null,
.aio_write = aio_write_null,
- .splice_write = splice_write_null,
+ SPLICE_WRITE_INIT(splice_write_null)
};

#ifdef CONFIG_DEVPORT
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/