Commit e9c72183 authored by YueHaibing's avatar YueHaibing Committed by Jeff Kirsher

ixgbe: introduce a helper to simplify code

ixgbe_dbg_reg_ops_read and ixgbe_dbg_netdev_ops_read copy-pasting
the same code except for ixgbe_dbg_netdev_ops_buf/ixgbe_dbg_reg_ops_buf,
so introduce a helper ixgbe_dbg_common_ops_read to remove redundant code.
Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 7d6446db
...@@ -10,15 +10,9 @@ static struct dentry *ixgbe_dbg_root; ...@@ -10,15 +10,9 @@ static struct dentry *ixgbe_dbg_root;
static char ixgbe_dbg_reg_ops_buf[256] = ""; static char ixgbe_dbg_reg_ops_buf[256] = "";
/** static ssize_t ixgbe_dbg_common_ops_read(struct file *filp, char __user *buffer,
* ixgbe_dbg_reg_ops_read - read for reg_ops datum size_t count, loff_t *ppos,
* @filp: the opened file char *dbg_buf)
* @buffer: where to write the data for the user to read
* @count: the size of the user's buffer
* @ppos: file position offset
**/
static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer,
size_t count, loff_t *ppos)
{ {
struct ixgbe_adapter *adapter = filp->private_data; struct ixgbe_adapter *adapter = filp->private_data;
char *buf; char *buf;
...@@ -29,8 +23,7 @@ static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer, ...@@ -29,8 +23,7 @@ static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer,
return 0; return 0;
buf = kasprintf(GFP_KERNEL, "%s: %s\n", buf = kasprintf(GFP_KERNEL, "%s: %s\n",
adapter->netdev->name, adapter->netdev->name, dbg_buf);
ixgbe_dbg_reg_ops_buf);
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;
...@@ -45,6 +38,20 @@ static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer, ...@@ -45,6 +38,20 @@ static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer,
return len; return len;
} }
/**
* ixgbe_dbg_reg_ops_read - read for reg_ops datum
* @filp: the opened file
* @buffer: where to write the data for the user to read
* @count: the size of the user's buffer
* @ppos: file position offset
**/
static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer,
size_t count, loff_t *ppos)
{
return ixgbe_dbg_common_ops_read(filp, buffer, count, ppos,
ixgbe_dbg_reg_ops_buf);
}
/** /**
* ixgbe_dbg_reg_ops_write - write into reg_ops datum * ixgbe_dbg_reg_ops_write - write into reg_ops datum
* @filp: the opened file * @filp: the opened file
...@@ -121,33 +128,11 @@ static char ixgbe_dbg_netdev_ops_buf[256] = ""; ...@@ -121,33 +128,11 @@ static char ixgbe_dbg_netdev_ops_buf[256] = "";
* @count: the size of the user's buffer * @count: the size of the user's buffer
* @ppos: file position offset * @ppos: file position offset
**/ **/
static ssize_t ixgbe_dbg_netdev_ops_read(struct file *filp, static ssize_t ixgbe_dbg_netdev_ops_read(struct file *filp, char __user *buffer,
char __user *buffer,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct ixgbe_adapter *adapter = filp->private_data; return ixgbe_dbg_common_ops_read(filp, buffer, count, ppos,
char *buf; ixgbe_dbg_netdev_ops_buf);
int len;
/* don't allow partial reads */
if (*ppos != 0)
return 0;
buf = kasprintf(GFP_KERNEL, "%s: %s\n",
adapter->netdev->name,
ixgbe_dbg_netdev_ops_buf);
if (!buf)
return -ENOMEM;
if (count < strlen(buf)) {
kfree(buf);
return -ENOSPC;
}
len = simple_read_from_buffer(buffer, count, ppos, buf, strlen(buf));
kfree(buf);
return len;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment