1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- --- a/include/linux/rt2x00_platform.h
- +++ b/include/linux/rt2x00_platform.h
- @@ -14,6 +14,9 @@
-
- struct rt2x00_platform_data {
- char *eeprom_file_name;
- +
- + int disable_2ghz;
- + int disable_5ghz;
- };
-
- #endif /* _RT2X00_PLATFORM_H */
- --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
- +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
- @@ -1023,6 +1023,22 @@ static int rt2x00lib_probe_hw_modes(stru
- unsigned int num_rates;
- unsigned int i;
-
- + if (rt2x00dev->dev->platform_data) {
- + struct rt2x00_platform_data *pdata;
- +
- + pdata = rt2x00dev->dev->platform_data;
- + if (pdata->disable_2ghz)
- + spec->supported_bands &= ~SUPPORT_BAND_2GHZ;
- + if (pdata->disable_5ghz)
- + spec->supported_bands &= ~SUPPORT_BAND_5GHZ;
- + }
- +
- + if ((spec->supported_bands & SUPPORT_BAND_BOTH) == 0) {
- + rt2x00_err(rt2x00dev, "No supported bands\n");
- + return -EINVAL;
- + }
- +
- +
- num_rates = 0;
- if (spec->supported_rates & SUPPORT_RATE_CCK)
- num_rates += 4;
- --- a/drivers/net/wireless/ralink/rt2x00/rt2x00.h
- +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00.h
- @@ -409,6 +409,7 @@ struct hw_mode_spec {
- unsigned int supported_bands;
- #define SUPPORT_BAND_2GHZ 0x00000001
- #define SUPPORT_BAND_5GHZ 0x00000002
- +#define SUPPORT_BAND_BOTH (SUPPORT_BAND_2GHZ | SUPPORT_BAND_5GHZ)
-
- unsigned int supported_rates;
- #define SUPPORT_RATE_CCK 0x00000001
|