Commit 76e1f486 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

staging: wlags49_h2: remove sysfs file

The sysfs file in this driver is showing a raft of debugging values,
none of which belong in sysfs, let alone in a single sysfs file.  If
these really need to be described somewhere, they should go into
debugfs.

For now, just delete the sysfs file, which removes a bunch of files from
the tree.

Cc: Henk de Groot <pe1dnn@amsat.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 917ea9a3
......@@ -51,5 +51,3 @@ $(WLNAME)-y += wl_profile.o \
mmd.o \
hcf.o \
dhf.o
$(WLNAME)-$(CONFIG_SYSFS) += wl_sysfs.o
......@@ -99,7 +99,6 @@
#include <wl_main.h>
#include <wl_netdev.h>
#include <wl_cs.h>
#include <wl_sysfs.h>
/*******************************************************************************
......@@ -178,7 +177,6 @@ static void wl_adapter_detach(struct pcmcia_device *link)
wl_adapter_release(link);
if (dev) {
unregister_wlags_sysfs(dev);
unregister_netdev(dev);
wl_device_dealloc(dev);
}
......@@ -265,8 +263,6 @@ int wl_adapter_insert(struct pcmcia_device *link)
goto failed;
}
register_wlags_sysfs(dev);
printk(KERN_INFO "%s: Wireless, io_addr %#03lx, irq %d, mac_address"
" %pM\n", dev->name, dev->base_addr, dev->irq, dev->dev_addr);
......
......@@ -883,7 +883,6 @@ struct wl_private
int is_registered;
int is_handling_int;
int firmware_present;
bool sysfsCreated;
CFG_DRV_INFO_STRCT driverInfo;
CFG_IDENTITY_STRCT driverIdentity;
CFG_FW_IDENTITY_STRCT StationIdentity;
......
/*
* ex: sw=4
*/
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/if_arp.h>
#include <net/sock.h>
#include <linux/rtnetlink.h>
#include <linux/wireless.h>
#include <net/iw_handler.h>
#include <linux/sysfs.h>
#include <debug.h>
#include <hcf.h>
#include <hcfdef.h>
#include <wl_if.h>
#include <wl_internal.h>
#include <wl_util.h>
#include <wl_main.h>
#include <wl_wext.h>
#include <wl_priv.h>
static inline int dev_isalive(const struct net_device *dev)
{
return dev->reg_state == NETREG_REGISTERED;
}
/*
* empirically even if tallies are defined as 32 bits entities, only
* high 16 bits are relevant; low half is always zero. It means tallies
* are pretty much useless for traffic counting but at least give overview
* about where error come from
*/
static ssize_t show_tallies(struct device *d, struct device_attribute *attr,
char *buf)
{
struct net_device *dev = to_net_dev(d);
struct wl_private *lp = wl_priv(dev);
unsigned long flags;
CFG_HERMES_TALLIES_STRCT tallies;
ssize_t ret = -EINVAL;
rcu_read_lock();
if (dev_isalive(dev)) {
wl_lock(lp, &flags);
ret = wl_get_tallies(lp, &tallies);
if (ret == 0) {
wl_unlock(lp, &flags);
ret = snprintf(buf, PAGE_SIZE,
"TxUnicastFrames: %u\n"
"TxMulticastFrames: %u\n"
"TxFragments: %u\n"
"TxUnicastOctets: %u\n"
"TxMulticastOctets: %u\n"
"TxDeferredTransmissions: %u\n"
"TxSingleRetryFrames: %u\n"
"TxMultipleRetryFrames: %u\n"
"TxRetryLimitExceeded: %u\n"
"TxDiscards: %u\n"
"RxUnicastFrames: %u\n"
"RxMulticastFrames: %u\n"
"RxFragments: %u\n"
"RxUnicastOctets: %u\n"
"RxMulticastOctets: %u\n"
"RxFCSErrors: %u\n"
"RxDiscardsNoBuffer: %u\n"
"TxDiscardsWrongSA: %u\n"
"RxWEPUndecryptable: %u\n"
"RxMsgInMsgFragments: %u\n"
"RxMsgInBadMsgFragments: %u\n"
"RxDiscardsWEPICVError: %u\n"
"RxDiscardsWEPExcluded: %u\n"
,
(unsigned int)tallies.TxUnicastFrames,
(unsigned int)tallies.TxMulticastFrames,
(unsigned int)tallies.TxFragments,
(unsigned int)tallies.TxUnicastOctets,
(unsigned int)tallies.TxMulticastOctets,
(unsigned int)tallies.TxDeferredTransmissions,
(unsigned int)tallies.TxSingleRetryFrames,
(unsigned int)tallies.TxMultipleRetryFrames,
(unsigned int)tallies.TxRetryLimitExceeded,
(unsigned int)tallies.TxDiscards,
(unsigned int)tallies.RxUnicastFrames,
(unsigned int)tallies.RxMulticastFrames,
(unsigned int)tallies.RxFragments,
(unsigned int)tallies.RxUnicastOctets,
(unsigned int)tallies.RxMulticastOctets,
(unsigned int)tallies.RxFCSErrors,
(unsigned int)tallies.RxDiscardsNoBuffer,
(unsigned int)tallies.TxDiscardsWrongSA,
(unsigned int)tallies.RxWEPUndecryptable,
(unsigned int)tallies.RxMsgInMsgFragments,
(unsigned int)tallies.RxMsgInBadMsgFragments,
(unsigned int)tallies.RxDiscardsWEPICVError,
(unsigned int)tallies.RxDiscardsWEPExcluded);
} else {
wl_unlock( lp, &flags );
}
}
rcu_read_unlock();
return ret;
}
static DEVICE_ATTR(tallies, S_IRUGO, show_tallies, NULL);
static struct attribute *wlags_attrs[] = {
&dev_attr_tallies.attr,
NULL
};
static struct attribute_group wlags_group = {
.name = "wlags",
.attrs = wlags_attrs,
};
void register_wlags_sysfs(struct net_device *net)
{
struct device *dev = &(net->dev);
struct wl_private *lp = wl_priv(net);
int err;
err = sysfs_create_group(&dev->kobj, &wlags_group);
if (!err)
lp->sysfsCreated = true;
}
void unregister_wlags_sysfs(struct net_device *net)
{
struct device *dev = &(net->dev);
struct wl_private *lp = wl_priv(net);
if (lp->sysfsCreated)
sysfs_remove_group(&dev->kobj, &wlags_group);
}
#ifdef CONFIG_SYSFS
extern void register_wlags_sysfs(struct net_device *);
extern void unregister_wlags_sysfs(struct net_device *);
#else
static inline void register_wlags_sysfs(struct net_device *net) { }
static inline void unregister_wlags_sysfs(struct net_device *net) { }
#endif
......@@ -50,6 +50,3 @@ $(WLNAME)-y += wl_profile.o \
mmd.o \
hcf.o \
dhf.o
$(WLNAME)-$(CONFIG_SYSFS) += wl_sysfs.o
/* Use common source from wlags49_h2 */
#include "../wlags49_h2/wl_sysfs.c"
/* Use common source from wlags49_h2 */
#include "../wlags49_h2/wl_sysfs.h"
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