return ath9k_hw_private_ops(ah)->fast_chan_change(ah, chan,
                                                          ini_reloaded);
 }
+
+static inline void ath9k_hw_set_radar_params(struct ath_hw *ah)
+{
+       if (!ath9k_hw_private_ops(ah)->set_radar_params)
+               return;
+
+       ath9k_hw_private_ops(ah)->set_radar_params(ah, &ah->radar_conf);
+}
+
 #endif /* ATH9K_HW_OPS_H */
 
                return chip_chainmask;
 }
 
+/**
+ * ath9k_hw_dfs_tested - checks if DFS has been tested with used chipset
+ * @ah: the atheros hardware data structure
+ *
+ * We enable DFS support upstream on chipsets which have passed a series
+ * of tests. The testing requirements are going to be documented. Desired
+ * test requirements are documented at:
+ *
+ * http://wireless.kernel.org/en/users/Drivers/ath9k/dfs
+ *
+ * Once a new chipset gets properly tested an individual commit can be used
+ * to document the testing for DFS for that chipset.
+ */
+static bool ath9k_hw_dfs_tested(struct ath_hw *ah)
+{
+
+       switch (ah->hw_version.macVersion) {
+       /* AR9580 will likely be our first target to get testing on */
+       case AR_SREV_VERSION_9580:
+       default:
+               return false;
+       }
+}
+
 int ath9k_hw_fill_cap_info(struct ath_hw *ah)
 {
        struct ath9k_hw_capabilities *pCap = &ah->caps;
                pCap->pcie_lcr_offset = 0x80;
        }
 
+       if (ath9k_hw_dfs_tested(ah))
+               pCap->hw_caps |= ATH9K_HW_CAP_DFS;
+
        tx_chainmask = pCap->tx_chainmask;
        rx_chainmask = pCap->rx_chainmask;
        while (tx_chainmask || rx_chainmask) {
 
        ATH9K_HW_CAP_APM                        = BIT(15),
        ATH9K_HW_CAP_RTT                        = BIT(16),
        ATH9K_HW_CAP_MCI                        = BIT(17),
+       ATH9K_HW_CAP_DFS                        = BIT(18),
 };
 
 struct ath9k_hw_capabilities {