RDMA/cxgb4: Use simple_read_from_buffer() for debugfs handlers
authorSteve Wise <swise@opengridcomputing.com>
Wed, 29 Sep 2010 18:21:33 +0000 (18:21 +0000)
committerRoland Dreier <rolandd@cisco.com>
Tue, 12 Oct 2010 03:15:14 +0000 (20:15 -0700)
We can replace our equivalent open-coded version.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/cxgb4/device.c

index b254357..22a290d 100644 (file)
@@ -68,32 +68,8 @@ static ssize_t debugfs_read(struct file *file, char __user *buf, size_t count,
                            loff_t *ppos)
 {
        struct c4iw_debugfs_data *d = file->private_data;
-       loff_t pos = *ppos;
-       loff_t avail = d->pos;
 
-       if (pos < 0)
-               return -EINVAL;
-       if (pos >= avail)
-               return 0;
-       if (count > avail - pos)
-               count = avail - pos;
-
-       while (count) {
-               size_t len = 0;
-
-               len = min((int)count, (int)d->pos - (int)pos);
-               if (copy_to_user(buf, d->buf + pos, len))
-                       return -EFAULT;
-               if (len == 0)
-                       return -EINVAL;
-
-               buf += len;
-               pos += len;
-               count -= len;
-       }
-       count = pos - *ppos;
-       *ppos = pos;
-       return count;
+       return simple_read_from_buffer(buf, count, ppos, d->buf, d->pos);
 }
 
 static int dump_qp(int id, void *p, void *data)