mirror of https://gitee.com/openkylin/linux.git
iwlwifi: move debug_level to sysfs/bus/pci/devices
This patch ports the debug_level from sysfs/bus/pci/drivers/iwl4965 to /sys/class/net/wlanX/device/debug_level Signed-off-by: Ester Kummer <ester.kummer@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5d9276daa4
commit
8cf769c6dc
|
@ -97,13 +97,13 @@ config IWLWIFI_DEBUG
|
|||
control which debug output is sent to the kernel log by setting the
|
||||
value in
|
||||
|
||||
/sys/bus/pci/drivers/${DRIVER}/debug_level
|
||||
/sys/class/net/wlan0/device/debug_level
|
||||
|
||||
This entry will only exist if this option is enabled.
|
||||
|
||||
To set a value, simply echo an 8-byte hex value to the same file:
|
||||
|
||||
% echo 0x43fff > /sys/bus/pci/drivers/${DRIVER}/debug_level
|
||||
% echo 0x43fff > /sys/class/net/wlan0/device/debug_level
|
||||
|
||||
You can find the list of debug mask values in:
|
||||
drivers/net/wireless/iwlwifi/iwl-4965-debug.h
|
||||
|
|
|
@ -46,11 +46,6 @@ MODULE_VERSION(IWLWIFI_VERSION);
|
|||
MODULE_AUTHOR(DRV_COPYRIGHT);
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
u32 iwl_debug_level;
|
||||
EXPORT_SYMBOL(iwl_debug_level);
|
||||
#endif
|
||||
|
||||
#define IWL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np) \
|
||||
[IWL_RATE_##r##M_INDEX] = { IWL_RATE_##r##M_PLCP, \
|
||||
IWL_RATE_SISO_##s##M_PLCP, \
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#define __iwl_debug_h__
|
||||
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
extern u32 iwl_debug_level;
|
||||
#define IWL_DEBUG(level, fmt, args...) \
|
||||
do { if (priv->debug_level & (level)) \
|
||||
dev_printk(KERN_ERR, &(priv->hw->wiphy->dev), "%c %s " fmt, \
|
||||
|
|
|
@ -5963,13 +5963,18 @@ static int iwl4965_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *sk
|
|||
* See the level definitions in iwl for details.
|
||||
*/
|
||||
|
||||
static ssize_t show_debug_level(struct device_driver *d, char *buf)
|
||||
static ssize_t show_debug_level(struct device *d,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
return sprintf(buf, "0x%08X\n", iwl_debug_level);
|
||||
struct iwl_priv *priv = d->driver_data;
|
||||
|
||||
return sprintf(buf, "0x%08X\n", priv->debug_level);
|
||||
}
|
||||
static ssize_t store_debug_level(struct device_driver *d,
|
||||
static ssize_t store_debug_level(struct device *d,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
struct iwl_priv *priv = d->driver_data;
|
||||
char *p = (char *)buf;
|
||||
u32 val;
|
||||
|
||||
|
@ -5978,14 +5983,15 @@ static ssize_t store_debug_level(struct device_driver *d,
|
|||
printk(KERN_INFO DRV_NAME
|
||||
": %s is not in hex or decimal form.\n", buf);
|
||||
else
|
||||
iwl_debug_level = val;
|
||||
priv->debug_level = val;
|
||||
|
||||
return strnlen(buf, count);
|
||||
}
|
||||
|
||||
static DRIVER_ATTR(debug_level, S_IWUSR | S_IRUGO,
|
||||
static DEVICE_ATTR(debug_level, S_IWUSR | S_IRUGO,
|
||||
show_debug_level, store_debug_level);
|
||||
|
||||
|
||||
#endif /* CONFIG_IWLWIFI_DEBUG */
|
||||
|
||||
|
||||
|
@ -6431,6 +6437,9 @@ static struct attribute *iwl4965_sysfs_entries[] = {
|
|||
&dev_attr_status.attr,
|
||||
&dev_attr_temperature.attr,
|
||||
&dev_attr_tx_power.attr,
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
&dev_attr_debug_level.attr,
|
||||
#endif
|
||||
|
||||
NULL
|
||||
};
|
||||
|
@ -6817,13 +6826,6 @@ static int __init iwl4965_init(void)
|
|||
IWL_ERROR("Unable to initialize PCI module\n");
|
||||
goto error_register;
|
||||
}
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
ret = driver_create_file(&iwl_driver.driver, &driver_attr_debug_level);
|
||||
if (ret) {
|
||||
IWL_ERROR("Unable to create driver sysfs file\n");
|
||||
goto error_debug;
|
||||
}
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
|
||||
|
@ -6838,9 +6840,6 @@ static int __init iwl4965_init(void)
|
|||
|
||||
static void __exit iwl4965_exit(void)
|
||||
{
|
||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||
driver_remove_file(&iwl_driver.driver, &driver_attr_debug_level);
|
||||
#endif
|
||||
pci_unregister_driver(&iwl_driver);
|
||||
iwl4965_rate_control_unregister();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue