]> Pileus Git - ~andy/linux/commitdiff
iwlwifi: move debug_level to sysfs/bus/pci/devices
authorEster Kummer <ester.kummer@intel.com>
Tue, 6 May 2008 03:05:11 +0000 (11:05 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 14 May 2008 20:29:47 +0000 (16:29 -0400)
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>
drivers/net/wireless/iwlwifi/Kconfig
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-debug.h
drivers/net/wireless/iwlwifi/iwl4965-base.c

index cc0006900b30f31ba796f144885dfa0fee2950d1..193e48f3ed51fab3a4c1fff527167571b87e5c76 100644 (file)
@@ -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
index 7759e63b2bcfe7a0ffc70b508764538bbf05b048..27e56b89d940a0d0b54763386bf51afaec7e1c78 100644 (file)
@@ -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, \
index 14d95dd0e14d2a36e3b6d0c2f81a01a8be16f01b..2f24594c5feab2e04eb08da0749d5db3f64615b3 100644 (file)
@@ -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, \
index 45bbce7f66a4d4ba3e9aea5044f4bbb3038e455b..7902d90d58c0e6d055fab321f5f4844bf639f4d5 100644 (file)
@@ -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,13 +5983,14 @@ 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,
-                  show_debug_level, store_debug_level);
+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 @@ error_register:
 
 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();
 }