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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
917ea9a3e1
Коммит
76e1f486b2
|
@ -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;
|
||||
|
|
|
@ -1,138 +0,0 @@
|
|||
/*
|
||||
* 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);
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
#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
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
/* Use common source from wlags49_h2 */
|
||||
#include "../wlags49_h2/wl_sysfs.c"
|
|
@ -1,2 +0,0 @@
|
|||
/* Use common source from wlags49_h2 */
|
||||
#include "../wlags49_h2/wl_sysfs.h"
|
Загрузка…
Ссылка в новой задаче