Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 066433a6 authored by John W. Linville's avatar John W. Linville
Browse files
parents aa3c90b8 5a32aff3
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -240,13 +240,14 @@ static const struct ath_ops ath5k_common_ops = {
* Driver Initialization *
* Driver Initialization *
\***********************/
\***********************/


static int ath5k_reg_notifier(struct wiphy *wiphy, struct regulatory_request *request)
static void ath5k_reg_notifier(struct wiphy *wiphy,
			       struct regulatory_request *request)
{
{
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ath5k_hw *ah = hw->priv;
	struct ath5k_hw *ah = hw->priv;
	struct ath_regulatory *regulatory = ath5k_hw_regulatory(ah);
	struct ath_regulatory *regulatory = ath5k_hw_regulatory(ah);


	return ath_reg_notifier_apply(wiphy, request, regulatory);
	ath_reg_notifier_apply(wiphy, request, regulatory);
}
}


/********************\
/********************\
+5 −11
Original line number Original line Diff line number Diff line
@@ -3492,7 +3492,7 @@ void ath6kl_cfg80211_stop_all(struct ath6kl *ar)
		ath6kl_cfg80211_stop(vif);
		ath6kl_cfg80211_stop(vif);
}
}


static int ath6kl_cfg80211_reg_notify(struct wiphy *wiphy,
static void ath6kl_cfg80211_reg_notify(struct wiphy *wiphy,
				       struct regulatory_request *request)
				       struct regulatory_request *request)
{
{
	struct ath6kl *ar = wiphy_priv(wiphy);
	struct ath6kl *ar = wiphy_priv(wiphy);
@@ -3506,17 +3506,13 @@ static int ath6kl_cfg80211_reg_notify(struct wiphy *wiphy,
		   request->processed ? " processed" : "",
		   request->processed ? " processed" : "",
		   request->initiator, request->user_reg_hint_type);
		   request->initiator, request->user_reg_hint_type);


	/*
	 * As firmware is not able intersect regdoms, we can only listen to
	 * cellular hints.
	 */
	if (request->user_reg_hint_type != NL80211_USER_REG_HINT_CELL_BASE)
	if (request->user_reg_hint_type != NL80211_USER_REG_HINT_CELL_BASE)
		return -EOPNOTSUPP;
		return;


	ret = ath6kl_wmi_set_regdomain_cmd(ar->wmi, request->alpha2);
	ret = ath6kl_wmi_set_regdomain_cmd(ar->wmi, request->alpha2);
	if (ret) {
	if (ret) {
		ath6kl_err("failed to set regdomain: %d\n", ret);
		ath6kl_err("failed to set regdomain: %d\n", ret);
		return ret;
		return;
	}
	}


	/*
	/*
@@ -3536,10 +3532,8 @@ static int ath6kl_cfg80211_reg_notify(struct wiphy *wiphy,
	if (ret) {
	if (ret) {
		ath6kl_err("failed to start scan for a regdomain change: %d\n",
		ath6kl_err("failed to start scan for a regdomain change: %d\n",
			   ret);
			   ret);
		return ret;
		return;
	}
	}

	return 0;
}
}


static int ath6kl_cfg80211_vif_init(struct ath6kl_vif *vif)
static int ath6kl_cfg80211_vif_init(struct ath6kl_vif *vif)
+4 −4
Original line number Original line Diff line number Diff line
@@ -280,13 +280,13 @@ static int ath9k_init_htc_services(struct ath9k_htc_priv *priv, u16 devid,
	return ret;
	return ret;
}
}


static int ath9k_reg_notifier(struct wiphy *wiphy,
static void ath9k_reg_notifier(struct wiphy *wiphy,
			       struct regulatory_request *request)
			       struct regulatory_request *request)
{
{
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ath9k_htc_priv *priv = hw->priv;
	struct ath9k_htc_priv *priv = hw->priv;


	return ath_reg_notifier_apply(wiphy, request,
	ath_reg_notifier_apply(wiphy, request,
			       ath9k_hw_regulatory(priv->ah));
			       ath9k_hw_regulatory(priv->ah));
}
}


+3 −6
Original line number Original line Diff line number Diff line
@@ -303,16 +303,15 @@ static void setup_ht_cap(struct ath_softc *sc,
	ht_info->mcs.tx_params |= IEEE80211_HT_MCS_TX_DEFINED;
	ht_info->mcs.tx_params |= IEEE80211_HT_MCS_TX_DEFINED;
}
}


static int ath9k_reg_notifier(struct wiphy *wiphy,
static void ath9k_reg_notifier(struct wiphy *wiphy,
			       struct regulatory_request *request)
			       struct regulatory_request *request)
{
{
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ath_softc *sc = hw->priv;
	struct ath_softc *sc = hw->priv;
	struct ath_hw *ah = sc->sc_ah;
	struct ath_hw *ah = sc->sc_ah;
	struct ath_regulatory *reg = ath9k_hw_regulatory(ah);
	struct ath_regulatory *reg = ath9k_hw_regulatory(ah);
	int ret;


	ret = ath_reg_notifier_apply(wiphy, request, reg);
	ath_reg_notifier_apply(wiphy, request, reg);


	/* Set tx power */
	/* Set tx power */
	if (ah->curchan) {
	if (ah->curchan) {
@@ -322,8 +321,6 @@ static int ath9k_reg_notifier(struct wiphy *wiphy,
		sc->curtxpow = ath9k_hw_regulatory(ah)->power_limit;
		sc->curtxpow = ath9k_hw_regulatory(ah)->power_limit;
		ath9k_ps_restore(sc);
		ath9k_ps_restore(sc);
	}
	}

	return ret;
}
}


/*
/*
+3 −3
Original line number Original line Diff line number Diff line
@@ -1981,13 +1981,13 @@ static int carl9170_parse_eeprom(struct ar9170 *ar)
	return 0;
	return 0;
}
}


static int carl9170_reg_notifier(struct wiphy *wiphy,
static void carl9170_reg_notifier(struct wiphy *wiphy,
				  struct regulatory_request *request)
				  struct regulatory_request *request)
{
{
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
	struct ar9170 *ar = hw->priv;
	struct ar9170 *ar = hw->priv;


	return ath_reg_notifier_apply(wiphy, request, &ar->common.regulatory);
	ath_reg_notifier_apply(wiphy, request, &ar->common.regulatory);
}
}


int carl9170_register(struct ar9170 *ar)
int carl9170_register(struct ar9170 *ar)
Loading