]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/iwlwifi/iwl-led.c
iwlagn: bus layer chooses its transport layer
[karo-tx-linux.git] / drivers / net / wireless / iwlwifi / iwl-led.c
index 7c23beb49d7cd8ba66ef4e4d767c8e77386758df..4bc7389b1a6fb1dec55db8147cc1bb80ebef2b4f 100644 (file)
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/dma-mapping.h>
 #include <linux/delay.h>
 #include <linux/skbuff.h>
 #include <linux/netdevice.h>
-#include <linux/wireless.h>
 #include <net/mac80211.h>
 #include <linux/etherdevice.h>
 #include <asm/unaligned.h>
 
 #include "iwl-dev.h"
 #include "iwl-core.h"
+#include "iwl-agn.h"
 #include "iwl-io.h"
-
-/* default: IWL_LED_BLINK(0) using blinking index table */
-static int led_mode;
-module_param(led_mode, int, S_IRUGO);
-MODULE_PARM_DESC(led_mode, "0=system default, "
-               "1=On(RF On)/Off(RF Off), 2=blinking");
+#include "iwl-trans.h"
+#include "iwl-shared.h"
 
 /* Throughput          OFF time(ms)    ON time (ms)
  *     >300                    25              25
@@ -118,7 +112,7 @@ static int iwl_send_led_cmd(struct iwl_priv *priv, struct iwl_led_cmd *led_cmd)
        if (reg != (reg & CSR_LED_BSM_CTRL_MSK))
                iwl_write32(priv, CSR_LED_REG, reg & CSR_LED_BSM_CTRL_MSK);
 
-       return iwl_send_cmd(priv, &cmd);
+       return iwl_trans_send_cmd(trans(priv), &cmd);
 }
 
 /* Set led pattern command */
@@ -132,7 +126,7 @@ static int iwl_led_cmd(struct iwl_priv *priv,
        };
        int ret;
 
-       if (!test_bit(STATUS_READY, &priv->status))
+       if (!test_bit(STATUS_READY, &priv->shrd->status))
                return -EBUSY;
 
        if (priv->blink_on == on && priv->blink_off == off)
@@ -181,7 +175,7 @@ static int iwl_led_blink_set(struct led_classdev *led_cdev,
 
 void iwl_leds_init(struct iwl_priv *priv)
 {
-       int mode = led_mode;
+       int mode = iwlagn_mod_params.led_mode;
        int ret;
 
        if (mode == IWL_LED_DEFAULT)
@@ -209,7 +203,8 @@ void iwl_leds_init(struct iwl_priv *priv)
                break;
        }
 
-       ret = led_classdev_register(&priv->pci_dev->dev, &priv->led);
+       ret = led_classdev_register(priv->bus->dev,
+                                   &priv->led);
        if (ret) {
                kfree(priv->led.name);
                return;