OSDN Git Service

Update patches of wl driver
[android-x86/external-kernel-drivers.git] / wl / 003-linux47.patch
diff --git a/wl/003-linux47.patch b/wl/003-linux47.patch
new file mode 100644 (file)
index 0000000..566680a
--- /dev/null
@@ -0,0 +1,109 @@
+Since Linux 4.7, the enum ieee80211_band is no longer used
+
+This shall cause no problem's since both enums ieee80211_band
+and nl80211_band were added in the same commit:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
+
+This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
+
+Reference:
+https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
+
+--- a/src/wl/sys/wl_cfg80211_hybrid.c  2016-06-13 11:57:36.159340297 -0500
++++ b/src/wl/sys/wl_cfg80211_hybrid.c  2016-06-13 11:58:18.442323435 -0500
+@@ -236,7 +236,7 @@
+ #endif                                
+ #define CHAN2G(_channel, _freq, _flags) {                     \
+-      .band                   = IEEE80211_BAND_2GHZ,          \
++      .band                   = NL80211_BAND_2GHZ,            \
+       .center_freq            = (_freq),                      \
+       .hw_value               = (_channel),                   \
+       .flags                  = (_flags),                     \
+@@ -245,7 +245,7 @@
+ }
+ #define CHAN5G(_channel, _flags) {                            \
+-      .band                   = IEEE80211_BAND_5GHZ,          \
++      .band                   = NL80211_BAND_5GHZ,            \
+       .center_freq            = 5000 + (5 * (_channel)),      \
+       .hw_value               = (_channel),                   \
+       .flags                  = (_flags),                     \
+@@ -379,7 +379,7 @@
+ };
+ static struct ieee80211_supported_band __wl_band_2ghz = {
+-      .band = IEEE80211_BAND_2GHZ,
++      .band = NL80211_BAND_2GHZ,
+       .channels = __wl_2ghz_channels,
+       .n_channels = ARRAY_SIZE(__wl_2ghz_channels),
+       .bitrates = wl_g_rates,
+@@ -387,7 +387,7 @@
+ };
+ static struct ieee80211_supported_band __wl_band_5ghz_a = {
+-      .band = IEEE80211_BAND_5GHZ,
++      .band = NL80211_BAND_5GHZ,
+       .channels = __wl_5ghz_a_channels,
+       .n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
+       .bitrates = wl_a_rates,
+@@ -395,7 +395,7 @@
+ };
+ static struct ieee80211_supported_band __wl_band_5ghz_n = {
+-      .band = IEEE80211_BAND_5GHZ,
++      .band = NL80211_BAND_5GHZ,
+       .channels = __wl_5ghz_n_channels,
+       .n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
+       .bitrates = wl_a_rates,
+@@ -1876,8 +1876,8 @@
+       wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
+ #endif
+       wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
+-      wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
+-      wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a; 
++      wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
++      wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a; 
+       wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
+       wdev->wiphy->cipher_suites = __wl_cipher_suites;
+       wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
+@@ -2000,7 +2000,7 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
+       freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
+               (notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
+-              IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
++              NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
+ #else
+       freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
+ #endif
+@@ -2116,7 +2116,7 @@
+                               return err;
+                       }
+                       chan = wf_chspec_ctlchan(chanspec);
+-                      band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
++                      band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
+                       freq = ieee80211_channel_to_frequency(chan, band);
+                       channel = ieee80211_get_channel(wiphy, freq);
+                       cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
+@@ -2250,10 +2250,10 @@
+               join_params->params.chanspec_list[0] =
+                   ieee80211_frequency_to_channel(chan->center_freq);
+-              if (chan->band == IEEE80211_BAND_2GHZ) {
++              if (chan->band == NL80211_BAND_2GHZ) {
+                       chanspec |= WL_CHANSPEC_BAND_2G;
+               }
+-              else if (chan->band == IEEE80211_BAND_5GHZ) {
++              else if (chan->band == NL80211_BAND_5GHZ) {
+                       chanspec |= WL_CHANSPEC_BAND_5G;
+               }
+               else {
+@@ -2885,7 +2885,7 @@
+       if (phy == 'n' || phy == 'a' || phy == 'v') {
+               wiphy = wl_to_wiphy(wl);
+-              wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
++              wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
+       }
+       return err;