diff --git a/drivers/net/gianfar_sysfs.c b/drivers/net/gianfar_sysfs.c index aec9ab17a9a5884df180ac4e26ec59b3ec82185c..230878b9419053ee65621528d7710e3f74677f94 100644 --- a/drivers/net/gianfar_sysfs.c +++ b/drivers/net/gianfar_sysfs.c @@ -37,24 +37,6 @@ #include "gianfar.h" -#define GFAR_ATTR(_name) \ -static ssize_t gfar_show_##_name(struct device *dev, \ - struct device_attribute *attr, char *buf); \ -static ssize_t gfar_set_##_name(struct device *dev, \ - struct device_attribute *attr, \ - const char *buf, size_t count); \ -static DEVICE_ATTR(_name, 0644, gfar_show_##_name, gfar_set_##_name) - -#define GFAR_CREATE_FILE(_dev, _name) \ - device_create_file(&_dev->dev, &dev_attr_##_name) - -GFAR_ATTR(bd_stash); -GFAR_ATTR(rx_stash_size); -GFAR_ATTR(rx_stash_index); -GFAR_ATTR(fifo_threshold); -GFAR_ATTR(fifo_starve); -GFAR_ATTR(fifo_starve_off); - static ssize_t gfar_show_bd_stash(struct device *dev, struct device_attribute *attr, char *buf) { @@ -100,6 +82,8 @@ static ssize_t gfar_set_bd_stash(struct device *dev, return count; } +DEVICE_ATTR(bd_stash, 0644, gfar_show_bd_stash, gfar_set_bd_stash); + static ssize_t gfar_show_rx_stash_size(struct device *dev, struct device_attribute *attr, char *buf) { @@ -146,6 +130,9 @@ static ssize_t gfar_set_rx_stash_size(struct device *dev, return count; } +DEVICE_ATTR(rx_stash_size, 0644, gfar_show_rx_stash_size, + gfar_set_rx_stash_size); + /* Stashing will only be enabled when rx_stash_size != 0 */ static ssize_t gfar_show_rx_stash_index(struct device *dev, struct device_attribute *attr, @@ -184,6 +171,9 @@ static ssize_t gfar_set_rx_stash_index(struct device *dev, return count; } +DEVICE_ATTR(rx_stash_index, 0644, gfar_show_rx_stash_index, + gfar_set_rx_stash_index); + static ssize_t gfar_show_fifo_threshold(struct device *dev, struct device_attribute *attr, char *buf) @@ -219,6 +209,9 @@ static ssize_t gfar_set_fifo_threshold(struct device *dev, return count; } +DEVICE_ATTR(fifo_threshold, 0644, gfar_show_fifo_threshold, + gfar_set_fifo_threshold); + static ssize_t gfar_show_fifo_starve(struct device *dev, struct device_attribute *attr, char *buf) { @@ -253,6 +246,8 @@ static ssize_t gfar_set_fifo_starve(struct device *dev, return count; } +DEVICE_ATTR(fifo_starve, 0644, gfar_show_fifo_starve, gfar_set_fifo_starve); + static ssize_t gfar_show_fifo_starve_off(struct device *dev, struct device_attribute *attr, char *buf) @@ -288,9 +283,13 @@ static ssize_t gfar_set_fifo_starve_off(struct device *dev, return count; } +DEVICE_ATTR(fifo_starve_off, 0644, gfar_show_fifo_starve_off, + gfar_set_fifo_starve_off); + void gfar_init_sysfs(struct net_device *dev) { struct gfar_private *priv = netdev_priv(dev); + int rc; /* Initialize the default values */ priv->rx_stash_size = DEFAULT_STASH_LENGTH; @@ -301,11 +300,12 @@ void gfar_init_sysfs(struct net_device *dev) priv->bd_stash_en = DEFAULT_BD_STASH; /* Create our sysfs files */ - GFAR_CREATE_FILE(dev, bd_stash); - GFAR_CREATE_FILE(dev, rx_stash_size); - GFAR_CREATE_FILE(dev, rx_stash_index); - GFAR_CREATE_FILE(dev, fifo_threshold); - GFAR_CREATE_FILE(dev, fifo_starve); - GFAR_CREATE_FILE(dev, fifo_starve_off); - + rc = device_create_file(&dev->dev, &dev_attr_bd_stash); + rc |= device_create_file(&dev->dev, &dev_attr_rx_stash_size); + rc |= device_create_file(&dev->dev, &dev_attr_rx_stash_index); + rc |= device_create_file(&dev->dev, &dev_attr_fifo_threshold); + rc |= device_create_file(&dev->dev, &dev_attr_fifo_starve); + rc |= device_create_file(&dev->dev, &dev_attr_fifo_starve_off); + if (rc) + dev_err(&dev->dev, "Error creating gianfar sysfs files.\n"); }