ath9k: move ath9k_spectral_scan_ from main.c to spectral.c
authorOleksij Rempel <linux@rempel-privat.de>
Thu, 6 Nov 2014 07:53:29 +0000 (08:53 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 11 Nov 2014 21:31:14 +0000 (16:31 -0500)
Now we should be ready to make this code common.

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/spectral.c

index 54e3e41a591c8dca055b209b514bf237b60d7d0e..1a88614eb73e6f1f2f5ccafcbd8f0a5b1f1e3515 100644 (file)
@@ -1337,76 +1337,6 @@ static void ath9k_disable_ps(struct ath_softc *sc)
        ath_dbg(common, PS, "PowerSave disabled\n");
 }
 
-void ath9k_spectral_scan_trigger(struct ath_common *common,
-                                struct ath_spec_scan_priv *spec_priv)
-{
-       struct ath_hw *ah = spec_priv->ah;
-       u32 rxfilter;
-
-       if (config_enabled(CONFIG_ATH9K_TX99))
-               return;
-
-       if (!ath9k_hw_ops(ah)->spectral_scan_trigger) {
-               ath_err(common, "spectrum analyzer not implemented on this hardware\n");
-               return;
-       }
-
-       ath_ps_ops(common)->wakeup(common);
-       rxfilter = ath9k_hw_getrxfilter(ah);
-       ath9k_hw_setrxfilter(ah, rxfilter |
-                                ATH9K_RX_FILTER_PHYRADAR |
-                                ATH9K_RX_FILTER_PHYERR);
-
-       /* TODO: usually this should not be neccesary, but for some reason
-        * (or in some mode?) the trigger must be called after the
-        * configuration, otherwise the register will have its values reset
-        * (on my ar9220 to value 0x01002310)
-        */
-       ath9k_spectral_scan_config(common, spec_priv, spec_priv->spectral_mode);
-       ath9k_hw_ops(ah)->spectral_scan_trigger(ah);
-       ath_ps_ops(common)->restore(common);
-}
-
-int ath9k_spectral_scan_config(struct ath_common *common,
-                              struct ath_spec_scan_priv *spec_priv,
-                              enum spectral_mode spectral_mode)
-{
-       struct ath_hw *ah = spec_priv->ah;
-
-       if (!ath9k_hw_ops(ah)->spectral_scan_trigger) {
-               ath_err(common, "spectrum analyzer not implemented on this hardware\n");
-               return -1;
-       }
-
-       switch (spectral_mode) {
-       case SPECTRAL_DISABLED:
-               spec_priv->spec_config.enabled = 0;
-               break;
-       case SPECTRAL_BACKGROUND:
-               /* send endless samples.
-                * TODO: is this really useful for "background"?
-                */
-               spec_priv->spec_config.endless = 1;
-               spec_priv->spec_config.enabled = 1;
-               break;
-       case SPECTRAL_CHANSCAN:
-       case SPECTRAL_MANUAL:
-               spec_priv->spec_config.endless = 0;
-               spec_priv->spec_config.enabled = 1;
-               break;
-       default:
-               return -1;
-       }
-
-       ath_ps_ops(common)->wakeup(common);
-       ath9k_hw_ops(ah)->spectral_scan_config(ah, &spec_priv->spec_config);
-       ath_ps_ops(common)->restore(common);
-
-       spec_priv->spectral_mode = spectral_mode;
-
-       return 0;
-}
-
 static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
 {
        struct ath_softc *sc = hw->priv;
index 756d63ea62053c164a8da8856fcd11b407bd7933..bf85740ab84b4989b9f4e89d661ca7819384358f 100644 (file)
@@ -234,6 +234,76 @@ static ssize_t read_file_spec_scan_ctl(struct file *file, char __user *user_buf,
        return simple_read_from_buffer(user_buf, count, ppos, mode, len);
 }
 
+void ath9k_spectral_scan_trigger(struct ath_common *common,
+                                struct ath_spec_scan_priv *spec_priv)
+{
+       struct ath_hw *ah = spec_priv->ah;
+       u32 rxfilter;
+
+       if (config_enabled(CONFIG_ATH9K_TX99))
+               return;
+
+       if (!ath9k_hw_ops(ah)->spectral_scan_trigger) {
+               ath_err(common, "spectrum analyzer not implemented on this hardware\n");
+               return;
+       }
+
+       ath_ps_ops(common)->wakeup(common);
+       rxfilter = ath9k_hw_getrxfilter(ah);
+       ath9k_hw_setrxfilter(ah, rxfilter |
+                                ATH9K_RX_FILTER_PHYRADAR |
+                                ATH9K_RX_FILTER_PHYERR);
+
+       /* TODO: usually this should not be neccesary, but for some reason
+        * (or in some mode?) the trigger must be called after the
+        * configuration, otherwise the register will have its values reset
+        * (on my ar9220 to value 0x01002310)
+        */
+       ath9k_spectral_scan_config(common, spec_priv, spec_priv->spectral_mode);
+       ath9k_hw_ops(ah)->spectral_scan_trigger(ah);
+       ath_ps_ops(common)->restore(common);
+}
+
+int ath9k_spectral_scan_config(struct ath_common *common,
+                              struct ath_spec_scan_priv *spec_priv,
+                              enum spectral_mode spectral_mode)
+{
+       struct ath_hw *ah = spec_priv->ah;
+
+       if (!ath9k_hw_ops(ah)->spectral_scan_trigger) {
+               ath_err(common, "spectrum analyzer not implemented on this hardware\n");
+               return -1;
+       }
+
+       switch (spectral_mode) {
+       case SPECTRAL_DISABLED:
+               spec_priv->spec_config.enabled = 0;
+               break;
+       case SPECTRAL_BACKGROUND:
+               /* send endless samples.
+                * TODO: is this really useful for "background"?
+                */
+               spec_priv->spec_config.endless = 1;
+               spec_priv->spec_config.enabled = 1;
+               break;
+       case SPECTRAL_CHANSCAN:
+       case SPECTRAL_MANUAL:
+               spec_priv->spec_config.endless = 0;
+               spec_priv->spec_config.enabled = 1;
+               break;
+       default:
+               return -1;
+       }
+
+       ath_ps_ops(common)->wakeup(common);
+       ath9k_hw_ops(ah)->spectral_scan_config(ah, &spec_priv->spec_config);
+       ath_ps_ops(common)->restore(common);
+
+       spec_priv->spectral_mode = spectral_mode;
+
+       return 0;
+}
+
 static ssize_t write_file_spec_scan_ctl(struct file *file,
                                        const char __user *user_buf,
                                        size_t count, loff_t *ppos)