ath9k: Allow configuration of LED polarity in platform data.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47910
This commit is contained in:
John Crispin 2015-12-17 09:27:24 +00:00
parent 4a4b0b82ec
commit 932bc8d5eb
3 changed files with 24 additions and 3 deletions

View File

@ -0,0 +1,20 @@
--- a/include/linux/ath9k_platform.h
+++ b/include/linux/ath9k_platform.h
@@ -36,6 +36,7 @@ struct ath9k_platform_data {
bool tx_gain_buffalo;
bool disable_2ghz;
bool disable_5ghz;
+ bool led_active_high;
int (*get_mac_revision)(void);
int (*external_reset)(void);
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -577,6 +577,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
ah->external_reset = pdata->external_reset;
ah->disable_2ghz = pdata->disable_2ghz;
ah->disable_5ghz = pdata->disable_5ghz;
+ ah->config.led_active_high = pdata->led_active_high;
if (!pdata->endian_check)
ah->ah_flags |= AH_NO_EEP_SWAP;
}

View File

@ -55,7 +55,7 @@
ops->spectral_scan_config = ar9003_hw_spectral_scan_config; ops->spectral_scan_config = ar9003_hw_spectral_scan_config;
--- a/drivers/net/wireless/ath/ath9k/init.c --- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -710,7 +710,8 @@ static void ath9k_init_txpower_limits(st @@ -711,7 +711,8 @@ static void ath9k_init_txpower_limits(st
if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ) if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
ath9k_init_band_txpower(sc, IEEE80211_BAND_5GHZ); ath9k_init_band_txpower(sc, IEEE80211_BAND_5GHZ);
@ -65,7 +65,7 @@
} }
static const struct ieee80211_iface_limit if_limits[] = { static const struct ieee80211_iface_limit if_limits[] = {
@@ -910,6 +911,18 @@ static void ath9k_set_hw_capab(struct at @@ -911,6 +912,18 @@ static void ath9k_set_hw_capab(struct at
SET_IEEE80211_PERM_ADDR(hw, common->macaddr); SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
} }
@ -84,7 +84,7 @@
int ath9k_init_device(u16 devid, struct ath_softc *sc, int ath9k_init_device(u16 devid, struct ath_softc *sc,
const struct ath_bus_ops *bus_ops) const struct ath_bus_ops *bus_ops)
{ {
@@ -955,6 +968,8 @@ int ath9k_init_device(u16 devid, struct @@ -956,6 +969,8 @@ int ath9k_init_device(u16 devid, struct
ARRAY_SIZE(ath9k_tpt_blink)); ARRAY_SIZE(ath9k_tpt_blink));
#endif #endif

View File

@ -36,6 +36,7 @@ struct ath9k_platform_data {
bool tx_gain_buffalo; bool tx_gain_buffalo;
bool disable_2ghz; bool disable_2ghz;
bool disable_5ghz; bool disable_5ghz;
bool led_active_high;
int (*get_mac_revision)(void); int (*get_mac_revision)(void);
int (*external_reset)(void); int (*external_reset)(void);