diff mbox

ath9k: Allow platform override without EEPROM override

Message ID 1399447711-12441-1-git-send-email-helmut.schaa@googlemail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Helmut Schaa May 7, 2014, 7:28 a.m. UTC
Add a new platform data flag "use_eeprom" that indicates that the eeprom
found on the card itself should be used instead of the one present in
the platform data.

This allows to override the MAC address of a PCI card while preserving
the eeprom data from the card itself.

The default behavior is preserved.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
---
 drivers/net/wireless/ath/ath9k/init.c | 2 +-
 include/linux/ath9k_platform.h        | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Helmut Schaa May 8, 2014, 11:28 a.m. UTC | #1
On Wed, May 7, 2014 at 9:28 AM, Helmut Schaa
<helmut.schaa@googlemail.com> wrote:
> Add a new platform data flag "use_eeprom" that indicates that the eeprom
> found on the card itself should be used instead of the one present in
> the platform data.
>
> This allows to override the MAC address of a PCI card while preserving
> the eeprom data from the card itself.
>
> The default behavior is preserved.
>
> Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

John, please hold on this one. I'll send a v2.
Helmut
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index c99e50f..1af7708 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -508,7 +508,7 @@  static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
 	sc->tx99_power = MAX_RATE_POWER + 1;
 	init_waitqueue_head(&sc->tx_wait);
 
-	if (!pdata) {
+	if (!pdata || pdata->use_eeprom) {
 		ah->ah_flags |= AH_USE_EEPROM;
 		sc->sc_ah->led_pin = -1;
 	} else {
diff --git a/include/linux/ath9k_platform.h b/include/linux/ath9k_platform.h
index 8598f8e..a495a95 100644
--- a/include/linux/ath9k_platform.h
+++ b/include/linux/ath9k_platform.h
@@ -36,6 +36,8 @@  struct ath9k_platform_data {
 
 	int (*get_mac_revision)(void);
 	int (*external_reset)(void);
+
+	bool use_eeprom;
 };
 
 #endif /* _LINUX_ATH9K_PLATFORM_H */